From 826d812ee6a33aadcbc46ab3c874e71f221ce20a Mon Sep 17 00:00:00 2001 From: Holger Preu Date: Mon, 28 Sep 2026 20:35:52 +0200 Subject: [PATCH] removed typescript, tailwind, javascript and svelte tooling Drop ts_ls, tailwindcss and eslint servers, eslint_d, the typescript/tsx/javascript/svelte treesitter parsers and their prettier rules. Update CLAUDE.md, including the pending notes on blink.cmp and lazydev. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 23 ++++++++++++++++------- lua/holger/plugins/formatting.lua | 5 ----- lua/holger/plugins/lsp/mason.lua | 4 ---- lua/holger/plugins/treesitter.lua | 4 ---- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index b9af04c..da58f2c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,9 +8,10 @@ Personal Neovim configuration using [lazy.nvim](https://github.com/folke/lazy.nv ## Architecture -**Entry point:** `init.lua` loads two modules: +**Entry point:** `init.lua` loads three modules: - `holger.core` — Neovim options and keymaps (`lua/holger/core/`) - `holger.lazy` — bootstraps lazy.nvim and loads all plugins +- `holger.lsp` — LSP keymaps and diagnostic signs **Plugin loading:** `lua/holger/lazy.lua` calls `require("lazy").setup()` with two import paths: - `holger.plugins` — all files in `lua/holger/plugins/` (each returns a lazy.nvim spec table) @@ -27,14 +28,22 @@ Personal Neovim configuration using [lazy.nvim](https://github.com/folke/lazy.nv ## LSP Stack - `mason.nvim` — installs LSP servers and tools -- `mason-lspconfig.nvim` — bridges Mason with nvim-lspconfig; auto-installs: `ts_ls`, `html`, `cssls`, `tailwindcss`, `lua_ls`, `pyright`, `eslint` -- `mason-tool-installer.nvim` — installs formatters/linters: `prettier`, `stylua`, `isort`, `black`, `pylint`, `eslint_d` -- `cmp-nvim-lsp` (`lua/holger/plugins/lsp/lspconfig.lua`) — sets up capabilities via `vim.lsp.config("*", ...)` (native Neovim LSP API) +- `mason-lspconfig.nvim` — bridges Mason with nvim-lspconfig; auto-installs: `html`, `cssls`, `lua_ls`, `pyright` +- `mason-tool-installer.nvim` — installs formatters/linters: `prettier`, `stylua`, `isort`, `black`, `pylint` +- `blink.cmp` (`lua/holger/plugins/blink-cmp.lua`) — sets up LSP capabilities via `vim.lsp.config("*", ...)` (native Neovim LSP API) +- `lazydev.nvim` — Lua LSP annotations for Neovim API (`vim.*`) + +## Completion + +- **blink.cmp** — completion engine with built-in LSP, buffer, path, and snippet sources + - Replaces: nvim-cmp, cmp-nvim-lsp, LuaSnip, lspkind, nvim-autopairs + - Snippets loaded from `friendly-snippets` + - Auto-brackets enabled (replaces nvim-autopairs) ## Formatting & Linting - **conform.nvim** — formats on save; `mp` to format manually - - JS/TS/CSS/HTML/JSON/YAML/Markdown/GraphQL → prettier + - CSS/HTML/JSON/YAML/Markdown/GraphQL → prettier - Lua → stylua - Python → isort + black - **nvim-lint** — lints on BufEnter/BufWritePost/InsertLeave; `l` to trigger manually @@ -61,10 +70,10 @@ Personal Neovim configuration using [lazy.nvim](https://github.com/folke/lazy.nv - **telescope.nvim** — fuzzy finder with fzf-native extension - **nvim-treesitter** — syntax highlighting and incremental selection (``) -- **nvim-cmp** — completion engine with LuaSnip snippets and LSP/buffer/path sources +- **blink.cmp** — completion engine with LSP/buffer/path/snippet sources - **flash.nvim** — enhanced motion with jump labels; integrated into `/` search -- **neorg** — note-taking, workspace at `~/notes` - **auto-session** — automatic session save/restore - **which-key** — displays keybinding hints - **fugitive** — Git integration - **trouble.nvim** — diagnostics list +- **lazydev.nvim** — Lua LSP support for Neovim config development diff --git a/lua/holger/plugins/formatting.lua b/lua/holger/plugins/formatting.lua index c1178e6..261ada0 100644 --- a/lua/holger/plugins/formatting.lua +++ b/lua/holger/plugins/formatting.lua @@ -6,11 +6,6 @@ return { conform.setup({ formatters_by_ft = { - javascript = { "prettier" }, - typescript = { "prettier" }, - javascriptreact = { "prettier" }, - typescriptreact = { "prettier" }, - svelte = { "prettier" }, css = { "prettier" }, html = { "prettier" }, json = { "prettier" }, diff --git a/lua/holger/plugins/lsp/mason.lua b/lua/holger/plugins/lsp/mason.lua index bf7b51f..0874373 100644 --- a/lua/holger/plugins/lsp/mason.lua +++ b/lua/holger/plugins/lsp/mason.lua @@ -4,13 +4,10 @@ return { opts = { -- list of servers for mason to install ensure_installed = { - "ts_ls", "html", "cssls", - "tailwindcss", "lua_ls", "pyright", - "eslint", }, }, dependencies = { @@ -38,7 +35,6 @@ return { "isort", -- python formatter "black", -- python formatter "pylint", - "eslint_d", }, }, dependencies = { diff --git a/lua/holger/plugins/treesitter.lua b/lua/holger/plugins/treesitter.lua index 8053eee..788f496 100644 --- a/lua/holger/plugins/treesitter.lua +++ b/lua/holger/plugins/treesitter.lua @@ -16,16 +16,12 @@ return { -- ensure these language parsers are installed ensure_installed = { "json", - "javascript", - "typescript", - "tsx", "yaml", "html", "css", "prisma", "markdown", "markdown_inline", - "svelte", "graphql", "bash", "lua",