Scala: Updated keywords to support Scala 3 (#3506)

This commit is contained in:
Julien Richard-Foy 2022-07-26 19:21:09 +02:00 committed by GitHub
parent b9512b221e
commit a090d0630b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 75 additions and 19 deletions

View File

@ -8,7 +8,7 @@ Prism.languages.scala = Prism.languages.extend('java', {
pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
greedy: true greedy: true
}, },
'keyword': /<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/, 'keyword': /<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,
'number': /\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i, 'number': /\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,
'builtin': /\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/, 'builtin': /\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,
'symbol': /'[^\d\s\\]\w*/ 'symbol': /'[^\d\s\\]\w*/

View File

@ -1 +1 @@
Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function; Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function;

View File

@ -1,15 +1,19 @@
<- => <- =>
abstract case catch abstract case catch
class def do else class def derives do
extends final finally else enum extends extension
for forSome if final finally
implicit import; lazy for forSome given if
implicit import;
infix inline lazy
match new null object match new null object
opaque open
override package private override package private
protected return sealed protected return sealed
self super this throw self super this throw
trait try type val trait transparent try
type using val
var while with yield var while with yield
---------------------------------------------------- ----------------------------------------------------
@ -17,19 +21,71 @@ var while with yield
[ [
["keyword", "<-"], ["keyword", "=>"], ["keyword", "<-"], ["keyword", "=>"],
["keyword", "abstract"], ["keyword", "case"], ["keyword", "catch"], ["keyword", "abstract"],
["keyword", "class"], ["keyword", "def"], ["keyword", "do"], ["keyword", "else"], ["keyword", "case"],
["keyword", "extends"], ["keyword", "final"], ["keyword", "finally"], ["keyword", "catch"],
["keyword", "for"], ["keyword", "forSome"], ["keyword", "if"],
["keyword", "implicit"], ["keyword", "import"], ["punctuation", ";"], ["keyword", "lazy"], ["keyword", "class"],
["keyword", "match"], ["keyword", "new"], ["keyword", "null"], ["keyword", "object"], ["keyword", "def"],
["keyword", "override"], ["keyword", "package"], ["keyword", "private"], ["keyword", "derives"],
["keyword", "protected"], ["keyword", "return"], ["keyword", "sealed"], ["keyword", "do"],
["keyword", "self"], ["keyword", "super"], ["keyword", "this"], ["keyword", "throw"],
["keyword", "trait"], ["keyword", "try"], ["keyword", "type"], ["keyword", "val"], ["keyword", "else"],
["keyword", "var"], ["keyword", "while"], ["keyword", "with"], ["keyword", "yield"] ["keyword", "enum"],
["keyword", "extends"],
["keyword", "extension"],
["keyword", "final"],
["keyword", "finally"],
["keyword", "for"],
["keyword", "forSome"],
["keyword", "given"],
["keyword", "if"],
["keyword", "implicit"],
["keyword", "import"],
["punctuation", ";"],
["keyword", "infix"],
["keyword", "inline"],
["keyword", "lazy"],
["keyword", "match"],
["keyword", "new"],
["keyword", "null"],
["keyword", "object"],
["keyword", "opaque"],
["keyword", "open"],
["namespace", ["override"]],
["keyword", "package"],
["keyword", "private"],
["keyword", "protected"],
["keyword", "return"],
["keyword", "sealed"],
["keyword", "self"],
["keyword", "super"],
["keyword", "this"],
["keyword", "throw"],
["keyword", "trait"],
["keyword", "transparent"],
["keyword", "try"],
["keyword", "type"],
["keyword", "using"],
["keyword", "val"],
["keyword", "var"],
["keyword", "while"],
["keyword", "with"],
["keyword", "yield"]
] ]
---------------------------------------------------- ----------------------------------------------------
Checks for keywords. Checks for keywords.