/samples/scalate-presentation/src/highlight/languages/smalltalk.js
JavaScript | 52 lines | 47 code | 1 blank | 4 comment | 0 complexity | 61e40b220f5d889665ab3d40561cc52d MD5 | raw file
- /*
- Language: Smalltalk
- Author: Vladimir Gubarkov <xonixx@gmail.com>
- */
- hljs.LANGUAGES.smalltalk = function(){
- var VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*';
- return {
- defaultMode: {
- lexems: [hljs.UNDERSCORE_IDENT_RE],
- contains: ['comment', 'string', 'class', 'method',
- 'number', 'symbol', 'char', 'localvars', 'array'],
- keywords: {'self': 1, 'super': 1, 'nil': 1, 'true': 1, 'false': 1, 'thisContext': 1} // only 6
- },
- modes: [
- {
- className: 'class',
- begin: '\\b[A-Z][A-Za-z0-9_]*', end: '^',
- relevance: 0
- },
- {
- className: 'symbol',
- begin: '#' + hljs.UNDERSCORE_IDENT_RE, end: '^'
- },
- hljs.C_NUMBER_MODE,
- hljs.APOS_STRING_MODE,
- {
- className: 'comment',
- begin: '"', end: '"',
- relevance: 0
- },
- {
- className: 'method',
- begin: VAR_IDENT_RE + ':', end:'^'
- },
- {
- className: 'char',
- begin: '\\$.{1}', end: '^'
- },
- {
- className: 'localvars',
- begin: '\\|\\s*((' + VAR_IDENT_RE + ')\\s*)+\\|', end: '^',
- relevance: 10
- },
- {
- className: 'array',
- begin: '\\#\\(', end: '\\)',
- contains: ['string', 'char', 'number', 'symbol']
- }
- ]
- };
- }();