summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin.lua65
-rw-r--r--lua/telescope/sorters.lua7
2 files changed, 60 insertions, 12 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua
index 0819bea..794f5b0 100644
--- a/lua/telescope/builtin.lua
+++ b/lua/telescope/builtin.lua
@@ -103,7 +103,7 @@ builtin.lsp_references = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts),
},
previewer = previewers.qflist.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -134,7 +134,7 @@ builtin.lsp_document_symbols = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts)
},
previewer = previewers.vim_buffer.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -166,7 +166,7 @@ builtin.lsp_workspace_symbols = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts)
},
previewer = previewers.qflist.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -184,7 +184,7 @@ builtin.quickfix = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts),
},
previewer = previewers.qflist.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -207,7 +207,7 @@ builtin.loclist = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts),
},
previewer = previewers.qflist.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -228,7 +228,7 @@ builtin.grep_string = function(opts)
opts
),
previewer = previewers.vimgrep.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -259,7 +259,7 @@ builtin.command_history = function(opts)
pickers.new(opts, {
prompt = 'Command History',
finder = finders.new_table(results),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
attach_mappings = function(_, map)
map('i', '<CR>', actions.set_command_line)
@@ -307,7 +307,7 @@ builtin.builtin = function(opts)
entry_maker = make_entry.gen_from_quickfix(opts),
},
previewer = previewers.qflist.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -350,7 +350,10 @@ end
-- Leave this alias around for people.
builtin.fd = builtin.find_files
--- TODO: This is partially broken, but I think it might be an nvim bug.
+-- TODO: Sometimes some window options (for me, I've experience number & relativenumber)
+-- don't work when we open this up.
+-- I think it has something to do with nvim_open_win and style='minimal',
+-- but I can't figure that part out at the moment...
builtin.buffers = function(opts)
opts = opts or {}
@@ -368,7 +371,7 @@ builtin.buffers = function(opts)
entry_maker = make_entry.gen_from_buffer(opts)
},
previewer = previewers.vim_buffer.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -426,7 +429,7 @@ builtin.treesitter = function(opts)
entry_maker = make_entry.gen_from_treesitter(opts)
},
previewer = previewers.vim_buffer.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
}):find()
end
@@ -459,7 +462,7 @@ builtin.planets = function(opts)
end
},
previewer = previewers.cat.new(opts),
- sorter = sorters.get_norcalli_sorter(),
+ sorter = sorters.get_generic_fuzzy_sorter(),
attach_mappings = function(prompt_bufnr, map)
map('i', '<CR>', function()
local selection = actions.get_selected_entry(prompt_bufnr)
@@ -471,4 +474,42 @@ builtin.planets = function(opts)
}:find()
end
+builtin.current_buffer_fuzzy_find = function(opts)
+ local lines = vim.api.nvim_buf_get_lines(0, 0, -1, false)
+ local lines_with_numbers = {}
+ for k, v in ipairs(lines) do
+ table.insert(lines_with_numbers, {k, v})
+ end
+
+ pickers.new(opts, {
+ prompt = 'Current Buffer Fuzzy',
+ finder = finders.new_table {
+ results = lines_with_numbers,
+ entry_maker = function(enumerated_line)
+ return {
+ display = enumerated_line[2],
+ ordinal = enumerated_line[2],
+
+ lnum = enumerated_line[1],
+ }
+ end
+ },
+ sorter = sorters.get_generic_fuzzy_sorter(),
+ attach_mappings = function(prompt_bufnr, map)
+ local goto_line = function()
+ local selection = actions.get_selected_entry(prompt_bufnr)
+ actions.close(prompt_bufnr)
+
+ vim.api.nvim_win_set_cursor(0, {selection.lnum, 0})
+ vim.cmd [[stopinsert]]
+ end
+
+ map('n', '<CR>', goto_line)
+ map('i', '<CR>', goto_line)
+
+ return true
+ end
+ }):find()
+end
+
return builtin
diff --git a/lua/telescope/sorters.lua b/lua/telescope/sorters.lua
index 474bdff..9e17cf2 100644
--- a/lua/telescope/sorters.lua
+++ b/lua/telescope/sorters.lua
@@ -208,6 +208,13 @@ sorters.get_fuzzy_file = function(opts)
end
sorters.get_norcalli_sorter = function()
+ vim.api.nvim_err_writeln(
+ "get_norcalli_sorter() is changed to get_generic_fuzzy_sorter()"
+ )
+ return sorters.get_generic_fuzzy_sorter()
+end
+
+sorters.get_generic_fuzzy_sorter = function()
local ngramlen = 2
local cached_ngrams = {}