feat: add window title for each of the actions

This commit is contained in:
Ade Attwood 2022-07-23 20:14:52 +01:00
parent 8ac1035d8a
commit 75d1c0d171
3 changed files with 8 additions and 5 deletions

View file

@ -59,12 +59,14 @@ Action can be run on selected candidates provide functionality
```lua ```lua
vim.ivy.run( vim.ivy.run(
-- The name given to the results window and displayed to the user
"Title",
-- Call back function to get all the candidates that will be displayed in -- Call back function to get all the candidates that will be displayed in
-- the results window, The `input` will be passed in, so you can filter -- the results window, The `input` will be passed in, so you can filter
-- your results with the value from the prompt -- your results with the value from the prompt
function(input) return { "One", "Two", Three } end, function(input) return { "One", "Two", Three } end,
-- Action callback that will be called on the completion or peek actions. -- Action callback that will be called on the completion or peek actions.
The currently selected item is passed in as the result. -- The currently selected item is passed in as the result.
function(result) vim.cmd("edit " .. result) end function(result) vim.cmd("edit " .. result) end
) )
``` ```

View file

@ -6,12 +6,13 @@ local controller = {}
controller.items = nil controller.items = nil
controller.callback = nil controller.callback = nil
controller.run = function(items, callback) controller.run = function(name, items, callback)
controller.callback = callback controller.callback = callback
controller.items = items controller.items = items
window.initialize() window.initialize()
window.set_items { "-- Loading ---" } window.set_items { "-- Loading ---" }
vim.api.nvim_buf_set_name(window.get_buffer(), name)
controller.input "" controller.input ""
end end

View file

@ -7,17 +7,17 @@ local libivy = require "ivy.libivy"
vim.ivy = controller vim.ivy = controller
vim.api.nvim_create_user_command("IvyAg", function() vim.api.nvim_create_user_command("IvyAg", function()
vim.ivy.run(utils.command_finder "ag", utils.vimgrep_action()) vim.ivy.run("AG", utils.command_finder "ag", utils.vimgrep_action())
end, { bang = true, desc = "Run ag to search for content in files" }) end, { bang = true, desc = "Run ag to search for content in files" })
vim.api.nvim_create_user_command("IvyFd", function() vim.api.nvim_create_user_command("IvyFd", function()
vim.ivy.run(function(term) vim.ivy.run("Files", function(term)
return libivy.ivy_files(term, vim.fn.getcwd()) return libivy.ivy_files(term, vim.fn.getcwd())
end, utils.file_action()) end, utils.file_action())
end, { bang = true, desc = "Find files in the project" }) end, { bang = true, desc = "Find files in the project" })
vim.api.nvim_create_user_command("IvyBuffers", function() vim.api.nvim_create_user_command("IvyBuffers", function()
vim.ivy.run(function(input) vim.ivy.run("Buffers", function(input)
local list = {} local list = {}
local buffers = vim.api.nvim_list_bufs() local buffers = vim.api.nvim_list_bufs()
for index = 1, #buffers do for index = 1, #buffers do