highlightjs-cshtml-razor
Advanced tools
Comparing version 1.2.0 to 2.0.0
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
## [2.0.0] - 2020-09-28 | ||
### Added | ||
- Support the @code directives | ||
### Changed | ||
- Update dependency on highlight.js (support 10.0) | ||
## [1.2.0] - 2019-09-13 | ||
@@ -5,0 +11,0 @@ ### Added |
@@ -20,7 +20,6 @@ /* | ||
variants: [ | ||
{ begin: /"/, end: /"/ }, | ||
{ begin: /'/, end: /'/ }, | ||
{ begin: /"/, end: /"/, contains: additional_blocks }, | ||
{ begin: /'/, end: /'/, contains: additional_blocks }, | ||
{ begin: /[^\s"'=<>`]+/ } | ||
], | ||
contains: additional_blocks | ||
] | ||
}; | ||
@@ -105,2 +104,8 @@ var xml_tag_internal = { | ||
}; | ||
var csbraces = { | ||
begin: "{", | ||
end: "}", | ||
contains: ['self'], | ||
skip: true | ||
}; | ||
var razor_comment = hljs.COMMENT( | ||
@@ -112,8 +117,8 @@ '@\\*', | ||
} | ||
); | ||
); | ||
var razor_inline_expresion = { | ||
begin: "@[a-zA-Z]+", | ||
begin: '@[A-Za-z0-9\\._:-]+', | ||
returnBegin: true, | ||
subLanguage: 'cs', | ||
end: "(\\r|\\n|<|\\s|\"|')", | ||
subLanguage: 'csharp', | ||
contains: [ | ||
@@ -124,3 +129,3 @@ { | ||
}, | ||
{ | ||
{ | ||
begin: '".*(?!$)"', | ||
@@ -150,3 +155,3 @@ skip: true | ||
className: SPECIAL_SYMBOL_CLASSNAME, | ||
endsParent: true, | ||
endsParent: true | ||
} | ||
@@ -168,3 +173,3 @@ ] | ||
returnEnd: true, | ||
subLanguage: "cs", | ||
subLanguage: 'csharp', | ||
contains: [ | ||
@@ -178,3 +183,3 @@ { | ||
end: "\\)", | ||
subLanguage: 'cs', | ||
subLanguage: 'csharp', | ||
contains: [hljs.QUOTE_STRING_MODE, 'self', razor_text_block] | ||
@@ -203,3 +208,3 @@ }, | ||
variants: [ | ||
{ begin: "\\r|\\n", endsParent: true}, | ||
{ begin: "\\r|\\n", endsParent: true }, | ||
{ begin: "\\s[^\\r\\n]+", end: "$" }, | ||
@@ -213,17 +218,33 @@ { begin: "$" } | ||
}; | ||
var cs_code_block_variants = [ | ||
{ begin: "@\\{", end: "}" }, | ||
{ begin: "@code\\s*\\{", end: "}" } | ||
]; | ||
var razor_block = { | ||
begin: "@\\{", | ||
variants: cs_code_block_variants, | ||
returnBegin: true, | ||
returnEnd: true, | ||
end: "\\}", | ||
subLanguage: 'cs', | ||
subLanguage: 'csharp', | ||
contains: [ | ||
{ | ||
begin: "@\\{", | ||
begin: "@(code\\s*)?\\{", | ||
className: SPECIAL_SYMBOL_CLASSNAME | ||
}, | ||
CONTENT_REPLACER, | ||
csbraces, | ||
closed_brace | ||
] | ||
}; | ||
var razor_helper_block = { | ||
begin: "^\\s*@helper[\\s]*[^{]+[\\s]*{", | ||
returnBegin: true, | ||
returnEnd: true, | ||
end: "}", | ||
subLanguage: "cshtml-razor", | ||
contains: [ | ||
{ begin: "@helper", className: SPECIAL_SYMBOL_CLASSNAME }, | ||
{ begin: "{", className: SPECIAL_SYMBOL_CLASSNAME }, | ||
closed_brace | ||
] | ||
}; | ||
var razor_code_block_variants = [ | ||
@@ -236,3 +257,3 @@ { begin: "@for[\\s]*\\([^{]+[\\s]*{", end: "}" }, | ||
{ begin: "@lock[\\s]*\\([^{]+[\\s]*{", end: "}" }, | ||
{ begin: "@foreach[\\s]*\\([^{]+[\\s]*{", end: "}" }, | ||
{ begin: "@foreach[\\s]*\\([^{]+[\\s]*{", end: "}" } | ||
]; | ||
@@ -243,4 +264,3 @@ var razor_code_block = { | ||
returnEnd: true, | ||
end: "}", | ||
subLanguage: 'cs', | ||
subLanguage: 'csharp', | ||
contains: [ | ||
@@ -254,3 +274,3 @@ { | ||
variants: razor_code_block_variants.map(function (v) { return { begin: v.begin.substr(1, v.begin.length - 2) }; }), | ||
subLanguage: "cs" | ||
subLanguage: 'csharp' | ||
}, | ||
@@ -271,6 +291,6 @@ { begin: "{", className: SPECIAL_SYMBOL_CLASSNAME } | ||
variants: [ | ||
{ begin: "[\\s]*else\\sif[\\s]*\\([^{]+[\\s]*{", }, | ||
{ begin: "[\\s]*else[\\s]*", } | ||
{ begin: "[\\s]*else\\sif[\\s]*\\([^{]+[\\s]*{" }, | ||
{ begin: "[\\s]*else[\\s]*" } | ||
], | ||
subLanguage: "cs" | ||
subLanguage: 'csharp' | ||
}, | ||
@@ -284,7 +304,5 @@ { | ||
braces, | ||
closed_brace, | ||
//razor_block | ||
closed_brace | ||
] | ||
}; | ||
var section_begin = "@section[\\s]+[a-zA-Z0-9]+[\\s]*{"; | ||
var razor_try_block = { | ||
@@ -295,6 +313,6 @@ begin: "@try[\\s]*{", | ||
returnEnd: true, | ||
subLanguage: "cs", | ||
subLanguage: 'csharp', | ||
contains: [ | ||
{ begin: "@", className: SPECIAL_SYMBOL_CLASSNAME }, | ||
{ begin: "try[\\s]*{", subLanguage: "cs" }, | ||
{ begin: "try[\\s]*{", subLanguage: 'csharp' }, | ||
{ | ||
@@ -313,3 +331,3 @@ variants: [ | ||
], | ||
subLanguage: "cs" | ||
subLanguage: 'csharp' | ||
}, | ||
@@ -324,2 +342,3 @@ { begin: "{", className: SPECIAL_SYMBOL_CLASSNAME } | ||
}; | ||
var section_begin = "@section[\\s]+[a-zA-Z0-9]+[\\s]*{"; | ||
var razor_section_block = { | ||
@@ -343,3 +362,3 @@ begin: section_begin, | ||
returnBegin: true, | ||
subLanguage: 'cs', | ||
subLanguage: 'csharp', | ||
end: "(\\r|\\n|<|\\s)", | ||
@@ -359,5 +378,6 @@ contains: [ | ||
var result = { | ||
aliases: ['cshtml','razor','razor-cshtml'], | ||
aliases: ['cshtml', 'razor', 'razor-cshtml'], | ||
contains: [ | ||
razor_directives, | ||
razor_helper_block, | ||
razor_block, | ||
@@ -387,4 +407,4 @@ razor_code_block, | ||
[razor_block, razor_code_block, razor_try_block] | ||
.forEach(function(mode) { | ||
var razorModes = result.contains.filter(function(c) { return c !== mode; }); | ||
.forEach(function (mode) { | ||
var razorModes = result.contains.filter(function (c) { return c !== mode; }); | ||
var replacerIndex = mode.contains.indexOf(CONTENT_REPLACER); | ||
@@ -391,0 +411,0 @@ mode.contains.splice.apply(mode.contains, [replacerIndex, 1].concat(razorModes)); |
{ | ||
"name": "highlightjs-cshtml-razor", | ||
"version": "1.2.0", | ||
"version": "2.0.0", | ||
"description": "highlight.js syntax definition for ASP.NET Razor CSHTML language", | ||
@@ -36,3 +36,3 @@ "main": "cshtml-razor.js", | ||
"devDependencies": { | ||
"highlight.js": "^9.15.10", | ||
"highlight.js": "^10.0.0", | ||
"mocha": "^5.2.0", | ||
@@ -39,0 +39,0 @@ "should": "^13.2.3" |
14452
393