Add config for treesitter extensions & setup playground
This commit is contained in:
parent
74475c8793
commit
bf88d45a58
1 changed files with 67 additions and 2 deletions
|
@ -10,6 +10,7 @@ local function load_plugins()
|
||||||
require('packer').startup(function()
|
require('packer').startup(function()
|
||||||
use 'wbthomason/packer.nvim' -- Package manager
|
use 'wbthomason/packer.nvim' -- Package manager
|
||||||
use 'nvim-treesitter/nvim-treesitter'
|
use 'nvim-treesitter/nvim-treesitter'
|
||||||
|
use 'nvim-treesitter/nvim-treesitter-textobjects'
|
||||||
use 'folke/which-key.nvim'
|
use 'folke/which-key.nvim'
|
||||||
use 'tpope/vim-commentary' -- "gc" to comment visual regions/lines
|
use 'tpope/vim-commentary' -- "gc" to comment visual regions/lines
|
||||||
use {'nvim-telescope/telescope.nvim', requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}} }
|
use {'nvim-telescope/telescope.nvim', requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}} }
|
||||||
|
@ -28,6 +29,7 @@ local function load_plugins()
|
||||||
use 'scalameta/nvim-metals'
|
use 'scalameta/nvim-metals'
|
||||||
use 'ray-x/lsp_signature.nvim'
|
use 'ray-x/lsp_signature.nvim'
|
||||||
use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' }
|
use { 'folke/trouble.nvim', requires = 'kyazdani42/nvim-web-devicons' }
|
||||||
|
use 'nvim-treesitter/playground'
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -40,7 +42,7 @@ _G.load_config = function()
|
||||||
require("salargalaxyline")
|
require("salargalaxyline")
|
||||||
|
|
||||||
-- Treesitter
|
-- Treesitter
|
||||||
require("nvim-treesitter.configs").setup({
|
require('nvim-treesitter.configs').setup {
|
||||||
playground = { enable = true },
|
playground = { enable = true },
|
||||||
query_linter = {
|
query_linter = {
|
||||||
enable = true,
|
enable = true,
|
||||||
|
@ -49,7 +51,70 @@ _G.load_config = function()
|
||||||
},
|
},
|
||||||
ensure_installed = "maintained",
|
ensure_installed = "maintained",
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
})
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
init_selection = 'gnn',
|
||||||
|
node_incremental = 'grn',
|
||||||
|
scope_incremental = 'grc',
|
||||||
|
node_decremental = 'grm',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
textobjects = {
|
||||||
|
select = {
|
||||||
|
enable = true,
|
||||||
|
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
||||||
|
keymaps = {
|
||||||
|
-- You can use the capture groups defined in textobjects.scm
|
||||||
|
['af'] = '@function.outer',
|
||||||
|
['if'] = '@function.inner',
|
||||||
|
['ac'] = '@class.outer',
|
||||||
|
['ic'] = '@class.inner',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
move = {
|
||||||
|
enable = true,
|
||||||
|
set_jumps = true, -- whether to set jumps in the jumplist
|
||||||
|
goto_next_start = {
|
||||||
|
[']m'] = '@function.outer',
|
||||||
|
[']]'] = '@class.outer',
|
||||||
|
},
|
||||||
|
goto_next_end = {
|
||||||
|
[']M'] = '@function.outer',
|
||||||
|
[']['] = '@class.outer',
|
||||||
|
},
|
||||||
|
goto_previous_start = {
|
||||||
|
['[m'] = '@function.outer',
|
||||||
|
['[['] = '@class.outer',
|
||||||
|
},
|
||||||
|
goto_previous_end = {
|
||||||
|
['[M'] = '@function.outer',
|
||||||
|
['[]'] = '@class.outer',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
playground = {
|
||||||
|
enable = true,
|
||||||
|
disable = {},
|
||||||
|
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
|
||||||
|
persist_queries = false, -- Whether the query persists across vim sessions
|
||||||
|
keybindings = {
|
||||||
|
toggle_query_editor = 'o',
|
||||||
|
toggle_hl_groups = 'i',
|
||||||
|
toggle_injected_languages = 't',
|
||||||
|
toggle_anonymous_nodes = 'a',
|
||||||
|
toggle_language_display = 'I',
|
||||||
|
focus_language = 'f',
|
||||||
|
unfocus_language = 'F',
|
||||||
|
update = 'R',
|
||||||
|
goto_node = '<cr>',
|
||||||
|
show_help = '?',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
-- neogit
|
-- neogit
|
||||||
require('neogit').setup({
|
require('neogit').setup({
|
||||||
|
|
Loading…
Reference in a new issue