diff --git a/src/kotlin/kotlin.test.ts b/src/kotlin/kotlin.test.ts index 848fc768..25c90036 100644 --- a/src/kotlin/kotlin.test.ts +++ b/src/kotlin/kotlin.test.ts @@ -62,16 +62,6 @@ testTokenization('kotlin', [ ] }], - // Broken nested tokens due to invalid comment tokenization - [{ - line: '/* //*/ a', - tokens: [ - { startIndex: 0, type: 'comment.kt' }, - { startIndex: 7, type: '' }, - { startIndex: 8, type: 'identifier.kt' } - ] - }], - [{ line: '// a comment', tokens: [ @@ -666,6 +656,20 @@ testTokenization('kotlin', [ { startIndex: 28, type: '' }, { startIndex: 29, type: 'keyword.private.kt' } ] + }], + + [{ + line: 'fun /* /* */ */ main() {', + tokens: [ + { startIndex: 0, type: 'keyword.fun.kt' }, + { startIndex: 3, type: '' }, + { startIndex: 4, type: 'comment.kt' }, + { startIndex: 15, type: '' }, + { startIndex: 16, type: 'identifier.kt' }, + { startIndex: 20, type: 'delimiter.parenthesis.kt' }, + { startIndex: 22, type: '' }, + { startIndex: 23, type: 'delimiter.curly.kt' }, + ] }] ]); diff --git a/src/kotlin/kotlin.ts b/src/kotlin/kotlin.ts index 6e57fc0b..f2d9ed2a 100644 --- a/src/kotlin/kotlin.ts +++ b/src/kotlin/kotlin.ts @@ -136,13 +136,14 @@ export const language = { comment: [ [/[^\/*]+/, 'comment'], + [/\/\*/, 'comment', '@comment'], [/\*\//, 'comment', '@pop'], [/[\/*]/, 'comment'] ], //Identical copy of comment above, except for the addition of .doc javadoc: [ [/[^\/*]+/, 'comment.doc'], - // [/\/\*/, 'comment.doc', '@push' ], // nested comment not allowed :-( + [/\/\*/, 'comment.doc', '@push' ], [/\/\*/, 'comment.doc.invalid'], [/\*\//, 'comment.doc', '@pop'], [/[\/*]/, 'comment.doc']