Files
dotfiles/nvim/lua/custom_commands.lua
FaultyBranches c3fad7d51f feat: Adding in several flags for neovim's calling of luarocks to
prevent the need for environment configuration to install/use
tree-sitter.
2026-06-08 21:03:11 -05:00

24 lines
1.3 KiB
Lua

vim.api.nvim_create_user_command('FindAndReplace', function(opts)
-- Update each quickfix location using substitute, update the files to save changes, close the opened buffers and close the quickfix window
-- TODO: Does not close the buffers opened through changes
vim.api.nvim_command(string.format('cfdo s/%s/%s/gc', opts.fargs[1], opts.fargs[2]) .. '| update | cclose')
end, { nargs = '*' })
-- Installs tree-sitter plugins for languages from the luarocks repo
-- Takes a space separated list of arguments of language names, tacks them onto the tree-sitter- package names and runs the install
-- NOTE: luarocks does not take a list of package ("rock") names and requires this setup to install one at a time
vim.api.nvim_create_user_command('TreeSitterInstall', function(opts)
for index, value in ipairs(opts.fargs) do
if index > 0 then
local result = vim.system({ 'luarocks', '--local', '--lua-version', '5.1', 'install', 'tree-sitter-' .. value }, { text = true }):wait()
if result.code == 0 then
print('Completed install of tree-sitter-' .. value)
else
print('Failed to install tree-sitter-' .. value)
print(result.stdout)
end
end
end
end, { nargs = '*' })