From 3e4e1785c39ae255f008b742dd7e10f6b35c32f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Magalh=C3=A3es?= Date: Fri, 10 Nov 2023 20:53:12 -0300 Subject: [PATCH] Add TS filename refactoring. Add new file search alternative --- lua/core/keymaps/file-search.lua | 2 +- lua/core/keymaps/general.lua | 6 ++++++ lua/core/plugins/init.lua | 20 ++++++++++++++++++++ lua/core/plugins/lsp-file-operations.lua | 12 ++++++++++++ lua/core/setup/async/project-tree.lua | 1 + lua/core/setup/file-search.lua | 2 ++ 6 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 lua/core/plugins/lsp-file-operations.lua diff --git a/lua/core/keymaps/file-search.lua b/lua/core/keymaps/file-search.lua index 6b4ceeb7..076e3b8f 100644 --- a/lua/core/keymaps/file-search.lua +++ b/lua/core/keymaps/file-search.lua @@ -12,5 +12,5 @@ vim.keymap.set('n', 'K', require('telescope.builtin').grep_string, { desc = '[S] vim.keymap.set('n', '', fuzzyFindFiles, { desc = '[S]earch by [G]rep' }) vim.keymap.set('n', '', require('telescope.builtin').live_grep, { desc = '[S]earch Live Exact Match' }) vim.keymap.set('n', 'sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) -vim.keymap.set('n', 'sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) +vim.keymap.set('n', '', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) vim.keymap.set('n', 'sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) diff --git a/lua/core/keymaps/general.lua b/lua/core/keymaps/general.lua index 755647b2..90ec520a 100644 --- a/lua/core/keymaps/general.lua +++ b/lua/core/keymaps/general.lua @@ -8,6 +8,7 @@ vim.keymap.set({ 'n', 'v' }, '', '', { silent = true }) vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) + -- Stop yanking on paste vim.keymap.set('x', 'p', 'P') @@ -32,6 +33,11 @@ end vim.keymap.set("n", "", nohClear, { silent = true }) vim.keymap.set("n", "", nohClear, { silent = true }) +local opts = { noremap = true, silent = true } + +vim.api.nvim_set_keymap("n", "nf", ":lua require('neogen').generate({ type = 'func' })", opts) + + --[[ NOTE To use Meta key as Option in mac inside iterm it should be set to work as +ESC in iterm settings diff --git a/lua/core/plugins/init.lua b/lua/core/plugins/init.lua index c7359615..c5bb8cdf 100644 --- a/lua/core/plugins/init.lua +++ b/lua/core/plugins/init.lua @@ -64,6 +64,24 @@ local plugins = { end, }, + -- JSDoc + { + "danymat/neogen", + dependencies = "nvim-treesitter/nvim-treesitter", + config = true, + -- Uncomment next line if you want to follow only stable versions + version = "*", + opts = { + languages = { + typescript = { + template = { + annotation_convention = "jsdoc", + }, + }, + } + } + }, + --[[ { -- Theme inspired by Atom @@ -147,6 +165,8 @@ local plugins = { require 'core.plugins.nvim-ufo', require 'kickstart.plugins.autoformat', + + require 'core.plugins.lsp-file-operations', } local pluginOptions = {} diff --git a/lua/core/plugins/lsp-file-operations.lua b/lua/core/plugins/lsp-file-operations.lua new file mode 100644 index 00000000..3fd2dbba --- /dev/null +++ b/lua/core/plugins/lsp-file-operations.lua @@ -0,0 +1,12 @@ +return { + { + "antosha417/nvim-lsp-file-operations", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-neo-tree/neo-tree.nvim", + }, + config = function() + require("lsp-file-operations").setup() + end, + }, +} diff --git a/lua/core/setup/async/project-tree.lua b/lua/core/setup/async/project-tree.lua index 829de31a..56b87948 100644 --- a/lua/core/setup/async/project-tree.lua +++ b/lua/core/setup/async/project-tree.lua @@ -11,6 +11,7 @@ return function() pattern = "NvimTreeSetup", callback = function(data) on_attach(data.buf) + require("lsp-file-operations").setup() end, }) diff --git a/lua/core/setup/file-search.lua b/lua/core/setup/file-search.lua index 5f5667e6..93889a0c 100644 --- a/lua/core/setup/file-search.lua +++ b/lua/core/setup/file-search.lua @@ -9,6 +9,8 @@ require('telescope').setup { [''] = false, }, }, + file_ignore_patterns = { ".git/", ".cache", "%.o", "%.a", "%.out", "%.class", + "%.pdf", "%.mkv", "%.mp4", "%.zip" }, }, }