Skip to content

v0.11.30

@MenkeTechnologies MenkeTechnologies tagged this 06 Jun 20:13
Three plugin lexer bugs fixed:

* `$(...)` inside `"..."` rendered its body as STRING instead of code —
  lexInsideDqArith/Cmdsub restored a stale tokenStart after the inner
  advance() and the IDE saw overlapping token ranges, re-coloring the
  inner identifiers/numbers as the surrounding STRING. Removed the
  restore in both fns.

* Top-level `$((expr))` / `$(cmd)` flipped to STATE_DQ_RESUME on close,
  poisoning the lexer into STRING_DQ mode for the entire rest of the
  file. Added `dqInterpResumeState` defaulting to STATE_NORMAL for
  top-level opens; in-DQ opens override to STATE_DQ_RESUME.

* TypoInspection fired on `bracecomplete` / `paramsubst` / paths /
  banners inside DQ strings. New ZshrsSpellcheckingStrategy returns
  EMPTY_TOKENIZER for STRING_*/COMMENT/HEREDOC/SHEBANG/STRING_ESCAPE/
  STRING_FORMAT tokens. Identifiers + command names still spell-checked.

Also wires the ztest builtin names into highlight_shell() so
`zassert_*` / `ztest_*` / `run_tests` render as commands (not Error).

Plugin bumped to lockstep with workspace (0.11.30).
Assets 2
Loading