This commit is contained in:
Peng Lyu 2018-05-03 14:33:48 -07:00
parent 7195ea606e
commit 7eb290dff4
2 changed files with 15 additions and 6 deletions

View file

@ -391,17 +391,19 @@ testTokenization('cpp', [
[{
line: '#include<iostream>',
tokens: [
{ startIndex: 0, type: 'keyword.cpp' },
{ startIndex: 8, type: 'delimiter.angle.cpp' },
{ startIndex: 9, type: 'identifier.cpp' },
{ startIndex: 17, type: 'delimiter.angle.cpp' }
{ startIndex: 0, type: 'keyword.directive.include.cpp' },
{ startIndex: 8, type: 'keyword.directive.include.begin.cpp' },
{ startIndex: 9, type: 'string.include.identifier.cpp' },
{ startIndex: 17, type: 'keyword.directive.include.end.cpp' }
]
}, {
line: '#include "/path/to/my/file.h"',
tokens: [
{ startIndex: 0, type: 'keyword.cpp' },
{ startIndex: 0, type: 'keyword.directive.include.cpp' },
{ startIndex: 8, type: '' },
{ startIndex: 9, type: 'string.cpp' }
{ startIndex: 9, type: 'keyword.directive.include.begin.cpp' },
{ startIndex: 10, type: 'string.include.identifier.cpp' },
{ startIndex: 28, type: 'keyword.directive.include.end.cpp' }
]
}, {
line: '',

View file

@ -268,6 +268,8 @@ export const language = <ILanguage>{
// [[ attributes ]].
[/\[\[.*\]\]/, 'annotation'],
[/^\s*#include/, { token: 'keyword.directive.include', next: '@include' }],
// Preprocessor directive
[/^\s*#\s*\w+/, 'keyword'],
@ -338,6 +340,11 @@ export const language = <ILanguage>{
}
],
[/.*/, 'string.raw']
],
include: [
[/(\s*)(<)([^<>]*)(>)/, ['', 'keyword.directive.include.begin', 'string.include.identifier', { token: 'keyword.directive.include.end', next: '@pop'}]],
[/(\s*)(")([^"]*)(")/, ['', 'keyword.directive.include.begin', 'string.include.identifier', { token: 'keyword.directive.include.end', next: '@pop'}]]
]
},
};