Skip to content

Switch Mason to stylelint-language-server (plus tmux + copilot tidy)#312

Merged
djensenius merged 4 commits into
mainfrom
mason-stylelint-language-server
May 10, 2026
Merged

Switch Mason to stylelint-language-server (plus tmux + copilot tidy)#312
djensenius merged 4 commits into
mainfrom
mason-stylelint-language-server

Conversation

@djensenius
Copy link
Copy Markdown
Owner

@djensenius djensenius commented May 8, 2026

Mason: switch to stylelint-language-server

The stylelint-lsp Mason package is deprecated (since 2026-03-27) in favor of stylelint-language-server, which surfaces as a :checkhealth mason warning:

W deprecated: stylelint-lsp is deprecated in favor of stylelint-language-server
  Deprecated since version 2026-03-27

Why this works

Both Mason packages (stylelint-lsp and stylelint-language-server) map to the same nvim-lspconfig server name stylelint_lsp, and the lspconfig in nvim-lspconfig has been updated to invoke the stylelint-language-server binary directly. So no changes are needed in nvim/lua/plugins/nvim-lspconfig.luavim.lsp.config("stylelint_lsp", …) and vim.lsp.enable("stylelint_lsp") keep working and just pick up the new binary.

Changes

  • Remove stylelint_lsp from mason-lspconfig's ensure_installed (which was resolving to the deprecated stylelint-lsp Mason package via mason-lspconfig's name mapping).
  • Add stylelint-language-server directly to the Mason registry tools list in the deferred installer, so Mason installs the new package by name.

One-time local cleanup

After pulling this branch, run the following inside Neovim to remove the deprecated package that's still installed locally:

:MasonUninstall stylelint-lsp

The next start will install stylelint-language-server automatically via the registry tools list.


tmux: split TPM keybinding overrides into post-tpm.conf

The TPM override bindings (I, U, M-u) only work if they're declared after run ~/.config/tmux/plugins/tpm/tpm. Inlining them right below the run line worked but obscured that ordering requirement. Moving them into tmux/post-tpm.conf and sourcing that file makes the intent explicit. Also drops the manual -e TMUX=… env injection on display-popup — tmux already propagates the parent TMUX environment.

fish: regenerate copilot completions

Re-ran copilot completion fish; the newer generator quotes condition predicates ('__fish_use_subcommand') and subcommand names ('login', 'install', etc.). No behavior change.

djensenius and others added 3 commits May 8, 2026 09:58
The stylelint-lsp Mason package is deprecated (since 2026-03-27) in favor
of stylelint-language-server. Both Mason packages map to the same
nvim-lspconfig server name (stylelint_lsp), and the lspconfig now invokes
the stylelint-language-server binary, so no lspconfig changes are needed.

- Remove stylelint_lsp from mason-lspconfig ensure_installed (which was
  resolving to the deprecated stylelint-lsp Mason package)
- Add stylelint-language-server directly to the Mason registry tools list

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Re-ran 'copilot completion fish'; the newer generator quotes condition
predicates and subcommand names.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sourcing a separate file after 'run ~/.config/tmux/plugins/tpm/tpm'
makes it clearer that these bindings are intentionally applied after
TPM loads so they override TPM's own I/U/M-u bindings. Also drop the
explicit -e TMUX=… flag on display-popup; tmux propagates the parent
TMUX environment automatically.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@djensenius djensenius changed the title Switch Mason to stylelint-language-server Switch Mason to stylelint-language-server (plus tmux + copilot tidy) May 8, 2026
@djensenius djensenius merged commit 88fc706 into main May 10, 2026
5 checks passed
@djensenius djensenius deleted the mason-stylelint-language-server branch May 10, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant