From 115e297e06a57b1729d8be9d28475be57092cd62 Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Wed, 30 Apr 2025 15:52:20 -0400 Subject: [PATCH] add stylelint --- modules/home-manager/nixcats/default.nix | 1 + modules/home-manager/nixcats/init.lua | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/modules/home-manager/nixcats/default.nix b/modules/home-manager/nixcats/default.nix index 140a15d..2a3dd41 100644 --- a/modules/home-manager/nixcats/default.nix +++ b/modules/home-manager/nixcats/default.nix @@ -48,6 +48,7 @@ in { typescript-language-server vscode-langservers-extracted vue-language-server + stylelint-lsp ]; }; diff --git a/modules/home-manager/nixcats/init.lua b/modules/home-manager/nixcats/init.lua index 39c9f58..0d587c7 100644 --- a/modules/home-manager/nixcats/init.lua +++ b/modules/home-manager/nixcats/init.lua @@ -145,6 +145,23 @@ require("snacks").setup({ gitbrowse = {}, scope = {}, }) + +-- LSP Progress indicator +vim.api.nvim_create_autocmd("LspProgress", { + ---@param ev {data: {client_id: integer, params: lsp.ProgressParams}} + callback = function(ev) + local spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" } + vim.notify(vim.lsp.status(), "info", { + id = "lsp_progress", + title = "LSP Progress", + opts = function(notif) + notif.icon = ev.data.params.value.kind == "end" and " " + or spinner[math.floor(vim.uv.hrtime() / (1e6 * 80)) % #spinner + 1] + end, + }) + end, +}) + vim.keymap.set("n", "gg", function() Snacks.lazygit.open() end, { desc = 'Snacks LazyGit' }) vim.keymap.set('n', "sf", function() Snacks.picker.smart() end, { desc = "Smart Find Files" }) vim.keymap.set('n', "s", function() Snacks.picker.buffers() end, { desc = "Search Buffers" }) @@ -685,6 +702,11 @@ require('lze').load { enabled = nixCats('typescript') or false, lsp = {}, }, + { + "stylelint_lsp", + enabled = nixCats('typescript') or false, + lsp = {}, + }, { "gopls", enabled = nixCats("go") or false,