Keep occ output brackets escaped through the formatters
The overtyping and from_ansi formatters unescape brackets before they parse the text, so escaping them beforehand was not enough: literal brackets were still read as formatting. Enable unixFormattingEscapeBrackets so both formatters escape the text again after parsing. Verified in the browser: Symfony's "[alias]" in `occ list` stays in place, ANSI colors still work, and formatting in the output text (colors, links) is no longer applied. Bump the version to 0.4.4 so browsers load the new script.
This commit is contained in:
+1
-1
@@ -5,7 +5,7 @@
|
||||
<name>Extended OCC Web</name>
|
||||
<summary>OCC Commands in a web terminal</summary>
|
||||
<description><![CDATA[Run OCC Commands in a web terminal]]></description>
|
||||
<version>0.4.3</version>
|
||||
<version>0.4.4</version>
|
||||
<licence>agpl</licence>
|
||||
<author mail="dillard.blom@ensembia.com" >Dillard Blom</author>
|
||||
<namespace>OCCWeb</namespace>
|
||||
|
||||
+5
-1
@@ -17,7 +17,8 @@
|
||||
// occ output is plain text with ANSI colors, but jQuery Terminal reads
|
||||
// "[" and "]" as its own formatting syntax. Escape the brackets in the
|
||||
// text (e.g. Symfony's "[alias]" in `occ list`) and leave the ANSI
|
||||
// sequences alone, so from_ansi can still turn them into colors.
|
||||
// sequences alone, so from_ansi can still turn them into colors. This
|
||||
// only works together with unixFormattingEscapeBrackets (see below).
|
||||
function escapeOutputBrackets(output) {
|
||||
return String(output).replace(/(\x1B\[[0-9;]*[A-Za-z])|[\[\]]/g, function (match, ansi) {
|
||||
return ansi ? ansi : (match === '[' ? '[' : ']');
|
||||
@@ -408,6 +409,9 @@
|
||||
name: 'occ',
|
||||
prompt: OCC_PROMPT,
|
||||
completion: response,
|
||||
// The overtyping and from_ansi formatters unescape brackets before
|
||||
// parsing; this makes them escape the text again afterwards.
|
||||
unixFormattingEscapeBrackets: true,
|
||||
keydown: function (e) {
|
||||
// Shift+Enter inserts a newline instead of running the command,
|
||||
// letting you type multi-line SQL scripts in sql mode.
|
||||
|
||||
Reference in New Issue
Block a user