From 0b83fbb7ce3596dcd9a519179e5b5a59be81f75e Mon Sep 17 00:00:00 2001 From: Brahma Dev Date: Fri, 29 Sep 2023 21:38:08 +0000 Subject: [PATCH 1/3] Add a randomly generated classname to each variable so that CodeMirror does not merge adjacent variables into the same SPAN. --- packages/bruno-app/src/utils/common/codemirror.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/bruno-app/src/utils/common/codemirror.js b/packages/bruno-app/src/utils/common/codemirror.js index 59daee837..1226e75dc 100644 --- a/packages/bruno-app/src/utils/common/codemirror.js +++ b/packages/bruno-app/src/utils/common/codemirror.js @@ -25,10 +25,11 @@ export const defineCodeMirrorBrunoVariablesMode = (variables, mode) => { stream.eat('}'); let found = pathFoundInVariables(word, variables); if (found) { - return 'variable-valid'; + return 'variable-valid ' + (Math.random() + 1).toString(36).substring(9); } else { - return 'variable-invalid'; + return 'variable-invalid ' + (Math.random() + 1).toString(36).substring(9); } + // Random classname added so adjacent variables are not rendered in the same SPAN by CodeMirror. } word += ch; } From 1c53ce91f00593235ec821d537bac20cd4f780bc Mon Sep 17 00:00:00 2001 From: Brahma Dev Date: Fri, 29 Sep 2023 21:42:15 +0000 Subject: [PATCH 2/3] Ignore the randomly generated classname. --- packages/bruno-app/src/utils/codemirror/brunoVarInfo.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/bruno-app/src/utils/codemirror/brunoVarInfo.js b/packages/bruno-app/src/utils/codemirror/brunoVarInfo.js index 50f314dac..d37e10bb6 100644 --- a/packages/bruno-app/src/utils/codemirror/brunoVarInfo.js +++ b/packages/bruno-app/src/utils/codemirror/brunoVarInfo.js @@ -66,8 +66,7 @@ if (!SERVER_RENDERED) { if (target.nodeName !== 'SPAN' || state.hoverTimeout !== undefined) { return; } - - if (target.className !== 'cm-variable-valid') { + if (!target.classList.contains('cm-variable-valid')) { return; } From 4c89f319341d691056803736296755ea4693e406 Mon Sep 17 00:00:00 2001 From: Brahma Dev Date: Fri, 29 Sep 2023 21:58:46 +0000 Subject: [PATCH 3/3] Decrease likelihood of any unintentional classname clash. --- packages/bruno-app/src/utils/common/codemirror.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bruno-app/src/utils/common/codemirror.js b/packages/bruno-app/src/utils/common/codemirror.js index 1226e75dc..b1b60568c 100644 --- a/packages/bruno-app/src/utils/common/codemirror.js +++ b/packages/bruno-app/src/utils/common/codemirror.js @@ -25,9 +25,9 @@ export const defineCodeMirrorBrunoVariablesMode = (variables, mode) => { stream.eat('}'); let found = pathFoundInVariables(word, variables); if (found) { - return 'variable-valid ' + (Math.random() + 1).toString(36).substring(9); + return 'variable-valid random-' + (Math.random() + 1).toString(36).substring(9); } else { - return 'variable-invalid ' + (Math.random() + 1).toString(36).substring(9); + return 'variable-invalid random-' + (Math.random() + 1).toString(36).substring(9); } // Random classname added so adjacent variables are not rendered in the same SPAN by CodeMirror. }