From f4aba4166ca19abfe7860255b0e72c570d7c1993 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 03:33:36 +0000 Subject: [PATCH 01/10] add mason-only servers list also juggled servers around until checkhealth was happy --- nvim/lua/dzu/lsp/mason.lua | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/nvim/lua/dzu/lsp/mason.lua b/nvim/lua/dzu/lsp/mason.lua index 630a19d..d395dc6 100644 --- a/nvim/lua/dzu/lsp/mason.lua +++ b/nvim/lua/dzu/lsp/mason.lua @@ -1,8 +1,9 @@ local servers = { "rust_analyzer", -- rust "pyright", -- has no code formatting - -- "marksman", -- markdown + "black", "ts_ls", -- js, ts, tsx + "biome", "clangd", -- C "lua_ls", "hls", @@ -10,9 +11,14 @@ local servers = { "tinymist", "dockerls", "html", - -- "jdtls", - -- "xmlformatter" + "jdtls", } +local mason_only_servers = { + "fourmolu", + "xmlformatter", + "clang-format", +} + local nvimlsp_only_servers = { "nushell", } @@ -30,9 +36,16 @@ local settings = { max_concurrent_installers = 4, } -require("mason").setup(settings) +local mason_servers = {} +for _, nlsp_s in pairs(mason_only_servers) do + table.insert(mason_servers, nlsp_s) +end +for _, s in pairs(servers) do + table.insert(mason_servers, s) +end +require("mason").setup(mason_servers) require("mason-lspconfig").setup({ - ensure_installed = servers, + ensure_installed = mason_servers, automatic_enable = false, automatic_installation = true, }) From 0099fd2dac6258587f9b1e056224b432f54e635e Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 04:01:08 +0000 Subject: [PATCH 02/10] fix: lsp (mason) configuration --- nvim/lua/dzu/lsp/mason.lua | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/nvim/lua/dzu/lsp/mason.lua b/nvim/lua/dzu/lsp/mason.lua index d395dc6..682618c 100644 --- a/nvim/lua/dzu/lsp/mason.lua +++ b/nvim/lua/dzu/lsp/mason.lua @@ -1,7 +1,6 @@ local servers = { "rust_analyzer", -- rust "pyright", -- has no code formatting - "black", "ts_ls", -- js, ts, tsx "biome", "clangd", -- C @@ -17,9 +16,7 @@ local mason_only_servers = { "fourmolu", "xmlformatter", "clang-format", -} - -local nvimlsp_only_servers = { + "black", "nushell", } @@ -43,9 +40,10 @@ end for _, s in pairs(servers) do table.insert(mason_servers, s) end -require("mason").setup(mason_servers) +require("mason").setup(settings) + require("mason-lspconfig").setup({ - ensure_installed = mason_servers, + ensure_installed = servers, automatic_enable = false, automatic_installation = true, }) @@ -59,15 +57,8 @@ handlers.setup() local opts = {} -local nvim_lsp_servers = {} -for _, nlsp_s in pairs(nvimlsp_only_servers) do - table.insert(nvim_lsp_servers, nlsp_s) -end -for _, s in pairs(servers) do - table.insert(nvim_lsp_servers, s) -end -for _, server in pairs(nvim_lsp_servers) do +for _, server in pairs(servers) do opts = { -- on_attach = handlers.on_attach, capabilities = handlers.capabilities, From f1fef7172b60ea227a922ab89459349a72af4e02 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 04:02:01 +0000 Subject: [PATCH 03/10] add config for biome linter --- nvim/lua/dzu/lsp/biome.lua | 1 + 1 file changed, 1 insertion(+) create mode 100644 nvim/lua/dzu/lsp/biome.lua diff --git a/nvim/lua/dzu/lsp/biome.lua b/nvim/lua/dzu/lsp/biome.lua new file mode 100644 index 0000000..a564707 --- /dev/null +++ b/nvim/lua/dzu/lsp/biome.lua @@ -0,0 +1 @@ +return {} From 19de2d7e736bc408684c95d6955039a1f1103d6e Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 04:02:19 +0000 Subject: [PATCH 04/10] remove some unnecessary tree-sitter --- nvim/lua/dzu/plugins/tree-sitter.lua | 40 +++------------------------- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/nvim/lua/dzu/plugins/tree-sitter.lua b/nvim/lua/dzu/plugins/tree-sitter.lua index 7578ab5..6c4456f 100644 --- a/nvim/lua/dzu/plugins/tree-sitter.lua +++ b/nvim/lua/dzu/plugins/tree-sitter.lua @@ -17,7 +17,7 @@ local function config() "dockerfile", -- oh yeah. I should probably figure docker out... "fish", "gitignore", - -- "git_commit", + "gitcommit", "haskell", "html", "javascript", @@ -41,10 +41,10 @@ local function config() "nu", }, sync_install = false, - ignore_install = { "" }, -- List of parsers to ignore installing + ignore_install = {}, -- List of parsers to ignore installing highlight = { - enable = true, -- false will disable the whole extension - disable = { "" }, -- list of language that will be disabled + enable = true, -- false will disable the whole extension + disable = {}, -- list of language that will be disabled additional_vim_regex_highlighting = true, }, @@ -52,38 +52,6 @@ local function config() } configs.setup(config_opts) - -- latex parser - local is_ok, parsers = pcall(require, 'nvim-treesitter.parsers') - if not is_ok then - vim.notify("couldn't find tree sitter parsers") - return - end - local parser_configs = parsers.get_parser_configs() - parser_configs.latex = { - install_info = { - url = "https://github.com/latex-lsp/tree-sitter-latex", - files = { "src/parser.c", "src/scanner.c" }, -- note that some parsers also require src/scanner.c or src/scanner.cc - -- optional entries: - -- branch = "master", -- default branch in case of git repo if different from master - generate_requires_npm = false, -- if stand-alone parser without npm dependencies - requires_generate_from_grammar = true, -- if folder contains pre-generated src/parser.c - }, - filetype = "tex", -- if filetype does not match the parser name - } - - -- git commit parser - parser_configs.git_commit = { - install_info = { - url = "~/Repositories/random/tree-sitter-git-commit/", - files = { "src/parser.c" }, -- note that some parsers also require src/scanner.c or src/scanner.cc - -- optional entries: - -- branch = "master", -- default branch in case of git repo if different from master - generate_requires_npm = false, -- if stand-alone parser without npm dependencies - requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c - }, - filetype = "gitcommit", -- if filetype does not match the parser name - } - vim.cmd.TSUpdate() end From 28fd6aae2d3e4a01cdb49dcd28ea4c0bd540f56f Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:15:32 +0000 Subject: [PATCH 05/10] yet another lsp cleanup - refactored lsp config for allow independent requests for custom config - removed all lints and formatters from LSP config - deleted a bunch of empty config files - changed mason and mason-lspconfig from maintainer's fork to the org repo - remove separate nvim-jdtls plugin --- nvim/lua/dzu/lsp/.gitignore | 1 + nvim/lua/dzu/lsp/biome.lua | 1 - nvim/lua/dzu/lsp/dockerls.lua | 1 - nvim/lua/dzu/lsp/hls.lua | 24 -------- nvim/lua/dzu/lsp/init.lua | 23 ++++---- nvim/lua/dzu/lsp/jdtls.lua | 7 --- nvim/lua/dzu/lsp/mason.lua | 88 ++++++++++++++--------------- nvim/lua/dzu/lsp/nil_ls.lua | 4 -- nvim/lua/dzu/lsp/nushell.lua | 6 -- nvim/lua/dzu/lsp/ts_ls.lua | 1 - nvim/lua/dzu/plugins/lsp.lua | 16 ++---- nvim/lua/dzu/plugins/mason.lua | 4 ++ nvim/lua/dzu/plugins/nvim-jdtls.lua | 13 ----- 13 files changed, 67 insertions(+), 122 deletions(-) create mode 100644 nvim/lua/dzu/lsp/.gitignore delete mode 100644 nvim/lua/dzu/lsp/biome.lua delete mode 100644 nvim/lua/dzu/lsp/dockerls.lua delete mode 100644 nvim/lua/dzu/lsp/jdtls.lua delete mode 100644 nvim/lua/dzu/lsp/nil_ls.lua delete mode 100644 nvim/lua/dzu/lsp/nushell.lua delete mode 100644 nvim/lua/dzu/lsp/ts_ls.lua create mode 100644 nvim/lua/dzu/plugins/mason.lua delete mode 100644 nvim/lua/dzu/plugins/nvim-jdtls.lua diff --git a/nvim/lua/dzu/lsp/.gitignore b/nvim/lua/dzu/lsp/.gitignore new file mode 100644 index 0000000..abe8258 --- /dev/null +++ b/nvim/lua/dzu/lsp/.gitignore @@ -0,0 +1 @@ +*.lua_ diff --git a/nvim/lua/dzu/lsp/biome.lua b/nvim/lua/dzu/lsp/biome.lua deleted file mode 100644 index a564707..0000000 --- a/nvim/lua/dzu/lsp/biome.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/nvim/lua/dzu/lsp/dockerls.lua b/nvim/lua/dzu/lsp/dockerls.lua deleted file mode 100644 index a564707..0000000 --- a/nvim/lua/dzu/lsp/dockerls.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/nvim/lua/dzu/lsp/hls.lua b/nvim/lua/dzu/lsp/hls.lua index 9bbaabd..944266f 100644 --- a/nvim/lua/dzu/lsp/hls.lua +++ b/nvim/lua/dzu/lsp/hls.lua @@ -18,28 +18,4 @@ return { }, } } - -- cmd = { "haskell-language-server-wrapper", "--lsp", "-Wall" } - -- formattingProvider = "hls-stylish-haskell-plugin", - -- CRED: https://github.com/haskell/haskell-language-server/issues/4363 -- does not - -- work - --[[ - settings = { - plugin = { - -- CRED: https://github.com/haskell/haskell-language-server/issues/680 -- - -- does not work too! - ['ghcide'] = { - completionOn = false, - }, - ['pramas'] = { - completionOn = false, - }, - ['ghcide-completions'] = { - config = { - snippetsOn = false, - autoExtendOn = true - } - } - } - } - ]] -- } diff --git a/nvim/lua/dzu/lsp/init.lua b/nvim/lua/dzu/lsp/init.lua index 4e08259..916aec8 100644 --- a/nvim/lua/dzu/lsp/init.lua +++ b/nvim/lua/dzu/lsp/init.lua @@ -5,14 +5,15 @@ if not is_ok then return end --- format code on save -vim.api.nvim_create_autocmd({ "BufWritePre" }, { - pattern = { - "*.rs", -- rust sources - "*.py", -- python sources - "*.js", -- javascript sources - }, - callback = function(ev) - vim.lsp.buf.format() - end, -}) +-- -- format code on save +-- vim.api.nvim_create_autocmd({ "BufWritePre" }, { +-- pattern = { +-- "*.rs", -- rust sources +-- "*.py", -- python sources +-- "*.js", -- javascript sources +-- "*.html", -- html files +-- }, +-- callback = function(ev) +-- vim.lsp.buf.format() +-- end, +-- }) diff --git a/nvim/lua/dzu/lsp/jdtls.lua b/nvim/lua/dzu/lsp/jdtls.lua deleted file mode 100644 index 4b61ecf..0000000 --- a/nvim/lua/dzu/lsp/jdtls.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - settings = { - java = { - classPath = { "*.jar" } - } - } -} diff --git a/nvim/lua/dzu/lsp/mason.lua b/nvim/lua/dzu/lsp/mason.lua index 682618c..a4fb402 100644 --- a/nvim/lua/dzu/lsp/mason.lua +++ b/nvim/lua/dzu/lsp/mason.lua @@ -1,25 +1,3 @@ -local servers = { - "rust_analyzer", -- rust - "pyright", -- has no code formatting - "ts_ls", -- js, ts, tsx - "biome", - "clangd", -- C - "lua_ls", - "hls", - "nil_ls", - "tinymist", - "dockerls", - "html", - "jdtls", -} -local mason_only_servers = { - "fourmolu", - "xmlformatter", - "clang-format", - "black", - "nushell", -} - local settings = { ui = { border = "none", @@ -32,22 +10,47 @@ local settings = { log_level = vim.log.levels.INFO, max_concurrent_installers = 4, } - -local mason_servers = {} -for _, nlsp_s in pairs(mason_only_servers) do - table.insert(mason_servers, nlsp_s) -end -for _, s in pairs(servers) do - table.insert(mason_servers, s) -end require("mason").setup(settings) +local servers = { + { "rust_analyzer", "rust_analyzer" }, + { "pyright", "pyright", }, + { "ts_ls", nil }, + { "biome", nil }, + { "clangd", nil }, + { "lua_ls", "lua_ls" }, + -- { "hls", "hls" }, + { "nil_ls", nil }, + { "tinymist", "tinymist" }, + { "jdtls", nil }, + -- { "nushell", nil }, -- TODO what IS the lspconfig name? + { "html", nil }, + { "dockerls", nil }, +} +local lspconfig_servers = {} +for _, s in pairs(servers) do + local s0 = s[1] + if s0 ~= nil then + table.insert(lspconfig_servers, s0) + vim.lsp.enable(s0, true) + end +end + require("mason-lspconfig").setup({ - ensure_installed = servers, - automatic_enable = false, + ensure_installed = lspconfig_servers, + automatic_enable = true, automatic_installation = true, }) +local config_servers = {} +for _, s in pairs(servers) do + local s1 = s[2] + if s1 ~= nil then + table.insert(config_servers, s1) + end +end + + local is_ok, handlers = pcall(require, "dzu.lsp.handlers") if not is_ok then vim.notify("failed to initialize LSP handlers") @@ -55,24 +58,21 @@ if not is_ok then end handlers.setup() -local opts = {} - - -for _, server in pairs(servers) do - opts = { - -- on_attach = handlers.on_attach, - capabilities = handlers.capabilities, - } +local opts = { + capabilities = handlers.capabilities, +} +for _, server in pairs(config_servers) do server = vim.split(server, "@")[1] local is_ok, conf_opts = pcall(require, "dzu.lsp." .. server) - if is_ok then - opts = vim.tbl_deep_extend("force", conf_opts, opts) - else + if not is_ok then vim.notify("Failed to initialize config for " .. server) + goto continue end + local opts0 = vim.tbl_deep_extend("force", conf_opts, opts) - vim.lsp.config(server, opts) + vim.lsp.config(server, opts0) vim.lsp.enable(server, true) + ::continue:: end diff --git a/nvim/lua/dzu/lsp/nil_ls.lua b/nvim/lua/dzu/lsp/nil_ls.lua deleted file mode 100644 index 452cb9b..0000000 --- a/nvim/lua/dzu/lsp/nil_ls.lua +++ /dev/null @@ -1,4 +0,0 @@ --- (nix lsp) - -return { -} diff --git a/nvim/lua/dzu/lsp/nushell.lua b/nvim/lua/dzu/lsp/nushell.lua deleted file mode 100644 index 9c25ff0..0000000 --- a/nvim/lua/dzu/lsp/nushell.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - cmd = { "nu", "--plugins", "[~/.cargo/bin/nu_plugin_polars]", "--lsp", }, - filetypes = { "nu" }, - root_dir = require("lspconfig.util").find_git_ancestor, - single_file_support = true, -} diff --git a/nvim/lua/dzu/lsp/ts_ls.lua b/nvim/lua/dzu/lsp/ts_ls.lua deleted file mode 100644 index a564707..0000000 --- a/nvim/lua/dzu/lsp/ts_ls.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/nvim/lua/dzu/plugins/lsp.lua b/nvim/lua/dzu/plugins/lsp.lua index fca30c1..a34cbdc 100644 --- a/nvim/lua/dzu/plugins/lsp.lua +++ b/nvim/lua/dzu/plugins/lsp.lua @@ -1,4 +1,3 @@ --- CRED: nvim from scratch - https://github.com/LunarVim/Neovim-from-scratch/blob/06-LSP/lua/user/lsp/handlers.lua local function config() local is_ok, _ = pcall(require, 'dzu.lsp') if not is_ok then @@ -8,16 +7,13 @@ local function config() end return { - "neovim/nvim-lspconfig", + "mason-org/mason-lspconfig.nvim", + opts = {}, dependencies = { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - { - "hrsh7th/cmp-nvim-lsp", - lazy = false, - }, -- lsp suggestions - -- "jose-elias-alvarez/null-ls.nvim", - -- "jay-babu/mason-null-ls.nvim", + "mason-org/mason.nvim", + "neovim/nvim-lspconfig", + -- lsp completions + "hrsh7th/cmp-nvim-lsp", }, config = config, lazy = false, diff --git a/nvim/lua/dzu/plugins/mason.lua b/nvim/lua/dzu/plugins/mason.lua new file mode 100644 index 0000000..08a7e84 --- /dev/null +++ b/nvim/lua/dzu/plugins/mason.lua @@ -0,0 +1,4 @@ +return { + "mason-org/mason.nvim", + opts = {} +} diff --git a/nvim/lua/dzu/plugins/nvim-jdtls.lua b/nvim/lua/dzu/plugins/nvim-jdtls.lua deleted file mode 100644 index eaf0c7e..0000000 --- a/nvim/lua/dzu/plugins/nvim-jdtls.lua +++ /dev/null @@ -1,13 +0,0 @@ -local function config() - local is_ok, jdtls = pcall(require, "jdtls") - if not is_ok then - vim.notify "Couldn't load jdtls (java additional LSP plugin)" - return - end -end - -return { - "mfussenegger/nvim-jdtls", - config = config, - lazy = true, -} From 7d1fea660ad5063992fe61f8639e48fe10e5cb97 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:20:21 +0000 Subject: [PATCH 06/10] remove img-clip I'm not writing markdown with images anymore --- nvim/lua/dzu/plugins/img-clip.lua | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 nvim/lua/dzu/plugins/img-clip.lua diff --git a/nvim/lua/dzu/plugins/img-clip.lua b/nvim/lua/dzu/plugins/img-clip.lua deleted file mode 100644 index 70f663c..0000000 --- a/nvim/lua/dzu/plugins/img-clip.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - "HakonHarnes/img-clip.nvim", - event = "VeryLazy", - opts = { - default = { - -- file and directory options - dir_path = "/home/dzu/.wiki/attachments/", ---@type string - extension = "png", ---@type string - file_name = "%Y-%m-%d-%H-%M-%S", ---@type string - use_absolute_path = false, ---@type boolean - relative_to_current_file = false, ---@type boolean - } - }, - lazy = false, -} From d3d9852e1e4b67b3990aebb26a7985da0c6dcd28 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:21:10 +0000 Subject: [PATCH 07/10] plugin(url-open): use default browser --- nvim/lua/dzu/plugins/url-open.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvim/lua/dzu/plugins/url-open.lua b/nvim/lua/dzu/plugins/url-open.lua index edbe048..a14261c 100644 --- a/nvim/lua/dzu/plugins/url-open.lua +++ b/nvim/lua/dzu/plugins/url-open.lua @@ -4,7 +4,7 @@ local function config() return end url_open.setup({ - open_app = 'librewolf', + open_app = 'default', }) end From ed0caff48a8a98880484f056e46ac9224638143a Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:21:57 +0000 Subject: [PATCH 08/10] plugin(conform): formatter list update - remove haskell - add lua back --- nvim/lua/dzu/plugins/formatting.lua | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nvim/lua/dzu/plugins/formatting.lua b/nvim/lua/dzu/plugins/formatting.lua index 11425d1..9564951 100644 --- a/nvim/lua/dzu/plugins/formatting.lua +++ b/nvim/lua/dzu/plugins/formatting.lua @@ -8,16 +8,13 @@ local function config() -- js/ts fomatters local web_fmt = { "biome" }; local fomatters_by_ft = { - -- lua = { "stylua" }, + lua = { "stylua" }, python = { "black" }, javascript = web_fmt, javascriptreact = web_fmt, typescript = web_fmt, typescriptreact = web_fmt, json = web_fmt, - haskell = { "fourmolu" }, - lhaskell = { "fourmolu" }, - cabal = { "fourmolu" }, -- nix = { "nixfmt" }, cpp = { "clang-format" }, xml = { "xmlformatter" }, From e98b7a9048e4f1026cbf2e6826a66f769c1e9793 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:23:05 +0000 Subject: [PATCH 09/10] plugin(nvim-lint): update linter list - remove haskell linters - remove docker linter (hadolint) - add gitcommit linter - add html linter --- nvim/lua/dzu/plugins/lint.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nvim/lua/dzu/plugins/lint.lua b/nvim/lua/dzu/plugins/lint.lua index f7b7d87..3cc2db0 100644 --- a/nvim/lua/dzu/plugins/lint.lua +++ b/nvim/lua/dzu/plugins/lint.lua @@ -25,10 +25,12 @@ local function config() typescript = web_linters, typescriptreact = web_linters, json = web_linters, - haskell = { 'hlint' }, - lhaskell = { 'hlint' }, - cabal = { 'hlint' }, - dockerfile = { "hadolint" }, + -- haskell = { 'hlint' }, + -- lhaskell = { 'hlint' }, + -- cabal = { 'hlint' }, + -- dockerfile = { "hadolint" }, -- kinda broken? + gitcommit = { 'gitlint' }, + html = { 'htmlhint' }, } -- add to tool list for _, lints in pairs(names(linters_by_ft, "mason")) do @@ -41,7 +43,7 @@ local function config() -- autolint on save vim.api.nvim_create_autocmd({ "BufWritePost", "BufReadPost" }, { - pattern = { "*.js", "*.ts", "*.jsx", "*.tsx", "*.json", "*.hs", "*Dockerfile*" }, + pattern = { "*.js", "*.ts", "*.jsx", "*.tsx", "*.json", "*.hs", "*.html", "*COMMIT_EDITMSG" }, callback = function(_) lint.try_lint() end, From 40fd46f2906077bea6e2943babfa7e11686d0c52 Mon Sep 17 00:00:00 2001 From: Dzuchun Date: Thu, 25 Dec 2025 07:24:00 +0000 Subject: [PATCH 10/10] plugin(tree-sitter): add missing parsers - java - diff - git_rebase - gitcommit --- nvim/lua/dzu/plugins/tree-sitter.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nvim/lua/dzu/plugins/tree-sitter.lua b/nvim/lua/dzu/plugins/tree-sitter.lua index 6c4456f..c1e9739 100644 --- a/nvim/lua/dzu/plugins/tree-sitter.lua +++ b/nvim/lua/dzu/plugins/tree-sitter.lua @@ -17,6 +17,8 @@ local function config() "dockerfile", -- oh yeah. I should probably figure docker out... "fish", "gitignore", + "diff", + "git_rebase", "gitcommit", "haskell", "html", @@ -39,6 +41,7 @@ local function config() "vimdoc", "xml", "nu", + "java", }, sync_install = false, ignore_install = {}, -- List of parsers to ignore installing