From c125deea923bcc4268b3ce25d6a29c6940748d7a Mon Sep 17 00:00:00 2001 From: Christopher Williams Date: Sat, 31 Aug 2024 16:36:19 -0400 Subject: [PATCH] Start moving plugins to separate files - Add treesitter injection for EOF (heredoc) strings within bash scripts --- lazy-lock.json | 13 +-- lua/plugin/lsp-plugins.lua | 58 ++++++++++++ lua/plugin/ui-plugins.lua | 113 ++++++++++++++++++++++ lua/plugins.lua | 181 +----------------------------------- queries/bash/injections.scm | 30 ++++++ 5 files changed, 207 insertions(+), 188 deletions(-) create mode 100644 lua/plugin/lsp-plugins.lua create mode 100644 lua/plugin/ui-plugins.lua create mode 100644 queries/bash/injections.scm diff --git a/lazy-lock.json b/lazy-lock.json index e6b27dd..f173541 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -5,15 +5,8 @@ "auto-session": { "branch": "main", "commit": "8c282a5faccfd2f8c9ed8a81e280ef405555bc62" }, "blame.nvim": { "branch": "main", "commit": "cfc4385d979c7e21a5c7e237c391be0948c5ee95" }, "bookmarks.nvim": { "branch": "main", "commit": "67610c62c8bb9b7799afd8a307b8727143bc097b" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp-vsnip": { "branch": "main", "commit": "989a8a73c44e926199bfd05fa7a516d51f2d2752" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "conform.nvim": { "branch": "master", "commit": "62eba813b7501b39612146cbf29cd07f1d4ac29c" }, - "copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" }, "dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "distant.nvim": { "branch": "v0.3", "commit": "823267cf3b77cf9a7ae28454926eabc18fec1ba0" }, @@ -31,13 +24,11 @@ "hlsearch.nvim": { "branch": "main", "commit": "fdeb60b890d15d9194e8600042e5232ef8c29b0e" }, "hop.nvim": { "branch": "master", "commit": "8f51ef02700bb3cdcce94e92eff16170a6343c4f" }, "hurl.nvim": { "branch": "main", "commit": "c02e58be1e3941c1ee06c8cf15affaf3f740a26e" }, - "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, + "img-clip.nvim": { "branch": "main", "commit": "28a32d811d69042f4fa5c3d5fa35571df2bc1623" }, "indent-blankline.nvim": { "branch": "master", "commit": "db926997af951da38e5004ec7b9fbdc480b48f5d" }, "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, - "lspsaga.nvim": { "branch": "main", "commit": "4ce44df854f447cf0a8972e5387b3aeb5efc798b" }, "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" }, "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "482350b050bd413931c2cdd4857443c3da7d57cb" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "maximize.nvim": { "branch": "master", "commit": "d688b66344b03ee6e5a32a0a40af85d174490af8" }, "mdeval.nvim": { "branch": "master", "commit": "2c32e2f3e7d8f222e7a4724989f218d036e1081d" }, @@ -50,7 +41,6 @@ "nightfox.nvim": { "branch": "main", "commit": "d3e8b1acc095baf57af81bb5e89fe7c4359eb619" }, "noice.nvim": { "branch": "main", "commit": "448bb9c524a7601035449210838e374a30153172" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, - "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-dap": { "branch": "master", "commit": "281a2e4cd1e7a17cea7ecb1745d84a8ab1249925" }, "nvim-java": { "branch": "main", "commit": "b3174e41ab51867123d8663eced53b33f1548522" }, @@ -97,7 +87,6 @@ "trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-visual-multi": { "branch": "master", "commit": "38b0e8d94a5499ccc17d6159763d32c79f53417b" }, - "vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" }, "which-key.nvim": { "branch": "main", "commit": "6c1584eb76b55629702716995cca4ae2798a9cca" }, "yankbank-nvim": { "branch": "main", "commit": "e93fd66c24450c0e7697b47b82271a78ae89b5d8" }, "yeet.nvim": { "branch": "master", "commit": "928a7526bfe72baf52806c40e6c6a57a60132d9d" } diff --git a/lua/plugin/lsp-plugins.lua b/lua/plugin/lsp-plugins.lua new file mode 100644 index 0000000..ef82030 --- /dev/null +++ b/lua/plugin/lsp-plugins.lua @@ -0,0 +1,58 @@ +return { + -- LSP + 'williamboman/mason.nvim', + 'williamboman/mason-lspconfig.nvim', + 'neovim/nvim-lspconfig', + { + 'nvimdev/lspsaga.nvim', + config = function() + require('lspsaga').setup({ + lightbulb = { + enable = true, + sign = true, + virtual_text = false, + }, + }) + end, + dependencies = { + 'nvim-treesitter/nvim-treesitter', + 'nvim-tree/nvim-web-devicons' + }, + }, + { + "zbirenbaum/copilot.lua", + cmd = "Copilot", + event = "InsertEnter", + config = function() + require("copilot").setup({ + panel = { + enabled = true, + auto_refresh = true, + }, + suggestion = { + enabled = true, + auto_trigger = true, + accept = false, -- disable built-in keymapping + }, + filetypes = { + markdown = true, + yaml = true + } + }) + end, + }, + 'hrsh7th/nvim-cmp', + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-nvim-lua', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'hrsh7th/cmp-vsnip', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-buffer', + 'hrsh7th/vim-vsnip', + { + "smjonas/inc-rename.nvim", + config = function() + require("inc_rename").setup() + end, + }, +} diff --git a/lua/plugin/ui-plugins.lua b/lua/plugin/ui-plugins.lua new file mode 100644 index 0000000..08179f1 --- /dev/null +++ b/lua/plugin/ui-plugins.lua @@ -0,0 +1,113 @@ +return { + { + 'nvim-lualine/lualine.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + component_separators = { left = '', right = '' }, + section_separators = { left = '', right = '' }, + disabled_filetypes = { + statusline = {}, + winbar = {}, + 'sagaoutline', + 'neo-tree' + }, + ignore_focus = {}, + always_divide_middle = false, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {}, + } + end + }, + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended + "MunifTanjim/nui.nvim", + -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information + } + }, + { + 'lewis6991/satellite.nvim' + }, + ---@module "neominimap.config.meta" + { + "Isrothy/neominimap.nvim", + version = "v3.*.*", + enabled = true, + lazy = false, -- NOTE: NO NEED to Lazy load + -- TODO: Move these to the mappings file + keys = { + -- Global Minimap Controls + { "nm", "Neominimap toggle", desc = "Toggle global minimap" }, + { "no", "Neominimap on", desc = "Enable global minimap" }, + { "nc", "Neominimap off", desc = "Disable global minimap" }, + { "nr", "Neominimap refresh", desc = "Refresh global minimap" }, + + -- Window-Specific Minimap Controls + { "nwt", "Neominimap winToggle", desc = "Toggle minimap for current window" }, + { "nwr", "Neominimap winRefresh", desc = "Refresh minimap for current window" }, + { "nwo", "Neominimap winOn", desc = "Enable minimap for current window" }, + { "nwc", "Neominimap winOff", desc = "Disable minimap for current window" }, + + -- Tab-Specific Minimap Controls + { "ntt", "Neominimap tabToggle", desc = "Toggle minimap for current tab" }, + { "ntr", "Neominimap tabRefresh", desc = "Refresh minimap for current tab" }, + { "nto", "Neominimap tabOn", desc = "Enable minimap for current tab" }, + { "ntc", "Neominimap tabOff", desc = "Disable minimap for current tab" }, + + -- Buffer-Specific Minimap Controls + { "nbt", "Neominimap bufToggle", desc = "Toggle minimap for current buffer" }, + { "nbr", "Neominimap bufRefresh", desc = "Refresh minimap for current buffer" }, + { "nbo", "Neominimap bufOn", desc = "Enable minimap for current buffer" }, + { "nbc", "Neominimap bufOff", desc = "Disable minimap for current buffer" }, + + ---Focus Controls + { "nf", "Neominimap focus", desc = "Focus on minimap" }, + { "nu", "Neominimap unfocus", desc = "Unfocus minimap" }, + { "ns", "Neominimap toggleFocus", desc = "Switch focus on minimap" }, + }, + init = function() + -- The following options are recommended when layout == "float" + vim.opt.wrap = false + vim.opt.sidescrolloff = 36 -- Set a large value + + --- Put your configuration here + ---@type Neominimap.UserConfig + vim.g.neominimap = { + auto_enable = true, + } + end, + }, + 'nvim-tree/nvim-web-devicons', + { + 'norcalli/nvim-colorizer.lua', + config = function() + require('colorizer').setup() + end + }, + 'navarasu/onedark.nvim', + { + -- Hides the highlight after searching and going into insert mode + 'nvimdev/hlsearch.nvim', + event = { "BufRead" }, + config = function() + require('hlsearch').setup() + end + }, + +} diff --git a/lua/plugins.lua b/lua/plugins.lua index 10bbdfa..08ffb50 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -1,3 +1,6 @@ +local lsp_plugins = require 'plugin.lsp-plugins' +local ui_plugins = require 'plugin.ui-plugins' + return { -- Themes { @@ -5,173 +8,8 @@ return { lazy = false, priority = 1000, }, - - -- LSP - 'williamboman/mason.nvim', - 'williamboman/mason-lspconfig.nvim', - 'neovim/nvim-lspconfig', - { - 'nvimdev/lspsaga.nvim', - config = function() - require('lspsaga').setup({ - lightbulb = { - enable = true, - sign = true, - virtual_text = false, - }, - }) - end, - dependencies = { - 'nvim-treesitter/nvim-treesitter', - 'nvim-tree/nvim-web-devicons' - }, - }, - { - "zbirenbaum/copilot.lua", - cmd = "Copilot", - event = "InsertEnter", - config = function() - require("copilot").setup({ - panel = { - enabled = true, - auto_refresh = true, - }, - suggestion = { - enabled = true, - auto_trigger = true, - accept = false, -- disable built-in keymapping - }, - filetypes = { - markdown = true, - yaml = true - } - }) - end, - }, - 'hrsh7th/nvim-cmp', - 'hrsh7th/cmp-nvim-lsp', - 'hrsh7th/cmp-nvim-lua', - 'hrsh7th/cmp-nvim-lsp-signature-help', - 'hrsh7th/cmp-vsnip', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-buffer', - 'hrsh7th/vim-vsnip', - { - "smjonas/inc-rename.nvim", - config = function() - require("inc_rename").setup() - end, - }, - { - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - config = function() - require('lualine').setup { - options = { - icons_enabled = true, - theme = 'auto', - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - disabled_filetypes = { - statusline = {}, - winbar = {}, - 'sagaoutline', - 'neo-tree' - }, - ignore_focus = {}, - always_divide_middle = false, - globalstatus = false, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - } - }, - tabline = {}, - winbar = {}, - inactive_winbar = {}, - extensions = {}, - } - end - }, - { - "nvim-neo-tree/neo-tree.nvim", - branch = "v3.x", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended - "MunifTanjim/nui.nvim", - -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information - } - }, - { - 'lewis6991/satellite.nvim' - }, - ---@module "neominimap.config.meta" - { - "Isrothy/neominimap.nvim", - version = "v3.*.*", - enabled = true, - lazy = false, -- NOTE: NO NEED to Lazy load - -- TODO: Move these to the mappings file - keys = { - -- Global Minimap Controls - { "nm", "Neominimap toggle", desc = "Toggle global minimap" }, - { "no", "Neominimap on", desc = "Enable global minimap" }, - { "nc", "Neominimap off", desc = "Disable global minimap" }, - { "nr", "Neominimap refresh", desc = "Refresh global minimap" }, - - -- Window-Specific Minimap Controls - { "nwt", "Neominimap winToggle", desc = "Toggle minimap for current window" }, - { "nwr", "Neominimap winRefresh", desc = "Refresh minimap for current window" }, - { "nwo", "Neominimap winOn", desc = "Enable minimap for current window" }, - { "nwc", "Neominimap winOff", desc = "Disable minimap for current window" }, - - -- Tab-Specific Minimap Controls - { "ntt", "Neominimap tabToggle", desc = "Toggle minimap for current tab" }, - { "ntr", "Neominimap tabRefresh", desc = "Refresh minimap for current tab" }, - { "nto", "Neominimap tabOn", desc = "Enable minimap for current tab" }, - { "ntc", "Neominimap tabOff", desc = "Disable minimap for current tab" }, - - -- Buffer-Specific Minimap Controls - { "nbt", "Neominimap bufToggle", desc = "Toggle minimap for current buffer" }, - { "nbr", "Neominimap bufRefresh", desc = "Refresh minimap for current buffer" }, - { "nbo", "Neominimap bufOn", desc = "Enable minimap for current buffer" }, - { "nbc", "Neominimap bufOff", desc = "Disable minimap for current buffer" }, - - ---Focus Controls - { "nf", "Neominimap focus", desc = "Focus on minimap" }, - { "nu", "Neominimap unfocus", desc = "Unfocus minimap" }, - { "ns", "Neominimap toggleFocus", desc = "Switch focus on minimap" }, - }, - init = function() - -- The following options are recommended when layout == "float" - vim.opt.wrap = false - vim.opt.sidescrolloff = 36 -- Set a large value - - --- Put your configuration here - ---@type Neominimap.UserConfig - vim.g.neominimap = { - auto_enable = true, - } - end, - }, - 'nvim-tree/nvim-web-devicons', - { - 'norcalli/nvim-colorizer.lua', - config = function() - require('colorizer').setup() - end - }, - 'navarasu/onedark.nvim', - { - -- Hides the highlight after searching and going into insert mode - 'nvimdev/hlsearch.nvim', - event = { "BufRead" }, - config = function() - require('hlsearch').setup() - end - }, + lsp_plugins, + ui_plugins, { 'nvim-pack/nvim-spectre' }, @@ -453,15 +291,6 @@ return { require("telescope").load_extension("undo") end, }, - { - "ptdewey/yankbank-nvim", - dependencies = "kkharji/sqlite.lua", - config = function() - require('yankbank').setup({ - persist_type = "sqlite", - }) - end, - }, { "ThePrimeagen/refactoring.nvim", requires = { diff --git a/queries/bash/injections.scm b/queries/bash/injections.scm new file mode 100644 index 0000000..4be9d4d --- /dev/null +++ b/queries/bash/injections.scm @@ -0,0 +1,30 @@ +; Syntax highlighting for heredoc (<