diff options
| author | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-01-17 23:53:34 +0100 |
|---|---|---|
| committer | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-01-18 09:03:37 +0100 |
| commit | a04f9cd914055244f29e9ff17aa7a723f5db2405 (patch) | |
| tree | 703edf280638e30fe77dd46a60a2e5442e8fd33a /lua/alpha/plugins | |
| parent | ec9655746b21d5ffb01caf502cf9047f83fc3753 (diff) | |
| download | nvim-conf-a04f9cd914055244f29e9ff17aa7a723f5db2405.tar.gz nvim-conf-a04f9cd914055244f29e9ff17aa7a723f5db2405.zip | |
feat: migration to lazy
Diffstat (limited to 'lua/alpha/plugins')
| -rw-r--r-- | lua/alpha/plugins/colorscheme.lua | 9 | ||||
| -rw-r--r-- | lua/alpha/plugins/completition.lua | 19 | ||||
| -rw-r--r-- | lua/alpha/plugins/dap.lua | 14 | ||||
| -rw-r--r-- | lua/alpha/plugins/database.lua | 11 | ||||
| -rw-r--r-- | lua/alpha/plugins/dressing.lua | 161 | ||||
| -rw-r--r-- | lua/alpha/plugins/gitsigns.lua | 20 | ||||
| -rw-r--r-- | lua/alpha/plugins/harpoon.lua | 10 | ||||
| -rw-r--r-- | lua/alpha/plugins/init.lua | 54 | ||||
| -rw-r--r-- | lua/alpha/plugins/lsp.lua | 19 | ||||
| -rw-r--r-- | lua/alpha/plugins/lualine.lua | 38 | ||||
| -rw-r--r-- | lua/alpha/plugins/neotest.lua | 63 | ||||
| -rw-r--r-- | lua/alpha/plugins/refactoring.lua | 10 | ||||
| -rw-r--r-- | lua/alpha/plugins/rest.lua | 41 | ||||
| -rw-r--r-- | lua/alpha/plugins/snippets.lua | 135 | ||||
| -rw-r--r-- | lua/alpha/plugins/telescope.lua | 17 | ||||
| -rw-r--r-- | lua/alpha/plugins/transparent.lua | 20 | ||||
| -rw-r--r-- | lua/alpha/plugins/treesitter.lua | 71 |
17 files changed, 712 insertions, 0 deletions
diff --git a/lua/alpha/plugins/colorscheme.lua b/lua/alpha/plugins/colorscheme.lua new file mode 100644 index 0000000..8b9bbbd --- /dev/null +++ b/lua/alpha/plugins/colorscheme.lua @@ -0,0 +1,9 @@ +return { + "folke/tokyonight.nvim", + config = function() + require("tokyonight").setup({ + style = "night" + }) + vim.cmd.colorscheme("tokyonight") + end +} diff --git a/lua/alpha/plugins/completition.lua b/lua/alpha/plugins/completition.lua new file mode 100644 index 0000000..0ab9b89 --- /dev/null +++ b/lua/alpha/plugins/completition.lua @@ -0,0 +1,19 @@ +return { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "hrsh7th/cmp-nvim-lua", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-cmdline", + "hrsh7th/cmp-git", + "rcarriga/cmp-dap", + "saadparwaiz1/cmp_luasnip", + "onsails/lspkind-nvim", + { "L3MON4D3/LuaSnip", version = "v1.*" }, + "windwp/nvim-autopairs", + }, + config = function () + require("alpha.completition") + end +} diff --git a/lua/alpha/plugins/dap.lua b/lua/alpha/plugins/dap.lua new file mode 100644 index 0000000..6f33484 --- /dev/null +++ b/lua/alpha/plugins/dap.lua @@ -0,0 +1,14 @@ +return { + "mfussenegger/nvim-dap", + dependencies = { + "theHamsta/nvim-dap-virtual-text", + "rcarriga/nvim-dap-ui", + "leoluz/nvim-dap-go", + "mxsdev/nvim-dap-vscode-js", + "anuvyklack/hydra.nvim", + }, + keys = { { "<leader>d" } }, + config = function() + require("alpha.dap") + end +} diff --git a/lua/alpha/plugins/database.lua b/lua/alpha/plugins/database.lua new file mode 100644 index 0000000..39e42a5 --- /dev/null +++ b/lua/alpha/plugins/database.lua @@ -0,0 +1,11 @@ +return { + "kristijanhusak/vim-dadbod-ui", + dependencies = { + "tpope/vim-dadbod", + "kristijanhusak/vim-dadbod-completion", + "tpope/vim-dotenv", + }, + config = function () + require("alpha.database") + end +} diff --git a/lua/alpha/plugins/dressing.lua b/lua/alpha/plugins/dressing.lua new file mode 100644 index 0000000..7d7e056 --- /dev/null +++ b/lua/alpha/plugins/dressing.lua @@ -0,0 +1,161 @@ +return { + "stevearc/dressing.nvim", + config = function() + require("dressing").setup({ + input = { + -- Set to false to disable the vim.ui.input implementation + enabled = true, + + -- Default prompt string + default_prompt = "Input:", + + -- Can be 'left', 'right', or 'center' + prompt_align = "left", + + -- When true, <Esc> will close the modal + insert_only = true, + + -- When true, input will start in insert mode. + start_in_insert = true, + + -- These are passed to nvim_open_win + anchor = "SW", + border = "rounded", + -- 'editor' and 'win' will default to being centered + relative = "cursor", + + -- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) + prefer_width = 40, + width = nil, + -- min_width and max_width can be a list of mixed types. + -- min_width = {20, 0.2} means "the greater of 20 columns or 20% of total" + max_width = { 140, 0.9 }, + min_width = { 20, 0.2 }, + win_options = { + -- Window transparency (0-100) + winblend = 10, + -- Disable line wrapping + wrap = false, + }, + + -- Set to `false` to disable + mappings = { + n = { + ["<Esc>"] = "Close", + ["<CR>"] = "Confirm", + }, + i = { + ["<C-c>"] = "Close", + ["<CR>"] = "Confirm", + ["<Up>"] = "HistoryPrev", + ["<Down>"] = "HistoryNext", + }, + }, + + override = function(conf) + -- This is the config that will be passed to nvim_open_win. + -- Change values here to customize the layout + return conf + end, + + -- see :help dressing_get_config + get_config = nil, + }, + select = { + -- Set to false to disable the vim.ui.select implementation + enabled = true, + + -- Priority list of preferred vim.select implementations + backend = { "telescope", "fzf_lua", "fzf", "builtin", "nui" }, + + -- Trim trailing `:` from prompt + trim_prompt = true, + + -- Options for telescope selector + -- These are passed into the telescope picker directly. Can be used like: + -- telescope = require('telescope.themes').get_ivy({...}) + telescope = nil, + + -- Options for fzf selector + fzf = { + window = { + width = 0.5, + height = 0.4, + }, + }, + + -- Options for fzf_lua selector + fzf_lua = { + winopts = { + width = 0.5, + height = 0.4, + }, + }, + + -- Options for nui Menu + nui = { + position = "50%", + size = nil, + relative = "editor", + border = { + style = "rounded", + }, + buf_options = { + swapfile = false, + filetype = "DressingSelect", + }, + win_options = { + winblend = 10, + }, + max_width = 80, + max_height = 40, + min_width = 40, + min_height = 10, + }, + + -- Options for built-in selector + builtin = { + -- These are passed to nvim_open_win + anchor = "NW", + border = "rounded", + -- 'editor' and 'win' will default to being centered + relative = "editor", + + win_options = { + -- Window transparency (0-100) + winblend = 10, + }, + + -- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) + -- the min_ and max_ options can be a list of mixed types. + -- max_width = {140, 0.8} means "the lesser of 140 columns or 80% of total" + width = nil, + max_width = { 140, 0.8 }, + min_width = { 40, 0.2 }, + height = nil, + max_height = 0.9, + min_height = { 10, 0.2 }, + + -- Set to `false` to disable + mappings = { + ["<Esc>"] = "Close", + ["<C-c>"] = "Close", + ["<CR>"] = "Confirm", + }, + + override = function(conf) + -- This is the config that will be passed to nvim_open_win. + -- Change values here to customize the layout + return conf + end, + }, + + -- Used to override format_item. See :help dressing-format + format_item_override = {}, + + -- see :help dressing_get_config + get_config = nil, + }, + }) + end +} diff --git a/lua/alpha/plugins/gitsigns.lua b/lua/alpha/plugins/gitsigns.lua new file mode 100644 index 0000000..12a1840 --- /dev/null +++ b/lua/alpha/plugins/gitsigns.lua @@ -0,0 +1,20 @@ +return { + "lewis6991/gitsigns.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + }, + config = function() + local gitsigns = require("gitsigns") + gitsigns.setup({ + on_attach = function(bufnr) + vim.keymap.set('n', '<leader>hs', gitsigns.stage_hunk, { buffer = bufnr }) + vim.keymap.set('n', '<leader>hu', gitsigns.undo_stage_hunk, { buffer = bufnr }) + vim.keymap.set('n', '<leader>hr', gitsigns.reset_hunk, { buffer = bufnr }) + vim.keymap.set('n', '<leader>hp', gitsigns.preview_hunk, { buffer = bufnr }) + vim.keymap.set('n', '<leader>hj', gitsigns.next_hunk, { buffer = bufnr }) + vim.keymap.set('n', '<leader>hk', gitsigns.prev_hunk, { buffer = bufnr }) + end, + max_file_length = 10000, + }) + end +} diff --git a/lua/alpha/plugins/harpoon.lua b/lua/alpha/plugins/harpoon.lua new file mode 100644 index 0000000..8a4ecc6 --- /dev/null +++ b/lua/alpha/plugins/harpoon.lua @@ -0,0 +1,10 @@ +return { + "ThePrimeagen/harpoon", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-lua/popup.nvim", + }, + config = function () + require("alpha.harpoon").setup() + end +} diff --git a/lua/alpha/plugins/init.lua b/lua/alpha/plugins/init.lua new file mode 100644 index 0000000..334cb01 --- /dev/null +++ b/lua/alpha/plugins/init.lua @@ -0,0 +1,54 @@ +return { + "jwalton512/vim-blade", + { "junegunn/fzf.vim" }, + { + "junegunn/fzf", + build = function() + vim.fn["fzf#install"]() + end, + }, + { + "windwp/nvim-projectconfig", + config = function() + require("nvim-projectconfig").setup() + end, + }, + { + "ThePrimeagen/git-worktree.nvim", + config = function() + require("git-worktree").setup({}) + end, + }, + { + "folke/trouble.nvim", + dependencies = "kyazdani42/nvim-web-devicons", + }, + "vim-test/vim-test", + "rcarriga/nvim-notify", + + "Raimondi/delimitMate", + "lukas-reineke/indent-blankline.nvim", + + "tpope/vim-surround", + "tpope/vim-repeat", + "tpope/vim-fugitive", + "tpope/vim-rhubarb", + "tpope/vim-dotenv", + "tpope/vim-eunuch", + { + "numToStr/Comment.nvim", + config = function() + require("Comment").setup() + end, + }, + { + "phaazon/mind.nvim", + branch = "v2.2", + dependencies = { "nvim-lua/plenary.nvim" }, + }, + + { "adalessa/laravel.nvim", dev = false }, + + "adalessa/composer.nvim", + "adalessa/php-code-actions.nvim", +} diff --git a/lua/alpha/plugins/lsp.lua b/lua/alpha/plugins/lsp.lua new file mode 100644 index 0000000..ac07faf --- /dev/null +++ b/lua/alpha/plugins/lsp.lua @@ -0,0 +1,19 @@ +return { + "neovim/nvim-lspconfig", + dependencies = { + "hrsh7th/cmp-nvim-lsp-signature-help", + "jose-elias-alvarez/null-ls.nvim", + "williamboman/mason.nvim", + "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", + { + "j-hui/fidget.nvim", + config = function() + require("fidget").setup() + end, + }, + }, + config = function () + require("alpha.lsp") + end +} diff --git a/lua/alpha/plugins/lualine.lua b/lua/alpha/plugins/lualine.lua new file mode 100644 index 0000000..e2ace98 --- /dev/null +++ b/lua/alpha/plugins/lualine.lua @@ -0,0 +1,38 @@ +return { + "nvim-lualine/lualine.nvim", + dependencies = { "kyazdani42/nvim-web-devicons" }, + config = function() + require("lualine").setup({ + options = { + theme = vim.g.alpha_lualine_color, + icons_enabled = true, + globalstatus = true, + }, + extensions = { "quickfix", "fugitive" }, + sections = { + lualine_a = { { "mode", upper = true } }, + lualine_b = { { "branch", icon = "" }, "db_ui#statusline" }, + lualine_c = { { "filename", file_status = true, path = 1 } }, + lualine_x = { "diagnostics", "diff" }, + lualine_y = { "filetype" }, + lualine_z = { "location" }, + }, + winbar = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + }, + inactive_winbar = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = {}, + lualine_y = {}, + lualine_z = {}, + }, + }) + end +} diff --git a/lua/alpha/plugins/neotest.lua b/lua/alpha/plugins/neotest.lua new file mode 100644 index 0000000..2cecb60 --- /dev/null +++ b/lua/alpha/plugins/neotest.lua @@ -0,0 +1,63 @@ +return { + "nvim-neotest/neotest", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-treesitter/nvim-treesitter", + "antoinemadec/FixCursorHold.nvim", + "nvim-neotest/neotest-go", + "rouge8/neotest-rust", + "nvim-neotest/neotest-plenary", + "nvim-neotest/neotest-vim-test", + "anuvyklack/hydra.nvim", + }, + config = function() + local neotest = require("neotest") + neotest.setup({ + adapters = { + require("neotest-go"), + require("neotest-rust"), + require("neotest-plenary"), + require("neotest-vim-test")({ + ignore_file_types = { "go", "lua", "rust", "php" }, + }), + -- require("laravel.neotest"), + }, + }) + + local hydra = require("hydra") + + local hint = [[ + NeoTest + _n_: Near test _f_: Current file _l_: Last Test _m_: Run Marked _s_: Toggle Summary ^ + ^ ^ _<Esc>_ + ]] + + hydra({ + name = "neotest", + hint = hint, + mode = "n", + config = { + color = "teal", + invoke_on_body = true, + hint = { + border = "rounded", + position = "bottom", + }, + }, + body = "<C-t>", + heads = { + { "n", neotest.run.run }, + { + "f", + function() + neotest.run.run(vim.fn.expand("%")) + end, + }, + { "l", neotest.run.run_last }, + { "m", neotest.summary.run_marked }, + { "s", neotest.summary.toggle }, + { "<Esc>", nil, { exit = true } }, + }, + }) + end +} diff --git a/lua/alpha/plugins/refactoring.lua b/lua/alpha/plugins/refactoring.lua new file mode 100644 index 0000000..c8bf7fc --- /dev/null +++ b/lua/alpha/plugins/refactoring.lua @@ -0,0 +1,10 @@ +return { + "ThePrimeagen/refactoring.nvim", + dependencies = { + { "nvim-lua/plenary.nvim" }, + { "nvim-treesitter/nvim-treesitter" }, + }, + config = function() + require("refactoring").setup({}) + end +} diff --git a/lua/alpha/plugins/rest.lua b/lua/alpha/plugins/rest.lua new file mode 100644 index 0000000..a0ec729 --- /dev/null +++ b/lua/alpha/plugins/rest.lua @@ -0,0 +1,41 @@ +return { + "NTBBloodbath/rest.nvim", + dependencies = { "nvim-lua/plenary.nvim" }, + config = function() + local rest_nvim = require("rest-nvim") + + rest_nvim.setup({ + -- Open request results in a horizontal split + result_split_horizontal = false, + -- Skip SSL verification, useful for unknown certificates + skip_ssl_verification = false, + -- Highlight request on run + highlight = { + enabled = true, + timeout = 150, + }, + result = { + -- toggle showing URL, HTTP info, headers at top the of result window + show_url = true, + show_http_info = true, + show_headers = true, + }, + -- Jump to request line on run + jump_to_request = false, + env_file = ".env", + custom_dynamic_variables = {}, + yank_dry_run = true, + }) + + vim.api.nvim_create_autocmd("FileType", { + pattern = "http", + callback = function() + local buff = tonumber(vim.fn.expand("<abuf>"), 10) + vim.keymap.set("n", "<leader>rn", rest_nvim.run, { noremap = true, buffer = buff }) + vim.keymap.set("n", "<leader>rl", rest_nvim.last, { noremap = true, buffer = buff }) + vim.keymap.set("n", "<leader>rp", function() rest_nvim.run(true) end, { noremap = true, buffer = buff }) + end + }) + + end +} diff --git a/lua/alpha/plugins/snippets.lua b/lua/alpha/plugins/snippets.lua new file mode 100644 index 0000000..dee004e --- /dev/null +++ b/lua/alpha/plugins/snippets.lua @@ -0,0 +1,135 @@ +return { + "L3MON4D3/LuaSnip", + version = "v1.*", + config = function() + if vim.g.snippets ~= "luasnip" then + return + end + + local ls = require("luasnip") + local types = require("luasnip.util.types") + + ls.config.set_config({ + -- This tells LuaSnip to remember to keep around the last snippet. + -- You can jump back into even if you move outside of the selection + history = true, + + -- This one is cool cause if you have dynamic snippets, it updatesas you type! + updateevents = "TextChanged,TextChangedI", + + -- Autosnippets: + enable_autosnippets = true, + + ext_opts = { + [types.choiceNode] = { + active = { + virt_text = { { "<- Choice", "Error" } }, + }, + }, + }, + }) + + -- create snippet + -- s(context, nodes, condition, ...) + local snippet = ls.s + + -- TODO: Write about this. + -- Useful for dynamic nodes and choice nodes + -- local snippet_from_nodes = ls.sn + + -- This is the simplest node. + -- Creates a new text node. Places cursor after node by default. + -- t { "this will be inserted" } + -- + -- Multiple lines are by passing a table of strings. + -- t { "line 1", "line 2" } + local t = ls.text_node + + -- Insert Node + -- Creates a location for the cursor to jump to. + -- Possible options to jump to are 1 - N + -- If you use 0, that's the final place to jump to. + -- + -- To create placeholder text, pass it as the second argument + -- i(2, "this is placeholder text") + local i = ls.insert_node + + -- Function Node + -- Takes a function that returns text + -- local f = ls.function_node + + -- This a choice snippet. You can move through with <c-l> (in my config) + -- c(1, { t {"hello"}, t {"world"}, }), + -- + -- The first argument is the jump position + -- The second argument is a table of possible nodes. + -- Note, one thing that's nice is you don't have to include + -- the jump position for nodes that normally require one (can be nil) + -- local c = ls.choice_node + + -- local d = ls.dynamic_node + + -- TODO: Document what I've learned about lambda + -- local l = require("luasnip.extras").lambda + + -- local events = require("luasnip.util.events") + + local shortcut = function(val) + if type(val) == "string" then + return { t({ val }), i(0) } + end + + if type(val) == "table" then + for k, v in ipairs(val) do + if type(v) == "string" then + val[k] = t({ v }) + end + end + end + + return val + end + + local make = function(tbl) + local result = {} + for k, v in pairs(tbl) do + table.insert(result, (snippet({ trig = k, desc = v.desc }, shortcut(v)))) + end + + return result + end + + ls.cleanup() + for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/alpha/snips/ft/*.lua", true)) do + local ft = vim.fn.fnamemodify(ft_path, ":t:r") + ls.add_snippets(ft, make(loadfile(ft_path)())) + end + + -- <c-k> is my expansion key + -- this will expand the current item or jump to the next item within the snippet. + vim.keymap.set({ "i", "s" }, "<c-k>", function() + if ls.expand_or_jumpable() then + ls.expand_or_jump() + end + end, { silent = true }) + + -- <c-j> is my jump backwards key. + -- this always moves to the previous item within the snippet + vim.keymap.set({ "i", "s" }, "<c-j>", function() + if ls.jumpable(-1) then + ls.jump(-1) + end + end, { silent = true }) + + -- <c-l> is selecting within a list of options. + -- This is useful for choice nodes (introduced in the forthcoming episode 2) + vim.keymap.set("i", "<c-l>", function() + if ls.choice_active() then + ls.change_choice(1) + end + end) + + -- shorcut to source my luasnips file again, which will reload my snippets + vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/after/plugin/luasnip.lua<CR>") + end +} diff --git a/lua/alpha/plugins/telescope.lua b/lua/alpha/plugins/telescope.lua new file mode 100644 index 0000000..ba6ae58 --- /dev/null +++ b/lua/alpha/plugins/telescope.lua @@ -0,0 +1,17 @@ +return { + "nvim-telescope/telescope.nvim", + dependencies = { + { "nvim-lua/plenary.nvim" }, + { "nvim-lua/popup.nvim" }, + { "nvim-telescope/telescope-fzy-native.nvim" }, + { "kyazdani42/nvim-web-devicons" }, + { "nvim-telescope/telescope-file-browser.nvim" }, + { "nvim-telescope/telescope-dap.nvim" }, + { "nvim-telescope/telescope-ui-select.nvim" }, + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + }, + config = function () + require("alpha.telescope.setup") + require("alpha.telescope.mappings") + end +} diff --git a/lua/alpha/plugins/transparent.lua b/lua/alpha/plugins/transparent.lua new file mode 100644 index 0000000..fa0b480 --- /dev/null +++ b/lua/alpha/plugins/transparent.lua @@ -0,0 +1,20 @@ +return { + "xiyaowong/nvim-transparent", + config = function() + require("transparent").setup({ + enable = true, -- boolean: enable transparent + extra_groups = { -- table/string: additional groups that should be cleared + -- In particular, when you set it to 'all', that means all available groups + + -- example of akinsho/nvim-bufferline.lua + "BufferLineTabClose", + "BufferlineBufferSelected", + "BufferLineFill", + "BufferLineBackground", + "BufferLineSeparator", + "BufferLineIndicatorSelected", + }, + exclude = {}, -- table: groups you don't want to clear + }) + end +} diff --git a/lua/alpha/plugins/treesitter.lua b/lua/alpha/plugins/treesitter.lua new file mode 100644 index 0000000..8bb6026 --- /dev/null +++ b/lua/alpha/plugins/treesitter.lua @@ -0,0 +1,71 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + dependencies = { + "nvim-treesitter/playground", + "nvim-treesitter/nvim-treesitter-refactor", + "nvim-treesitter/nvim-treesitter-textobjects", + }, + config = function() + require "nvim-treesitter.configs".setup { + ensure_installed = { "php", "phpdoc", "vim", "go", "gomod", "css", "html", "javascript", "lua", "typescript" }, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { + enable = true, + }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "gnn", + node_incremental = "grn", + scope_incremental = "grc", + node_decremental = "grm", + }, + }, + refactor = { + highlight_definitions = { enable = true }, + smart_rename = { + enable = true, + keymaps = { + smart_rename = "trr", + }, + }, + }, + textobjects = { + select = { + enable = true, + lookahead = true, + keymaps = { + ["af"] = "@function.outer", + ["if"] = "@function.inner", + ["ac"] = "@conditional.outer", + ["ic"] = "@conditional.inner", + ["al"] = "@loop.outer", + ["il"] = "@loop.inner", + } + } + }, + playground = { + enable = true, + disable = {}, + updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + persist_queries = false, -- Whether the query persists across vim sessions + keybindings = { + toggle_query_editor = 'o', + toggle_hl_groups = 'i', + toggle_injected_languages = 't', + toggle_anonymous_nodes = 'a', + toggle_language_display = 'I', + focus_language = 'f', + unfocus_language = 'F', + update = 'R', + goto_node = '<cr>', + show_help = '?', + }, + } + } + end +} |