1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- module.exports = function(hljs) {
- var COMMON_CONTAINS = [
- hljs.C_NUMBER_MODE,
- {
- className: 'string',
- begin: '\'|\"', end: '\'|\"',
- contains: [hljs.BACKSLASH_ESCAPE, {begin: '\'\''}]
- }
- ];
- return {
- aliases: ['sci'],
- lexemes: /%?\w+/,
- keywords: {
- keyword: 'abort break case clear catch continue do elseif else endfunction end for function '+
- 'global if pause return resume select try then while',
- literal:
- '%f %F %t %T %pi %eps %inf %nan %e %i %z %s',
- built_in: // Scilab has more than 2000 functions. Just list the most commons
- 'abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error '+
- 'exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty '+
- 'isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log '+
- 'max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real '+
- 'round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan '+
- 'type typename warning zeros matrix'
- },
- illegal: '("|#|/\\*|\\s+/\\w+)',
- contains: [
- {
- className: 'function',
- beginKeywords: 'function', end: '$',
- contains: [
- hljs.UNDERSCORE_TITLE_MODE,
- {
- className: 'params',
- begin: '\\(', end: '\\)'
- }
- ]
- },
- {
- begin: '[a-zA-Z_][a-zA-Z_0-9]*(\'+[\\.\']*|[\\.\']+)', end: '',
- relevance: 0
- },
- {
- begin: '\\[', end: '\\]\'*[\\.\']*',
- relevance: 0,
- contains: COMMON_CONTAINS
- },
- hljs.COMMENT('//', '$')
- ].concat(COMMON_CONTAINS)
- };
- };
|