Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F132371
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
Mime Type
text/x-diff
Expires
Mon, May 18, 6:25 AM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
8934
Default Alt Text
(2 KB)
Attached To
Mode
R1 ivy.nvim
Attached
Detach File
Event Timeline
Log In to Comment