From: Georgios Atheridis Date: Sat, 11 Jun 2022 21:48:13 +0000 (+0300) Subject: added treesitter context X-Git-Url: https://git.atheridis.org/?a=commitdiff_plain;h=e400c85a22eecb26b038ae92598eb415225ee796;p=configs%2Fneovim.git added treesitter context --- diff --git a/nvim/lua/nvim/plugins.lua b/nvim/lua/nvim/plugins.lua index b697560..911c7dc 100644 --- a/nvim/lua/nvim/plugins.lua +++ b/nvim/lua/nvim/plugins.lua @@ -106,6 +106,13 @@ return packer.startup(function(use) { "nvim-treesitter/nvim-treesitter" }, } }) + use({ + "nvim-treesitter/nvim-treesitter-context", + requires = { + { "nvim-treesitter/nvim-treesitter" }, + }, + }) + -- Autopairs use("windwp/nvim-autopairs") diff --git a/nvim/lua/nvim/treesitter.lua b/nvim/lua/nvim/treesitter.lua index 575ecef..ce1274f 100644 --- a/nvim/lua/nvim/treesitter.lua +++ b/nvim/lua/nvim/treesitter.lua @@ -8,7 +8,7 @@ configs.setup({ disable = { "" }, -- list of language that will be disabled additional_vim_regex_highlighting = true, }, - indent = { enable = true, disable = { "yaml" } }, + indent = { enable = true, disable = { "yaml", "python" } }, rainbow = { enable = true, extended_mode = true, @@ -26,3 +26,46 @@ vim.cmd("hi rainbowcol4 guifg=#FF0000") vim.cmd("hi rainbowcol5 guifg=#FF00FF") vim.cmd("hi rainbowcol6 guifg=#00FFFF") vim.cmd("hi rainbowcol7 guifg=#FFFF00") + +local ts_context_status_ok, ts_context = pcall(require, "treesitter-context") +if not ts_context_status_ok then + vim.notify("Error with require treesitter-context") + return +end + +ts_context.setup({ + enable = true, -- Enable this plugin (Can be enabled/disabled later via commands) + max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit. + patterns = { -- Match patterns for TS nodes. These get wrapped to match at word boundaries. + -- For all filetypes + -- Note that setting an entry here replaces all other patterns for this entry. + -- By setting the 'default' entry below, you can control which nodes you want to + -- appear in the context window. + default = { + "class", + "function", + "method", + -- 'for', -- These won't appear in the context + -- 'while', + -- 'if', + -- 'switch', + -- 'case', + }, + -- Example for a specific filetype. + -- If a pattern is missing, *open a PR* so everyone can benefit. + -- rust = { + -- 'impl_item', + -- }, + }, + exact_patterns = { + -- Example for a specific filetype with Lua patterns + -- Treat patterns.rust as a Lua pattern (i.e "^impl_item$" will + -- exactly match "impl_item" only) + -- rust = true, + }, + + -- [!] The options below are exposed but shouldn't require your attention, + -- you can safely ignore them. + + zindex = 20, -- The Z-index of the context window +})