Skip to content

Spintax 1.3.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 10:59
· 2 commits to main since this release

Added

  • Nesting shades. Braces and brackets carry a cycling .depth-1.depth-4
    scope suffix (depth 5 wears depth-1 again), so a colour scheme can shade
    pairs by nesting level the way Spintax Studio does. The suffix extends the
    existing scopes, so every current selector and theme keeps matching and
    default schemes look unchanged; README shows the customization snippet.

Fixed

Divergences from the engine, found by comparing against Spintax Studio's
differentially-tested tokenizer (SpxTokens):

  • A trailing separator must stand before |: the <br> in [a|b<br>] sits
    before the closing ], belongs to the last element, and is now left as text.
  • A trailing-separator candidate may not contain |, {, }, [ or ]
    those end the element before any separator is looked for. [a< | >|b] is
    three options to the engine, and its pipes are now painted as the separators
    they are instead of being swallowed by a phantom < | > separator. The empty
    separator <> is now recognised, as the engine renders it.
  • {plural x|y: z} is no longer mis-highlighted as a plural: the engine gives
    up on the head at the first |, so the : must come before any pipe.
  • Blanks between [ and a leading config no longer disable it: the engine
    left-trims the first part, so [ <minsize=2>a|b] is config and highlights
    as config.
  • The gap after #include accepts VT and FF as well as space and tab, matching
    the engine's include anchor — deliberately wider than the #set/#def one.
    Spelled \s, which is line-local in a sublime-syntax pattern (\x0B/\f
    escapes break Sublime's regex compiler, silently disabling the context they
    appear in).

Changed

  • /# glued to preceding text no longer opens a multi-line comment, so a bare
    URL fragment (https://example.com/#top) does not grey out the rest of the
    document. The engine (v0.5.0) opens a comment only when a #/ occurs later in
    the document; a line-based grammar cannot see other lines, so the rule is
    approximated: /#…#/ closed on its own line is always a comment, and a
    multi-line comment must open at line start or after a blank. Both residual
    errors under-claim (miss a real comment) rather than paint a phantom one.
  • Pushing a version tag now publishes the GitHub Release automatically, with
    notes taken from this file's matching section; a tag with no section fails the
    job instead of publishing an empty release. The three newest releases are kept
    and older entries removed — tags are never deleted, since Package Control
    resolves installable versions from them.
  • CI uses actions/checkout@v5; v4 targets the deprecated Node.js 20.
  • README: new Nesting shades section with the colour-scheme snippet, and
    Spintax Studio joins the Related list.