Auto install and auto start treesitter
This commit is contained in:
parent
348358bd6f
commit
a077ab060f
|
@ -33,14 +33,22 @@ vim.api.nvim_create_autocmd({ "InsertEnter", "WinLeave" }, {
|
|||
pattern = "*",
|
||||
})
|
||||
|
||||
-- Auto install treesitter parser and start them
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = require("tools.highlight"),
|
||||
callback = function()
|
||||
-- syntax highlighting, provided by Neovim
|
||||
vim.treesitter.start()
|
||||
-- folds, provided by Neovim
|
||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||
-- indentation, provided by nvim-treesitter
|
||||
desc = "Enable Treesitter",
|
||||
group = vim.api.nvim_create_augroup("enable_treesitter", {}),
|
||||
callback = function(event)
|
||||
local has_treesitter, treesitter = pcall(require, "nvim-treesitter")
|
||||
if has_treesitter then
|
||||
local language = vim.treesitter.language.get_lang(event.match)
|
||||
treesitter.install(language):await(function(a)
|
||||
if pcall(vim.treesitter.start) then
|
||||
-- Use Treesitter indentation and folds.
|
||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
||||
vim.wo.foldmethod = "expr"
|
||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||
end
|
||||
end)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
|
@ -11,12 +11,8 @@ return {
|
|||
branch = "main",
|
||||
build = ":TSUpdate",
|
||||
opts = {
|
||||
-- Add languages to be installed here that you want installed for treesitter
|
||||
ensure_installed = require("tools.highlight"),
|
||||
|
||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
||||
auto_install = true,
|
||||
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
incremental_selection = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user