Start moving plugins to separate files

- Add treesitter injection for EOF (heredoc) strings within bash scripts
This commit is contained in:
Christopher Williams 2024-08-31 16:36:19 -04:00
parent 1b28031ee7
commit c125deea92
5 changed files with 207 additions and 188 deletions

View File

@ -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" }

View File

@ -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,
},
}

113
lua/plugin/ui-plugins.lua Normal file
View File

@ -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
{ "<leader>nm", "<cmd>Neominimap toggle<cr>", desc = "Toggle global minimap" },
{ "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
{ "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
{ "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
-- Window-Specific Minimap Controls
{ "<leader>nwt", "<cmd>Neominimap winToggle<cr>", desc = "Toggle minimap for current window" },
{ "<leader>nwr", "<cmd>Neominimap winRefresh<cr>", desc = "Refresh minimap for current window" },
{ "<leader>nwo", "<cmd>Neominimap winOn<cr>", desc = "Enable minimap for current window" },
{ "<leader>nwc", "<cmd>Neominimap winOff<cr>", desc = "Disable minimap for current window" },
-- Tab-Specific Minimap Controls
{ "<leader>ntt", "<cmd>Neominimap tabToggle<cr>", desc = "Toggle minimap for current tab" },
{ "<leader>ntr", "<cmd>Neominimap tabRefresh<cr>", desc = "Refresh minimap for current tab" },
{ "<leader>nto", "<cmd>Neominimap tabOn<cr>", desc = "Enable minimap for current tab" },
{ "<leader>ntc", "<cmd>Neominimap tabOff<cr>", desc = "Disable minimap for current tab" },
-- Buffer-Specific Minimap Controls
{ "<leader>nbt", "<cmd>Neominimap bufToggle<cr>", desc = "Toggle minimap for current buffer" },
{ "<leader>nbr", "<cmd>Neominimap bufRefresh<cr>", desc = "Refresh minimap for current buffer" },
{ "<leader>nbo", "<cmd>Neominimap bufOn<cr>", desc = "Enable minimap for current buffer" },
{ "<leader>nbc", "<cmd>Neominimap bufOff<cr>", desc = "Disable minimap for current buffer" },
---Focus Controls
{ "<leader>nf", "<cmd>Neominimap focus<cr>", desc = "Focus on minimap" },
{ "<leader>nu", "<cmd>Neominimap unfocus<cr>", desc = "Unfocus minimap" },
{ "<leader>ns", "<cmd>Neominimap toggleFocus<cr>", 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
},
}

View File

@ -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
{ "<leader>nm", "<cmd>Neominimap toggle<cr>", desc = "Toggle global minimap" },
{ "<leader>no", "<cmd>Neominimap on<cr>", desc = "Enable global minimap" },
{ "<leader>nc", "<cmd>Neominimap off<cr>", desc = "Disable global minimap" },
{ "<leader>nr", "<cmd>Neominimap refresh<cr>", desc = "Refresh global minimap" },
-- Window-Specific Minimap Controls
{ "<leader>nwt", "<cmd>Neominimap winToggle<cr>", desc = "Toggle minimap for current window" },
{ "<leader>nwr", "<cmd>Neominimap winRefresh<cr>", desc = "Refresh minimap for current window" },
{ "<leader>nwo", "<cmd>Neominimap winOn<cr>", desc = "Enable minimap for current window" },
{ "<leader>nwc", "<cmd>Neominimap winOff<cr>", desc = "Disable minimap for current window" },
-- Tab-Specific Minimap Controls
{ "<leader>ntt", "<cmd>Neominimap tabToggle<cr>", desc = "Toggle minimap for current tab" },
{ "<leader>ntr", "<cmd>Neominimap tabRefresh<cr>", desc = "Refresh minimap for current tab" },
{ "<leader>nto", "<cmd>Neominimap tabOn<cr>", desc = "Enable minimap for current tab" },
{ "<leader>ntc", "<cmd>Neominimap tabOff<cr>", desc = "Disable minimap for current tab" },
-- Buffer-Specific Minimap Controls
{ "<leader>nbt", "<cmd>Neominimap bufToggle<cr>", desc = "Toggle minimap for current buffer" },
{ "<leader>nbr", "<cmd>Neominimap bufRefresh<cr>", desc = "Refresh minimap for current buffer" },
{ "<leader>nbo", "<cmd>Neominimap bufOn<cr>", desc = "Enable minimap for current buffer" },
{ "<leader>nbc", "<cmd>Neominimap bufOff<cr>", desc = "Disable minimap for current buffer" },
---Focus Controls
{ "<leader>nf", "<cmd>Neominimap focus<cr>", desc = "Focus on minimap" },
{ "<leader>nu", "<cmd>Neominimap unfocus<cr>", desc = "Unfocus minimap" },
{ "<leader>ns", "<cmd>Neominimap toggleFocus<cr>", 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 = {

View File

@ -0,0 +1,30 @@
; Syntax highlighting for heredoc (<<EOF...EOF) content in shell scripts
(#set! injection.language "")
(redirected_statement
; Capture the command name
; Check if the command is awk
(command
name: (command_name) @cmd (#eq? @cmd "awk"))
; If the command is awk, use the heredoc_body as the content of the injection
(heredoc_redirect
(heredoc_body) @injection.content (#set! injection.language "awk"))
)
(redirected_statement
(command
name: (command_name) @cmd (#eq? @cmd "lua"))
(heredoc_redirect
(heredoc_body) @injection.content (#set! injection.language "lua"))
)
(redirected_statement
(command
name: (command_name) @cmd (#eq? @cmd "expect"))
(heredoc_redirect
(heredoc_body) @injection.content (#set! injection.language "tcl"))
)