Merge pull request #448 from AshrafMichail23/main
Defer Treesitter setup to improve startup time of nvim {filename}
			
			
This commit is contained in:
		
						commit
						f15af9b8be
					
				
							
								
								
									
										109
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										109
									
								
								init.lua
								
								
								
								
							|  | @ -321,69 +321,72 @@ vim.keymap.set('n', '<leader>sr', require('telescope.builtin').resume, { desc = | ||||||
| 
 | 
 | ||||||
| -- [[ Configure Treesitter ]] | -- [[ Configure Treesitter ]] | ||||||
| -- See `:help nvim-treesitter` | -- See `:help nvim-treesitter` | ||||||
| require('nvim-treesitter.configs').setup { | -- Defer Treesitter setup after first render to improve startup time of 'nvim {filename}' | ||||||
|   -- Add languages to be installed here that you want installed for treesitter | vim.defer_fn(function() | ||||||
|   ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'javascript', 'typescript', 'vimdoc', 'vim' }, |   require('nvim-treesitter.configs').setup { | ||||||
|  |     -- Add languages to be installed here that you want installed for treesitter | ||||||
|  |     ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'javascript', 'typescript', 'vimdoc', 'vim' }, | ||||||
|    |    | ||||||
|   -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) |     -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) | ||||||
|   auto_install = false, |     auto_install = false, | ||||||
|    |    | ||||||
|   highlight = { enable = true }, |     highlight = { enable = true }, | ||||||
|   indent = { enable = true }, |     indent = { enable = true }, | ||||||
|   incremental_selection = { |     incremental_selection = { | ||||||
|     enable = true, |  | ||||||
|     keymaps = { |  | ||||||
|       init_selection = '<c-space>', |  | ||||||
|       node_incremental = '<c-space>', |  | ||||||
|       scope_incremental = '<c-s>', |  | ||||||
|       node_decremental = '<M-space>', |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
|   textobjects = { |  | ||||||
|     select = { |  | ||||||
|       enable = true, |       enable = true, | ||||||
|       lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim |  | ||||||
|       keymaps = { |       keymaps = { | ||||||
|         -- You can use the capture groups defined in textobjects.scm |         init_selection = '<c-space>', | ||||||
|         ['aa'] = '@parameter.outer', |         node_incremental = '<c-space>', | ||||||
|         ['ia'] = '@parameter.inner', |         scope_incremental = '<c-s>', | ||||||
|         ['af'] = '@function.outer', |         node_decremental = '<M-space>', | ||||||
|         ['if'] = '@function.inner', |  | ||||||
|         ['ac'] = '@class.outer', |  | ||||||
|         ['ic'] = '@class.inner', |  | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|     move = { |     textobjects = { | ||||||
|       enable = true, |       select = { | ||||||
|       set_jumps = true, -- whether to set jumps in the jumplist |         enable = true, | ||||||
|       goto_next_start = { |         lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim | ||||||
|         [']m'] = '@function.outer', |         keymaps = { | ||||||
|         [']]'] = '@class.outer', |           -- You can use the capture groups defined in textobjects.scm | ||||||
|  |           ['aa'] = '@parameter.outer', | ||||||
|  |           ['ia'] = '@parameter.inner', | ||||||
|  |           ['af'] = '@function.outer', | ||||||
|  |           ['if'] = '@function.inner', | ||||||
|  |           ['ac'] = '@class.outer', | ||||||
|  |           ['ic'] = '@class.inner', | ||||||
|  |         }, | ||||||
|       }, |       }, | ||||||
|       goto_next_end = { |       move = { | ||||||
|         [']M'] = '@function.outer', |         enable = true, | ||||||
|         [']['] = '@class.outer', |         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', | ||||||
|  |         }, | ||||||
|       }, |       }, | ||||||
|       goto_previous_start = { |       swap = { | ||||||
|         ['[m'] = '@function.outer', |         enable = true, | ||||||
|         ['[['] = '@class.outer', |         swap_next = { | ||||||
|       }, |           ['<leader>a'] = '@parameter.inner', | ||||||
|       goto_previous_end = { |         }, | ||||||
|         ['[M'] = '@function.outer', |         swap_previous = { | ||||||
|         ['[]'] = '@class.outer', |           ['<leader>A'] = '@parameter.inner', | ||||||
|  |         }, | ||||||
|       }, |       }, | ||||||
|     }, |     }, | ||||||
|     swap = { |   } | ||||||
|       enable = true, | end, 0) | ||||||
|       swap_next = { |  | ||||||
|         ['<leader>a'] = '@parameter.inner', |  | ||||||
|       }, |  | ||||||
|       swap_previous = { |  | ||||||
|         ['<leader>A'] = '@parameter.inner', |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   }, |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| -- Diagnostic keymaps | -- Diagnostic keymaps | ||||||
| vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) | vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Chris Patti
						Chris Patti