feat: Allow escaping of context mentions #4362
Merged
+200
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Fixes #2931.
This PR implements the core functionality to allow escaping of context mentions with backslashes, enabling users to pass CLI-style arguments like
@/fooliterally without triggering file content expansion.This PR is a focused implementation of the core functionality requested in issue #2931, separated from the UI changes that were proposed in PR #3088. The UI changes will be implemented in a separate PR+issue combination as requested by @hannesrudolph.
Implementation
Mention Parsing (
src/shared/context-mentions.ts)(?<!\\)in the regex to ignore escaped@symbols.\@foois ignored and\\@foois interpreted as@foo.Subtask Unescaping (
src/core/tools/newTaskTool.ts)newTaskTool,\\@is converted to\@before initializing the subtask.Tests
\@,\\@,\\\\@).Get in Touch
Discord: KJ7LNW
Important
Adds functionality to escape context mentions using backslashes, updating regex and task handling logic, with corresponding tests.
context-mentions.ts.mentionRegexto include negative lookbehind(?<!\\)to ignore escaped@symbols.newTaskTool.ts, converts\\@to\@before initializing subtasks.newTaskTool.test.tsto verify unescaping behavior for\\@,\@, and@.context-mentions.test.tsto confirm regex changes handle escaped mentions correctly.This description was created by
for 097563b. You can customize this summary. It will automatically update as commits are pushed.