diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 8bda1a1..1abb264 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -67,16 +67,16 @@ return { lspconfig.ts_ls.setup({ capabilities = capabilities, - init_options = { - plugins = { - { - name = "@vue/typescript-plugin", - location = vue_language_server, - languages = { "vue" }, - } - } - }, - filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" } + init_options = { + plugins = { + { + name = "@vue/typescript-plugin", + location = vue_language_server, + languages = { "vue" }, + }, + }, + }, + filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" }, }) lspconfig.html.setup({ @@ -160,6 +160,20 @@ return { ) end + vim.api.nvim_create_autocmd({ "FileType" }, { + callback = function() + -- check if treesitter has parser + if require("nvim-treesitter.parsers").has_parser() then + -- use treesitter folding + vim.opt.foldmethod = "expr" + vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + else + -- use alternative foldmethod + vim.opt.foldmethod = "syntax" + end + end, + }) + vim.keymap.set( "n", "ca", diff --git a/lua/vim-options.lua b/lua/vim-options.lua index 6c7a993..763522f 100644 --- a/lua/vim-options.lua +++ b/lua/vim-options.lua @@ -13,6 +13,7 @@ vim.g.mapleader = " " vim.g.maplocalleader = "\\" vim.opt.wrap = false vim.opt.shadafile = "NONE" +vim.opt.foldlevelstart = 99 vim.keymap.set("n", "y", '"+y', { desc = "Yank to system clipboard" }) vim.keymap.set("v", "y", '"+y', { desc = "Yank to system clipboard" })