1
0
Fork 0
mirror of https://github.com/pnx/dotfiles synced 2026-06-16 03:14:55 +02:00

nvim: lazy load some plugins.

This commit is contained in:
Henrik Hautakoski 2024-10-15 08:46:54 +02:00
parent bf5139abd0
commit 7bb5d36e1e
3 changed files with 109 additions and 99 deletions

View file

@ -2,6 +2,7 @@ local icons = require('user.icons').diff_gutter
return {
"lewis6991/gitsigns.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
{
"folke/which-key.nvim",
@ -13,7 +14,6 @@ return {
},
},
},
lazy = false,
opts = {
signs = {
add = { text = icons.add },

View file

@ -1,107 +1,113 @@
return {
"nvim-treesitter/nvim-treesitter",
build = function()
require("nvim-treesitter.install").update({ with_sync = true })
end,
dependencies = {
"nvim-treesitter/nvim-treesitter-textobjects",
{
"windwp/nvim-ts-autotag",
opts = {}
{
"nvim-treesitter/nvim-treesitter",
build = function()
require("nvim-treesitter.install").update({ with_sync = true })
end,
dependencies = {
"nvim-treesitter/nvim-treesitter-textobjects",
},
},
opts_extend = { "ensure_installed" },
opts = {
-- Default parsers.
ensure_installed = {
-- VIM stuff
"vim",
"vimdoc",
"query",
opts_extend = { "ensure_installed" },
opts = {
-- Default parsers.
ensure_installed = {
-- VIM stuff
"vim",
"vimdoc",
"query",
-- Common config languages
"json",
"jsonc",
"yaml",
"toml",
"xml",
"kdl",
},
-- Common config languages
"json",
"jsonc",
"yaml",
"toml",
"xml",
"kdl",
},
auto_install = true,
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
},
textobjects = {
select = {
highlight = {
enable = true,
lookahead = true,
keymaps = {
-- Functions/Methods
["af"] = { query = "@function.outer", desc = "outer function"},
["if"] = { query = "@function.inner", desc = "inner function"},
-- Class
["ac"] = { query = "@class.outer", desc = "around class" },
["ic"] = { query = "@class.inner", desc = "inner class" },
-- Parameters/arguments
["av"] = { query = "@parameter.outer", desc = "around parameter" },
["iv"] = { query = "@parameter.inner", desc = "inner parameter" },
additional_vim_regex_highlighting = false,
},
indent = {
enable = true,
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
-- Functions/Methods
["af"] = { query = "@function.outer", desc = "outer function" },
["if"] = { query = "@function.inner", desc = "inner function" },
-- Class
["ac"] = { query = "@class.outer", desc = "around class" },
["ic"] = { query = "@class.inner", desc = "inner class" },
-- Parameters/arguments
["av"] = { query = "@parameter.outer", desc = "around parameter" },
["iv"] = { query = "@parameter.inner", desc = "inner parameter" },
}
},
swap = {
enable = true,
swap_next = {
["<leader>]"] = { query = "@parameter.inner", desc = "Swap next parameter with the one under cursor" },
},
swap_previous = {
["<leader>["] = { query = "@parameter.inner", desc = "Swap previous parameter with the one under cursor" },
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
["]f"] = { query = "@function.outer", desc = "Goto the beginning of the next function" },
["]c"] = { query = "@class.outer", desc = "Goto the beginning of the next class" },
["]v"] = { query = "@parameter.inner", desc = "Goto the beginning of the next parameter" },
},
goto_next_end = {
["]F"] = { query = "@function.outer", desc = "Goto the end of the next function" },
["]C"] = { query = "@class.outer", desc = "Goto the end of the next class" },
["]V"] = { query = "@parameter.inner", desc = "Goto the end of the next parameter" },
},
goto_previous_start = {
["[f"] = { query = "@function.outer", desc = "Goto the beginning of the previous function" },
["[c"] = { query = "@class.outer", desc = "Goto the beginning of the previous class" },
["[v"] = { query = "@parameter.inner", desc = "Goto the beginning of the previous parameter" },
},
goto_previous_end = {
["[F"] = { query = "@function.outer", desc = "Goto the end of the previous function" },
["[C"] = { query = "@class.outer", desc = "Goto the end of the previous class" },
["[V"] = { query = "@parameter.inner", desc = "Goto the end of the previous parameter" },
},
}
},
swap = {
enable = true,
swap_next = {
["<leader>]"] = { query = "@parameter.inner", desc = "Swap next parameter with the one under cursor"},
},
swap_previous = {
["<leader>["] = { query = "@parameter.inner", desc = "Swap previous parameter with the one under cursor"},
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
["]f"] = { query = "@function.outer", desc = "Goto the beginning of the next function" },
["]c"] = { query = "@class.outer", desc = "Goto the beginning of the next class" },
["]v"] = { query = "@parameter.inner", desc = "Goto the beginning of the next parameter" },
},
goto_next_end = {
["]F"] = { query = "@function.outer", desc = "Goto the end of the next function" },
["]C"] = { query = "@class.outer", desc = "Goto the end of the next class" },
["]V"] = { query = "@parameter.inner", desc = "Goto the end of the next parameter" },
},
goto_previous_start = {
["[f"] = { query = "@function.outer", desc = "Goto the beginning of the previous function" },
["[c"] = { query = "@class.outer", desc = "Goto the beginning of the previous class" },
["[v"] = { query = "@parameter.inner", desc = "Goto the beginning of the previous parameter" },
},
goto_previous_end = {
["[F"] = { query = "@function.outer", desc = "Goto the end of the previous function" },
["[C"] = { query = "@class.outer", desc = "Goto the end of the previous class" },
["[V"] = { query = "@parameter.inner", desc = "Goto the end of the previous parameter" },
},
}
}
},
config = function(_, opts)
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.blade = {
install_info = {
url = "https://github.com/EmranMR/tree-sitter-blade",
branch = "main",
files = { "src/parser.c" },
},
filetype = "blade",
}
require("nvim-treesitter.configs").setup(opts)
end,
},
{
"windwp/nvim-ts-autotag",
dependencies = {
"nvim-treesitter/nvim-treesitter",
},
event = "InsertEnter",
opts = {}
},
config = function(_, opts)
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
parser_config.blade = {
install_info = {
url = "https://github.com/EmranMR/tree-sitter-blade",
branch = "main",
files = { "src/parser.c" },
},
filetype = "blade",
}
require("nvim-treesitter.configs").setup(opts)
end,
}