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', '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 = '*' })