From 0fb066837653b8c90958095387526e883819a61c Mon Sep 17 00:00:00 2001 From: AnExiledDev Date: Thu, 26 Feb 2026 02:41:03 +0000 Subject: [PATCH] fix(chromaterm): replace alternation in lookbehinds for PCRE2 compat PCRE2 requires fixed-length lookbehinds. The file path regex used `(?<=[\s(]|^)` (variable-length alternation) and the git hash regex used `(?<=commit |merge |...)` (different-length alternatives). Replaced with non-capturing groups containing individual fixed-length lookbehinds that satisfy the PCRE2 constraint. Closes #15 --- .devcontainer/CHANGELOG.md | 3 +++ .devcontainer/features/chromaterm/chromaterm.yml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.devcontainer/CHANGELOG.md b/.devcontainer/CHANGELOG.md index c7dd0cd..a56f290 100644 --- a/.devcontainer/CHANGELOG.md +++ b/.devcontainer/CHANGELOG.md @@ -7,6 +7,9 @@ #### Plugin Marketplace - **`marketplace.json` schema fix** — changed all 11 plugin `source` fields from bare names (e.g., `"codeforge-lsp"`) to relative paths (`"./plugins/codeforge-lsp"`) so `claude plugin marketplace add` passes schema validation and all plugins register correctly +#### ChromaTerm +- **Regex lookbehinds** — replaced alternation inside lookbehinds (`(?<=[\s(]|^)` and `(?<=commit |merge |...)`) with non-capturing groups containing individual lookbehinds (`(?:(?<=[\s(])|^)` and `(?:(?<=commit )|(?<=merge )|...)`) for PCRE2 compatibility + ### Removed #### VS Code Extensions diff --git a/.devcontainer/features/chromaterm/chromaterm.yml b/.devcontainer/features/chromaterm/chromaterm.yml index d9a3cc3..565f56e 100644 --- a/.devcontainer/features/chromaterm/chromaterm.yml +++ b/.devcontainer/features/chromaterm/chromaterm.yml @@ -18,7 +18,7 @@ rules: # File paths with optional line numbers (e.g., src/main.py:42) # Covers common extensions for languages used in development - description: File paths with line numbers - regex: '(?<=[\s(]|^)([a-zA-Z0-9_./-]+\.(py|ts|tsx|js|jsx|md|json|yml|yaml|toml|sh|rs|go|sql|css|html|svelte))(:(\d+))?' + regex: '(?:(?<=[\s(])|^)([a-zA-Z0-9_./-]+\.(py|ts|tsx|js|jsx|md|json|yml|yaml|toml|sh|rs|go|sql|css|html|svelte))(:(\d+))?' color: 1: f.file_purple underline 4: f.line_gray @@ -31,5 +31,5 @@ rules: # Git short commit hashes (7-12 hex chars) - description: Git commit hashes - regex: '(?<=commit |merge |pick |revert |fixup )[0-9a-f]{7,40}' + regex: '(?:(?<=commit )|(?<=merge )|(?<=pick )|(?<=revert )|(?<=fixup ))[0-9a-f]{7,40}' color: f.hash_yellow