treesitter.lua 785 B

1234567891011121314151617181920212223242526
  1. -- treesitter indent
  2. vim.o.indentexpr = "v:lua.require('nvim-treesitter.indent').get_indent(v:num)"
  3. -- set foldexpr to use treesitter
  4. vim.o.foldmethod = 'expr'
  5. vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
  6. vim.o.foldenable = false
  7. -- incremental selection
  8. vim.keymap.set('n', ']t', 'van', { remap = true })
  9. vim.keymap.set('v', ']t', 'an', { remap = true })
  10. vim.keymap.set('v', '[t', 'in', { remap = true })
  11. -- swapping textobjects
  12. vim.keymap.set('n', '>,', function()
  13. require('nvim-treesitter-textobjects.swap').swap_next '@parameter.inner'
  14. end)
  15. vim.keymap.set('n', '<,', function()
  16. require('nvim-treesitter-textobjects.swap').swap_previous '@parameter.inner'
  17. end)
  18. -- Treesitter context
  19. require('treesitter-context').setup({
  20. enable = true,
  21. multiline_threshold = 5,
  22. })