1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
return {
"nvim-treesitter/nvim-treesitter-context",
cmd = { "TSContextEnable", "TSContextDisable", "TSContextToggle" },
config = function()
require("treesitter-context").setup({
enable = false, -- Enable this plugin (Can be enabled/disabled later via commands)
max_lines = 3, -- How many lines the window should span. Values <= 0 mean no limit.
min_window_height = 1, -- 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", "[t", function()
require("treesitter-context").go_to_context(vim.v.count1)
end, { silent = true, desc = "Go to context" })
vim.keymap.set({ "n", "v" }, "<leader>zc", "<cmd>TSContextToggle<cr>", { desc = "Toggle context" })
end,
}
|