blob: 937f1a8ca7a21976006bfe44224886cba2c0da24 [file] [log] [blame] [raw]
define(function (require) {
'use strict';
var jquery = require('jquery');
var monaco = require('monaco');
var cpp = require('vs/basic-languages/src/cpp');
function definition() {
var ispc = jquery.extend(true, {}, cpp.language); // deep copy
ispc.tokenPostfix = '.ispc';
ispc.keywords.push(
'cbreak',
'ccontinue',
'cdo',
'cfor',
'cif',
'creturn',
'cwhile',
'delete',
'export',
'foreach',
'foreach_active',
'foreach_tiled',
'foreach_unique',
'int16',
'int32',
'int64',
'int8',
'launch',
'new',
'operator',
'programCount',
'programIndex',
'reference',
'soa',
'sync',
'task',
'taskCount',
'taskCount0',
'taskCount1',
'taskCount2',
'taskIndex',
'taskIndex0',
'taskIndex1',
'taskIndex2',
'threadCount',
'threadIndex',
'uniform',
'unmasked',
'varying'
);
return ispc;
}
monaco.languages.register({id: 'ispc'});
monaco.languages.setLanguageConfiguration('ispc', cpp.conf);
monaco.languages.setMonarchTokensProvider('ispc', definition());
});