Page MenuHomePhorge

No OneTemporary

diff --git a/lua/ivy/backends/rg.lua b/lua/ivy/backends/rg.lua
new file mode 100644
index 0000000..56d9921
--- /dev/null
+++ b/lua/ivy/backends/rg.lua
@@ -0,0 +1,12 @@
+local utils = require "ivy.utils"
+
+local rg = {
+ name = "RG",
+ command = "IvyRg",
+ description = "Run ripgrep to search for content in files",
+ keymap = "<leader>/",
+ items = utils.command_finder "rg --vimgrep --",
+ callback = utils.vimgrep_action(),
+}
+
+return rg
diff --git a/plugin/ivy.lua b/plugin/ivy.lua
index 2834681..a3a670e 100644
--- a/plugin/ivy.lua
+++ b/plugin/ivy.lua
@@ -1,34 +1,40 @@
local controller = require "ivy.controller"
-- Put the controller in to the vim global so we can access it in mappings
-- better without requires. You can call controller commands like `vim.ivy.xxx`.
-- luacheck: ignore
vim.ivy = controller
local register_backend = function(backend)
assert(backend.command, "The backend must have a command")
assert(backend.items, "The backend must have a items function")
assert(backend.callback, "The backend must have a callback function")
local user_command_options = { bang = true }
if backend.description ~= nil then
user_command_options.desc = backend.description
end
local name = backend.name or backend.command
vim.api.nvim_create_user_command(backend.command, function()
vim.ivy.run(name, backend.items, backend.callback)
end, user_command_options)
if backend.keymap ~= nil then
vim.api.nvim_set_keymap("n", backend.keymap, "<cmd>" .. backend.command .. "<CR>", { nowait = true, silent = true })
end
end
register_backend(require "ivy.backends.ag")
register_backend(require "ivy.backends.buffers")
register_backend(require "ivy.backends.files")
register_backend(require "ivy.backends.lines")
register_backend(require "ivy.backends.lsp-workspace-symbols")
+if vim.fn.executable "rg" then
+ register_backend(require "ivy.backends.rg")
+elseif vim.fn.executable "ag" then
+ register_backend(require "ivy.backends.ag")
+end
+
vim.cmd "highlight IvyMatch cterm=bold gui=bold"

File Metadata

Mime Type
text/x-diff
Expires
Fri, May 8, 4:59 PM (1 w, 12 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
8934
Default Alt Text
(2 KB)

Event Timeline