diff --git a/.config/nvim/after/plugin/treesitter.lua b/.config/nvim/after/plugin/treesitter.lua index b891aff..2a8e96f 100644 --- a/.config/nvim/after/plugin/treesitter.lua +++ b/.config/nvim/after/plugin/treesitter.lua @@ -21,3 +21,22 @@ require'nvim-treesitter.configs'.setup { }, } + +require'treesitter-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. + min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit. + line_numbers = true, + multiline_threshold = 20, -- Maximum number of lines to show for a single context + trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer' + mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline' + -- Separator between context and content. Should be a single character string, like '-'. + -- When separator is set, the context will only show up when there are at least 2 lines above cursorline. + separator = nil, + zindex = 20, -- The Z-index of the context window + on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching +} + +vim.keymap.set("n", "[c", function() + require("treesitter-context").go_to_context(vim.v.count1) +end, { silent = true }) diff --git a/.config/nvim/lua/talksik/packer.lua b/.config/nvim/lua/talksik/packer.lua index f04b973..72c4520 100644 --- a/.config/nvim/lua/talksik/packer.lua +++ b/.config/nvim/lua/talksik/packer.lua @@ -113,6 +113,9 @@ return require('packer').startup(function(use) use("lukas-reineke/indent-blankline.nvim") use {"ellisonleao/glow.nvim", config = function() require("glow").setup() end} + + -- treesitter context + use("nvim-treesitter/nvim-treesitter-context") end)