Skip to content

Commit d6c5372

Browse files
authored
PureBasic: Added missing keyword and fixed constants ending with $ (#3320)
1 parent 82d0ca1 commit d6c5372

File tree

4 files changed

+9
-5
lines changed

4 files changed

+9
-5
lines changed

components/prism-purebasic.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ slightly changed to pass all tests
99
// PureBasic support, steal stuff from ansi-c
1010
Prism.languages.purebasic = Prism.languages.extend('clike', {
1111
'comment': /;.*/,
12-
'keyword': /\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,
12+
'keyword': /\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,
1313
'function': /\b\w+(?:\.\w+)?\s*(?=\()/,
1414
'number': /(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,
1515
'operator': /(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/
1616
});
1717

1818
Prism.languages.insertBefore('purebasic', 'keyword', {
19-
'tag': /#\w+/,
19+
'tag': /#\w+\$?/,
2020
'asm': {
2121
pattern: /(^[\t ]*)!.*/m,
2222
lookbehind: true,

components/prism-purebasic.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/languages/purebasic/keyword_feature.test

+3-1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ INCLUDEFILE
9999
XINCLUDEFILE
100100
MACRO
101101
ENDMACRO
102+
FOREVER
102103

103104
----------------------------------------------------
104105

@@ -203,7 +204,8 @@ ENDMACRO
203204
["keyword", "INCLUDEFILE"],
204205
["keyword", "XINCLUDEFILE"],
205206
["keyword", "MACRO"],
206-
["keyword", "ENDMACRO"]
207+
["keyword", "ENDMACRO"],
208+
["keyword", "FOREVER"]
207209
]
208210

209211
----------------------------------------------------
+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#foo
2+
#NULL$
23

34
----------------------------------------------------
45

56
[
6-
["tag", "#foo"]
7+
["tag", "#foo"],
8+
["tag", "#NULL$"]
79
]

0 commit comments

Comments
 (0)