@@ -92,14 +92,15 @@ export const initiateEditor = (
92
92
const constantsImported = constants ;
93
93
const macrosImported = macros ;
94
94
95
+ const sortedFunctions = [ ...functionsImported ] . sort ( ( a , b ) => b . length - a . length ) ;
96
+ const allKeywords = [ ...keywordsImported , ...dynamicKeyword , ...dynamicSystemDatabases ] ;
97
+ const sortedKeywords = [ ...allKeywords ] . sort ( ( a , b ) => b . length - a . length ) ;
98
+
95
99
monacoInstance . languages . setMonarchTokensProvider ( LANGUAGE_ID , {
96
100
tokenizer : {
97
101
root : [
98
- [
99
- new RegExp ( `\\b(${ [ ...keywordsImported , ...dynamicKeyword , ...dynamicSystemDatabases ] . join ( '|' ) } )\\b` ) ,
100
- TokenType . KEYWORDS ,
101
- ] ,
102
- [ new RegExp ( `\\s(${ functionsImported . join ( '|' ) } )` ) , TokenType . FUNCTIONS ] ,
102
+ [ new RegExp ( `\\b(${ sortedFunctions . join ( '|' ) } )(?=\\()` ) , TokenType . FUNCTIONS ] ,
103
+ [ new RegExp ( `\\b(${ sortedKeywords . join ( '|' ) } )(?=\\W|$)` ) , TokenType . KEYWORDS ] ,
103
104
[ new RegExp ( `[()]` ) , TokenType . PARENTHESIS ] ,
104
105
[ new RegExp ( `--.*$` ) , TokenType . COMMENT ] ,
105
106
[ new RegExp ( `\`\`\`.*\`\`\`` ) , TokenType . COMMENT_BLOCK ] ,
@@ -108,7 +109,7 @@ export const initiateEditor = (
108
109
[ new RegExp ( `'.*?'` ) , TokenType . STRING ] ,
109
110
[ new RegExp ( `\\b(${ dataTypesImported . join ( '|' ) } )\\b` ) , TokenType . DATATYPES ] ,
110
111
[ new RegExp ( `\\b(${ constantsImported . join ( '|' ) } )\\b` ) , TokenType . CONSTANTS ] ,
111
- [ new RegExp ( `(${ macrosImported . map ( ( macros ) => macros . replace ( '$' , '\\$' ) ) . join ( '|' ) } )` ) , TokenType . MACROS ] ,
112
+ [ new RegExp ( `\\b (${ macrosImported . map ( ( macros ) => macros . replace ( '$' , '\\$' ) ) . join ( '|' ) } )\\b ` ) , TokenType . MACROS ] ,
112
113
] ,
113
114
} ,
114
115
} ) ;
@@ -119,7 +120,6 @@ export const initiateEditor = (
119
120
base : 'vs-dark' ,
120
121
inherit : false ,
121
122
rules : [
122
- { token : TokenType . FUNCTIONS , foreground : Colors . FUNCTIONS } ,
123
123
{ token : TokenType . PARENTHESIS , foreground : Colors . PARENTHESIS } ,
124
124
{ token : TokenType . KEYWORDS , foreground : Colors . KEYWORDS } ,
125
125
{ token : TokenType . CONSTANTS , foreground : Colors . CONSTANTS } ,
@@ -129,6 +129,7 @@ export const initiateEditor = (
129
129
{ token : TokenType . COMMENT_BLOCK , foreground : Colors . COMMENT_BLOCK } ,
130
130
{ token : TokenType . VARIABLE , foreground : Colors . MACROS } ,
131
131
{ token : TokenType . STRING , foreground : Colors . STRING } ,
132
+ { token : TokenType . FUNCTIONS , foreground : Colors . FUNCTIONS } ,
132
133
] ,
133
134
colors : {
134
135
'editor.foreground' : '#e0e0e0' ,
0 commit comments