Skip to content

Deprecated vars strike through and unused var fade + codehints and lsp preferences#3038

Merged
abose merged 3 commits into
mainfrom
ai
Jul 25, 2026
Merged

Deprecated vars strike through and unused var fade + codehints and lsp preferences#3038
abose merged 3 commits into
mainfrom
ai

Conversation

@abose

@abose abose commented Jul 25, 2026

Copy link
Copy Markdown
Member

Deprecated and unused vars

image

Only works when ts check is enebaled in jsconfig.json in JS files or if writing a ts file.

in PHP

image

Hint-severity (4) LSP diagnostics without tags are refactoring
suggestions (e.g. tsserver's "File is a CommonJS module; it may be
converted to an ES module") - drop them in the publishDiagnostics path
so they never reach the problems panel or the quickfix layer.

Tagged hints stay: unused symbols (tag Unnecessary) and deprecated
usages (tag Deprecated) keep their panel row and squiggle, and now
additionally render faded / struck-through in the editor via new
editor-text-fragment-unnecessary/-deprecated mark classes applied from
the diagnostic tags.

Specs: tagged hints survive with panel rows + text marks; the untagged
CommonJS suggestion never comes through (publish-level capture).

preferences

  • new showParameterHints pref (default true) gating the parameter hint
    popup for implicit and explicit invocation, dismissing a visible popup
    the moment it flips off
  • every language server now has a codeIntelligence. off-switch:
    LSPClient gates registerLanguageServer on it and auto-defines the pref
    for plugin-supplied servers so they get a discoverable toggle for free
  • runtime toggling handled centrally in LSPClient: pref off stops the
    server process (fallback linters take over), pref on restarts in place;
    restartLanguageServer/changeWorkspaceRoot/crash auto-restart guarded so
    a disabled server can never resurrect
  • new typescript/json master prefs; php/python prefs renamed to the new
    codeIntelligence.* family (dev-only, no aliases needed)
  • pref-off stop no longer logged as a crash (serverExit race with the
    _stopping flag)
  • specs: LSPClient gate + auto-define, stop/block-resurrection/restart,
    showParameterHints gating, json toggle round-trip

and other changes, see commit description

abose added 3 commits July 25, 2026 12:24
Lets users hide the documentation popup shown beside code hints
while keeping the hint list itself enabled.
…Hints pref

- new showParameterHints pref (default true) gating the parameter hint
  popup for implicit and explicit invocation, dismissing a visible popup
  the moment it flips off
- every language server now has a codeIntelligence.<serverId> off-switch:
  LSPClient gates registerLanguageServer on it and auto-defines the pref
  for plugin-supplied servers so they get a discoverable toggle for free
- runtime toggling handled centrally in LSPClient: pref off stops the
  server process (fallback linters take over), pref on restarts in place;
  restartLanguageServer/changeWorkspaceRoot/crash auto-restart guarded so
  a disabled server can never resurrect
- new typescript/json master prefs; php/python prefs renamed to the new
  codeIntelligence.* family (dev-only, no aliases needed)
- pref-off stop no longer logged as a crash (serverExit race with the
  _stopping flag)
- specs: LSPClient gate + auto-define, stop/block-resurrection/restart,
  showParameterHints gating, json toggle round-trip
Hint-severity (4) LSP diagnostics without tags are refactoring
suggestions (e.g. tsserver's "File is a CommonJS module; it may be
converted to an ES module") - drop them in the publishDiagnostics path
so they never reach the problems panel or the quickfix layer.

Tagged hints stay: unused symbols (tag Unnecessary) and deprecated
usages (tag Deprecated) keep their panel row and squiggle, and now
additionally render faded / struck-through in the editor via new
editor-text-fragment-unnecessary/-deprecated mark classes applied from
the diagnostic tags.

Specs: tagged hints survive with panel rows + text marks; the untagged
CommonJS suggestion never comes through (publish-level capture).
@sonarqubecloud

Copy link
Copy Markdown

@abose abose changed the title codehints and lsp preferences deprecated vars strike through and unused var fade + codehints and lsp preferences Jul 25, 2026
@abose abose changed the title deprecated vars strike through and unused var fade + codehints and lsp preferences Deprecated vars strike through and unused var fade + codehints and lsp preferences Jul 25, 2026
@abose
abose merged commit 8f0a811 into main Jul 25, 2026
11 of 21 checks passed
@abose
abose deleted the ai branch July 25, 2026 14:04
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