tree-sitter.tree-sitter/crates
Will Lillis b6243a5234 fix(generate): fold case-insensitive patterns ourselves
Unicode simple case folding maps two non-ASCII code points onto ASCII
letters: the long s `ſ` (U+017F) onto `s`, and the Kelvin sign `K` (U+212A)
onto `k`. So `regex_syntax` pulls them into any case-insensitive pattern,
which is virtually never intended and has two bad effects:

  * such tokens can no longer be extracted as keywords, because they are not
    a subset of an ASCII `word` token (#5607)
  * a broad class like `[^"]` or `\p{L}` carrying `/i` loses `ſ`/`K`, even
    though it legitimately contains them (#5755)

Rather than let `regex_syntax` fold, parse patterns unfolded and fold them
ourselves in `case_fold_ascii_safe`: fold via `regex_syntax`, then drop
`ſ`/`K` only when folding introduced them (they were not already in the
base set). A class that already contains them keeps them.
2026-07-16 23:53:31 -04:00
..
cli release v0.26.11 2026-07-12 12:05:46 +02:00
config refactor(config)!: transition from anyhow to thiserror 2025-11-14 11:28:00 +01:00
generate fix(generate): fold case-insensitive patterns ourselves 2026-07-16 23:53:31 -04:00
highlight fix(rust): fix new clippy lints 2026-04-23 02:19:20 -04:00
language 0.26.5 2026-02-01 20:27:27 +01:00
loader fix(rust): fix new clippy lints 2026-04-23 02:19:20 -04:00
tags fix(rust): address new clippy lints 2026-07-11 00:46:19 -04:00
xtask fix(xtask): eliminate silent errors in zig fetch 2026-06-30 20:06:29 -04:00