Skip to content

Commit 1000bdc

Browse files
committed
fix: escape $ in double-quoted shell descriptions
BugBot: escapeDblQuote was missing $ escaping which is special in double-quoted bash/fish strings. Add \$ replacement before " to prevent variable expansion in completion descriptions.
1 parent 9e86526 commit 1000bdc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/lib/completions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,9 +543,9 @@ function escapeSingleQuote(s: string): string {
543543
return s.replace(/'/g, "'\\''");
544544
}
545545

546-
/** Escape double quotes and backslashes for fish/bash completion descriptions. */
546+
/** Escape characters special in double-quoted shell strings (bash/fish). */
547547
function escapeDblQuote(s: string): string {
548-
return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
548+
return s.replace(/\\/g, "\\\\").replace(/\$/g, "\\$").replace(/"/g, '\\"');
549549
}
550550

551551
/**

0 commit comments

Comments
 (0)