feat: switch from lazy to vim.pack
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
-- https://github.com/nvim-treesitter/nvim-treesitter
|
||||
local log = require("log")
|
||||
|
||||
local languages = {
|
||||
"dap_repl",
|
||||
"bash",
|
||||
"zsh",
|
||||
"python",
|
||||
@@ -23,54 +22,46 @@ local languages = {
|
||||
"markdown",
|
||||
"go",
|
||||
"svelte",
|
||||
{ "scss", extra_ft = { "css" } },
|
||||
"scss",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"yaml",
|
||||
}
|
||||
|
||||
---@type LazyPluginSpec
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
lazy = false,
|
||||
build = function()
|
||||
local ts = require("nvim-treesitter")
|
||||
ts.install(languages):await(ts.update)
|
||||
end,
|
||||
dependencies = {
|
||||
{
|
||||
"LiadOz/nvim-dap-repl-highlights",
|
||||
config = true,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local ts = require("nvim-treesitter")
|
||||
ts.install(languages):await(function()
|
||||
local filetypes = {}
|
||||
for i, value in ipairs(languages) do
|
||||
local lang = value
|
||||
if type(value) == "table" then
|
||||
lang = value[1]
|
||||
for _, ft in ipairs(value.extra_ft) do
|
||||
vim.treesitter.language.register(lang, ft)
|
||||
end
|
||||
filetypes[i] = lang
|
||||
end
|
||||
for _, ft in ipairs(vim.treesitter.language.get_filetypes(lang)) do
|
||||
if not vim.list_contains(filetypes, ft) then
|
||||
table.insert(filetypes, ft)
|
||||
end
|
||||
local ts = require("nvim-treesitter")
|
||||
ts.setup({
|
||||
install_dir = string.format("%s/nvim-treesitter", vim.fn.stdpath("data"))
|
||||
})
|
||||
ts.install(languages):await(function(err)
|
||||
if err then
|
||||
log.error("Error: %s", err)
|
||||
return
|
||||
end
|
||||
|
||||
---@diagnostic disable-next-line: redefined-local
|
||||
ts.update():await(function(err)
|
||||
if err then
|
||||
log.error("Error: %s", err)
|
||||
return
|
||||
end
|
||||
|
||||
local filetypes = {}
|
||||
for _, lang in ipairs(languages) do
|
||||
for _, ft in ipairs(vim.treesitter.language.get_filetypes(lang)) do
|
||||
if not vim.list_contains(filetypes, ft) then
|
||||
table.insert(filetypes, ft)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = filetypes,
|
||||
callback = function()
|
||||
vim.treesitter.start()
|
||||
vim.wo.foldmethod = "expr"
|
||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||
end,
|
||||
})
|
||||
end)
|
||||
end,
|
||||
}
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = filetypes,
|
||||
callback = function()
|
||||
vim.treesitter.start()
|
||||
vim.wo.foldmethod = "expr"
|
||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
||||
end,
|
||||
})
|
||||
end
|
||||
)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user