diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua index 73594ab..35d66bc 100644 --- a/lua/plugins/git.lua +++ b/lua/plugins/git.lua @@ -17,4 +17,16 @@ return { }, }, }, + { + 'dlvhdr/gh-addressed.nvim', + dependencies = { + 'nvim-lua/plenary.nvim', + 'MunifTanjim/nui.nvim', + 'folke/trouble.nvim', + }, + cmd = 'GhReviewComments', + keys = { + { 'gc', 'GhReviewComments', desc = 'GitHub Review Comments' }, + }, + }, } diff --git a/lua/plugins/lang.lua b/lua/plugins/lang.lua new file mode 100644 index 0000000..f1ae1aa --- /dev/null +++ b/lua/plugins/lang.lua @@ -0,0 +1,3 @@ +return { + { 'dmmulroy/ts-error-translator.nvim' }, +} diff --git a/lua/plugins/needful.lua b/lua/plugins/needful.lua new file mode 100644 index 0000000..4272633 --- /dev/null +++ b/lua/plugins/needful.lua @@ -0,0 +1,70 @@ +local opts = { + tasks = { + { + name = 'ripgrep current directory', + cmd = 'rg ${pattern} ${cwd}', + tags = { 'ripgrep', 'cwd', 'search', 'pattern' }, + ask = { + ['${pattern}'] = { + title = 'Pattern to use', + default = 'error', + }, + }, + window = { + name = 'Ripgrep', + close = false, + keep_current = true, + }, + }, + { + name = 'ast-grep current directory', + cmd = 'ast-grep -p "${pattern}" ${cwd}', + tags = { 'ripgrep', 'cwd', 'search', 'pattern' }, + ask = { + ['${pattern}'] = { + title = 'Pattern to use', + default = '', + }, + }, + window = { + name = 'ast-grep', + close = false, + }, + }, + }, + edit_mode = 'buffer', -- buffer, tab, split, vsplit + config_file = '.tasks.json', -- name of json config file for project/global config + config_order = { -- default: { project, global, opts }. Order in which + -- tasks are aggregated + 'project', -- .task.json in project directory + 'global', -- .tasks.json in stdpath('data') + 'opts', -- tasks defined in setup opts + }, + tag_source = true, -- display #project, #global, or #opt after tags + global_tokens = { + ['${cwd}'] = vim.fn.getcwd, + ['${do-the-needful}'] = 'please', + ['${projectname}'] = function() + return vim.fn.system 'basename $(git rev-parse --show-toplevel)' + end, + }, + ask_functions = { + get_cwd = function() + return vim.fn.getcwd() + end, + current_file = function() + return vim.fn.expand '%' + end, + }, +} + +return { + 'catgoose/do-the-needful.nvim', + event = 'BufReadPre', + keys = { + { 'np', [[Telescope do-the-needful please]], 'n' }, + { 'nn', [[Telescope do-the-needful]], 'n' }, + }, + dependencies = 'nvim-lua/plenary.nvim', + opts = opts, +}