mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 16:15:41 +01:00
Merge pull request #93 from mancusi/fix-handlebars-comment-syntax
Updates the comment tokenization for handlebars syntax.
This commit is contained in:
commit
fe2c5515e1
2 changed files with 44 additions and 2 deletions
|
|
@ -281,5 +281,35 @@ testTokenization(['handlebars', 'css'], [
|
||||||
{ startIndex: 30, type: 'delimiter.handlebars' },
|
{ startIndex: 30, type: 'delimiter.handlebars' },
|
||||||
{ startIndex: 32, type: '' }
|
{ startIndex: 32, type: '' }
|
||||||
]
|
]
|
||||||
}]
|
}],
|
||||||
|
|
||||||
|
// Block comment
|
||||||
|
[{
|
||||||
|
line: '{{!-- block comment --}}',
|
||||||
|
tokens: [
|
||||||
|
{ startIndex: 0, type: 'comment.block.start.handlebars' },
|
||||||
|
{ startIndex: 5, type: 'comment.content.handlebars' },
|
||||||
|
{ startIndex: 20, type: 'comment.block.end.handlebars' }
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
|
||||||
|
// Block comment with mustache
|
||||||
|
[{
|
||||||
|
line: '{{!-- block comment }} with mustache --}}',
|
||||||
|
tokens: [
|
||||||
|
{ startIndex: 0, type: 'comment.block.start.handlebars' },
|
||||||
|
{ startIndex: 5, type: 'comment.content.handlebars' },
|
||||||
|
{ startIndex: 37, type: 'comment.block.end.handlebars' }
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
|
||||||
|
// Handlebars comment
|
||||||
|
[{
|
||||||
|
line: '{{! comment }}',
|
||||||
|
tokens: [
|
||||||
|
{ startIndex: 0, type: 'comment.start.handlebars' },
|
||||||
|
{ startIndex: 3, type: 'comment.content.handlebars' },
|
||||||
|
{ startIndex: 12, type: 'comment.end.handlebars' }
|
||||||
|
]
|
||||||
|
}],
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -63,9 +63,11 @@ export const language = <ILanguage>{
|
||||||
// The main tokenizer for our languages
|
// The main tokenizer for our languages
|
||||||
tokenizer: {
|
tokenizer: {
|
||||||
root: [
|
root: [
|
||||||
|
[/\{\{!--/, 'comment.block.start.handlebars', '@commentBlock'],
|
||||||
|
[/\{\{!/, 'comment.start.handlebars', '@comment'],
|
||||||
[/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.root' }],
|
[/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.root' }],
|
||||||
[/<!DOCTYPE/, 'metatag.html', '@doctype'],
|
[/<!DOCTYPE/, 'metatag.html', '@doctype'],
|
||||||
[/<!--/, 'comment.html', '@comment'],
|
[/<!--/, 'comment.html', '@commentHtml'],
|
||||||
[/(<)(\w+)(\/>)/, ['delimiter.html', 'tag.html', 'delimiter.html']],
|
[/(<)(\w+)(\/>)/, ['delimiter.html', 'tag.html', 'delimiter.html']],
|
||||||
[/(<)(script)/, ['delimiter.html', { token: 'tag.html', next: '@script' }]],
|
[/(<)(script)/, ['delimiter.html', { token: 'tag.html', next: '@script' }]],
|
||||||
[/(<)(style)/, ['delimiter.html', { token: 'tag.html', next: '@style' }]],
|
[/(<)(style)/, ['delimiter.html', { token: 'tag.html', next: '@style' }]],
|
||||||
|
|
@ -83,6 +85,16 @@ export const language = <ILanguage>{
|
||||||
],
|
],
|
||||||
|
|
||||||
comment: [
|
comment: [
|
||||||
|
[/\}\}/, 'comment.end.handlebars', '@pop'],
|
||||||
|
[/./, 'comment.content.handlebars']
|
||||||
|
],
|
||||||
|
|
||||||
|
commentBlock: [
|
||||||
|
[/--\}\}/, 'comment.block.end.handlebars', '@pop'],
|
||||||
|
[/./, 'comment.content.handlebars']
|
||||||
|
],
|
||||||
|
|
||||||
|
commentHtml: [
|
||||||
[/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],
|
[/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],
|
||||||
[/-->/, 'comment.html', '@pop'],
|
[/-->/, 'comment.html', '@pop'],
|
||||||
[/[^-]+/, 'comment.content.html'],
|
[/[^-]+/, 'comment.content.html'],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue