From d40d3c9ef47cb74aea9e4a266e4bbe35b56e6295 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Wed, 8 Jul 2026 15:04:16 +0200 Subject: [PATCH] feat: add neovim webdev support --- modules/capabilities/neovim/default.nix | 8 ++++++++ .../neovim/lua-config/lua/plugins/formatting.lua | 13 +++++++++++++ .../neovim/lua-config/lua/plugins/lsp.lua | 6 ++++++ 3 files changed, 27 insertions(+) diff --git a/modules/capabilities/neovim/default.nix b/modules/capabilities/neovim/default.nix index 93bf155..19a4103 100644 --- a/modules/capabilities/neovim/default.nix +++ b/modules/capabilities/neovim/default.nix @@ -52,6 +52,13 @@ in dafny typescript typescript-language-server + prettier + prettierd + eslint + eslint_d + vscode-langservers-extracted + emmet-language-server + tailwindcss-language-server rustc rust-analyzer rustfmt @@ -93,6 +100,7 @@ in data = with pkgs.vimPlugins; [ nvim-lspconfig lazydev-nvim + nvim-navic trouble-nvim typst-preview-nvim ]; diff --git a/modules/capabilities/neovim/lua-config/lua/plugins/formatting.lua b/modules/capabilities/neovim/lua-config/lua/plugins/formatting.lua index c7388c1..f99ad75 100644 --- a/modules/capabilities/neovim/lua-config/lua/plugins/formatting.lua +++ b/modules/capabilities/neovim/lua-config/lua/plugins/formatting.lua @@ -14,6 +14,8 @@ require("lz.n").load({ }, }, after = function() + local prettier = { "prettierd", "prettier", stop_after_first = true } + require("conform").setup({ notify_on_error = true, format_on_save = function(bufnr) @@ -28,6 +30,17 @@ require("lz.n").load({ end end, formatters_by_ft = { + javascript = prettier, + javascriptreact = prettier, + typescript = prettier, + typescriptreact = prettier, + json = prettier, + jsonc = prettier, + css = prettier, + scss = prettier, + less = prettier, + html = prettier, + markdown = prettier, lua = { "stylua" }, python = { "ruff_fix", "ruff_format", "ruff_organize_imports" }, toml = { "taplo" }, diff --git a/modules/capabilities/neovim/lua-config/lua/plugins/lsp.lua b/modules/capabilities/neovim/lua-config/lua/plugins/lsp.lua index fd7be40..ae15e12 100644 --- a/modules/capabilities/neovim/lua-config/lua/plugins/lsp.lua +++ b/modules/capabilities/neovim/lua-config/lua/plugins/lsp.lua @@ -217,6 +217,12 @@ require("lz.n").load({ vim.lsp.enable("dafny") vim.lsp.enable("ts_ls") + vim.lsp.enable("eslint") + vim.lsp.enable("jsonls") + vim.lsp.enable("cssls") + vim.lsp.enable("html") + vim.lsp.enable("emmet_language_server") + vim.lsp.enable("tailwindcss") vim.lsp.enable("rust_analyzer") vim.lsp.enable("ty") vim.lsp.enable("ruff")