Skip to content

Commit a68f1fb

Browse files
authoredMar 10, 2021
VB.Net: Improved strings, comments, and punctuation (#2782)
1 parent e38986f commit a68f1fb

File tree

5 files changed

+66
-3
lines changed

5 files changed

+66
-3
lines changed
 

‎components/prism-vbnet.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,15 @@ Prism.languages.vbnet = Prism.languages.extend("basic", {
88
},
99
{
1010
pattern: /(^|[^\\:])'.*/,
11-
lookbehind: true
11+
lookbehind: true,
12+
greedy: true
1213
}
1314
],
14-
'keyword': /(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i
15+
'string': {
16+
pattern: /(^|[^"])"(?:""|[^"])*"(?!")/i,
17+
lookbehind: true,
18+
greedy: true
19+
},
20+
'keyword': /(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDEC|CDBL|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEFAULT|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LINE INPUT|LET|LIB|LIKE|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPERATOR|OPEN|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHORT|SINGLE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SYNCLOCK|SWAP|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,
21+
'punctuation': /[,;:(){}]/
1522
});

‎components/prism-vbnet.min.js

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

‎tests/languages/vbnet/issue2781.test

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
bob = new SqlCommand("Select * from test Where Code=@Code");
2+
bob = new SqlCommand("Select * from test Where Code=Code");
3+
4+
----------------------------------------------------
5+
6+
[
7+
"bob ",
8+
["operator", "="],
9+
["keyword", "new"],
10+
" SqlCommand",
11+
["punctuation", "("],
12+
["string", "\"Select * from test Where Code=@Code\""],
13+
["punctuation", ")"],
14+
["punctuation", ";"],
15+
16+
"\nbob ",
17+
["operator", "="],
18+
["keyword", "new"],
19+
" SqlCommand",
20+
["punctuation", "("],
21+
["string", "\"Select * from test Where Code=Code\""],
22+
["punctuation", ")"],
23+
["punctuation", ";"]
24+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
, ; :
2+
( ) { }
3+
4+
----------------------------------------------------
5+
6+
[
7+
["punctuation", ","],
8+
["punctuation", ";"],
9+
["punctuation", ":"],
10+
11+
["punctuation", "("],
12+
["punctuation", ")"],
13+
["punctuation", "{"],
14+
["punctuation", "}"]
15+
]
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Dim x = "hello
2+
world"
3+
4+
Console.WriteLine("Message: {0}", message)
5+
6+
----------------------------------------------------
7+
8+
[
9+
["keyword", "Dim"], " x ", ["operator", "="], ["string", "\"hello\nworld\""],
10+
11+
"\n\nConsole.WriteLine",
12+
["punctuation", "("],
13+
["string", "\"Message: {0}\""],
14+
["punctuation", ","],
15+
" message",
16+
["punctuation", ")"]
17+
]

0 commit comments

Comments
 (0)
Please sign in to comment.