41 lines
975 B
Lua
41 lines
975 B
Lua
local misc = require("core.misc")
|
|
local map = misc.map
|
|
|
|
local branch = nil
|
|
if vim.version().minor == 7 then
|
|
branch = 'compat/0.7'
|
|
end
|
|
|
|
return { 'nvim-treesitter/nvim-treesitter-context',
|
|
disable = vim.version().minor < 7,
|
|
branch = branch,
|
|
requires = 'nvim-treesitter/nvim-treesitter',
|
|
function()
|
|
local treesitter_context = require("treesitter-context")
|
|
|
|
treesitter_context.setup {
|
|
enable = true,
|
|
line_numbers = true,
|
|
separator = '─',
|
|
}
|
|
|
|
-- mapping to jump to the first closest line of context in buffer
|
|
map("n", "[j", function()
|
|
local lline = vim.api.nvim_win_get_cursor(0)[1];
|
|
local line
|
|
|
|
-- go to the first closest line of context and center it
|
|
treesitter_context.go_to_context()
|
|
vim.api.nvim_input('zz')
|
|
|
|
-- make sure we actually moved
|
|
line = vim.api.nvim_win_get_cursor(0)[1];
|
|
if line == lline then
|
|
return
|
|
end
|
|
|
|
misc.timeout_highlight()
|
|
end)
|
|
end
|
|
}
|