Commit cf38d0590e2a2688aa75ea735f191e75bcab0950

Wei Ting 2022-03-13T19:40:00

Erlang: Added `begin` keyword (#3387)

diff --git a/components/prism-erlang.js b/components/prism-erlang.js
index fba6254..ccb92a1 100644
--- a/components/prism-erlang.js
+++ b/components/prism-erlang.js
@@ -13,7 +13,7 @@ Prism.languages.erlang = {
 		alias: 'atom'
 	},
 	'boolean': /\b(?:false|true)\b/,
-	'keyword': /\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/,
+	'keyword': /\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\b/,
 	'number': [
 		/\$\\?./,
 		/\b\d+#[a-z0-9]+/i,
diff --git a/components/prism-erlang.min.js b/components/prism-erlang.min.js
index 7d041ab..806d0b1 100644
--- a/components/prism-erlang.min.js
+++ b/components/prism-erlang.min.js
@@ -1 +1 @@
-Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/};
\ No newline at end of file
+Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/};
\ No newline at end of file
diff --git a/tests/languages/erlang/keyword_feature.test b/tests/languages/erlang/keyword_feature.test
index 3af1da3..6149840 100644
--- a/tests/languages/erlang/keyword_feature.test
+++ b/tests/languages/erlang/keyword_feature.test
@@ -1,15 +1,15 @@
 fun when case of
-end if receive
+begin end if receive
 after try catch
 
 ----------------------------------------------------
 
 [
 	["keyword", "fun"], ["keyword", "when"], ["keyword", "case"], ["keyword", "of"],
-	["keyword", "end"], ["keyword", "if"], ["keyword", "receive"],
+	["keyword", "begin"], ["keyword", "end"], ["keyword", "if"], ["keyword", "receive"],
 	["keyword", "after"], ["keyword", "try"], ["keyword", "catch"]
 ]
 
 ----------------------------------------------------
 
-Checks for all keywords.
\ No newline at end of file
+Checks for all keywords.