whitespaces after # are allowed in C++ preprocessor statements

pull/2748/head
evakili 7 years ago
parent fcb300dc51
commit a9ba86ce03

@ -259,7 +259,7 @@ export const language = <ILanguage>{
[/\[\[.*\]\]/, 'annotation'],
// Preprocessor directive
[/^\s*#\w+/, 'keyword'],
[/^\s*#\s*\w+/, 'keyword'],
// delimiters and operators
[/[{}()\[\]]/, '@brackets'],

@ -747,5 +747,34 @@ testTokenization('cpp', [
tokens: [
{ startIndex: 0, type: 'keyword.cpp' }
]
}, {
line: '# ifdef VAR',
tokens: [
{ startIndex: 0, type: 'keyword.cpp' },
{ startIndex: 10, type: '' },
{ startIndex: 11, type: 'identifier.cpp' }
]
}, {
line: '# define SUM(A,B) (A) + (B)',
tokens: [
{ startIndex: 0, type: 'keyword.cpp' },
{ startIndex: 8, type: '' },
{ startIndex: 9, type: 'identifier.cpp' },
{ startIndex: 12, type: 'delimiter.parenthesis.cpp' },
{ startIndex: 13, type: 'identifier.cpp' },
{ startIndex: 14, type: 'delimiter.cpp' },
{ startIndex: 15, type: 'identifier.cpp' },
{ startIndex: 16, type: 'delimiter.parenthesis.cpp' },
{ startIndex: 17, type: '' },
{ startIndex: 18, type: 'delimiter.parenthesis.cpp' },
{ startIndex: 19, type: 'identifier.cpp' },
{ startIndex: 20, type: 'delimiter.parenthesis.cpp' },
{ startIndex: 21, type: '' },
{ startIndex: 22, type: 'delimiter.cpp' },
{ startIndex: 23, type: '' },
{ startIndex: 24, type: 'delimiter.parenthesis.cpp' },
{ startIndex: 25, type: 'identifier.cpp' },
{ startIndex: 26, type: 'delimiter.parenthesis.cpp' }
]
}]
]);

Loading…
Cancel
Save