summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/builtin.lua49
-rw-r--r--lua/telescope/make_entry.lua2
-rw-r--r--lua/telescope/utils.lua4
3 files changed, 54 insertions, 1 deletions
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua
index c4b7cb2..1c3c629 100644
--- a/lua/telescope/builtin.lua
+++ b/lua/telescope/builtin.lua
@@ -56,6 +56,55 @@ builtin.git_files = function(opts)
}):find()
end
+builtin.commands = function()
+ pickers.new({}, {
+ prompt = 'Commands',
+ finder = finders.new_table {
+ results = (function()
+ local command_iter = vim.api.nvim_get_commands({})
+ local commands = {}
+
+ for _, cmd in pairs(command_iter) do
+ table.insert(commands, cmd)
+ end
+
+ return commands
+ end)(),
+ entry_maker = function(line)
+ return {
+ valid = line ~= "",
+ entry_type = make_entry.types.GENERIC,
+ value = line,
+ ordinal = line.name,
+ display = line.name
+ }
+ end
+ },
+ sorter = sorters.get_generic_fuzzy_sorter(),
+ attach_mappings = function(prompt_bufnr, map)
+ local run_command = function()
+ local selection = actions.get_selected_entry(prompt_bufnr)
+ actions.close(prompt_bufnr)
+ local val = selection.value
+ local cmd = string.format([[:%s ]], val.name)
+
+ if val.nargs == "0" then
+ vim.cmd(cmd)
+ else
+ vim.cmd [[stopinsert]]
+ vim.fn.feedkeys(cmd)
+ end
+
+ end
+
+ map('i', '<CR>', run_command)
+ map('n', '<CR>', run_command)
+
+ return true
+ end
+ }):find()
+end
+
builtin.live_grep = function(opts)
opts = opts or {}
diff --git a/lua/telescope/make_entry.lua b/lua/telescope/make_entry.lua
index 35fef98..3ae4de5 100644
--- a/lua/telescope/make_entry.lua
+++ b/lua/telescope/make_entry.lua
@@ -70,7 +70,7 @@ function make_entry.gen_from_file(opts)
entry_type = make_entry.types.FILE,
filename = line,
- path = cwd .. '/' .. line,
+ path = cwd .. utils.get_separator() .. line,
}
entry.display = make_display(line)
diff --git a/lua/telescope/utils.lua b/lua/telescope/utils.lua
index 6154889..fb7d48b 100644
--- a/lua/telescope/utils.lua
+++ b/lua/telescope/utils.lua
@@ -138,4 +138,8 @@ function utils.make_default_callable(f, default_opts)
})
end
+function utils.get_separator()
+ return package.config:sub(1, 1)
+end
+
return utils