initial commit from rev. 632
This commit is contained in:
53
gulliver/js/highlight/core/languages/smalltalk.js
Normal file
53
gulliver/js/highlight/core/languages/smalltalk.js
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
Smalltalk definition (c) Vladimir Gubarkov <xonixx@gmail.com>
|
||||
|
||||
*/
|
||||
|
||||
var SMALLTALK_KEYWORDS = {'self': 1, 'super': 1, 'nil': 1, 'true': 1, 'false': 1, 'thisContext': 1}; // only 6
|
||||
var VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*';
|
||||
|
||||
LANGUAGES.smalltalk = {
|
||||
defaultMode: {
|
||||
lexems: [UNDERSCORE_IDENT_RE],
|
||||
contains: ['comment', 'string', 'class', 'method',
|
||||
'number', 'symbol', 'char', 'localvars', 'array'],
|
||||
keywords: SMALLTALK_KEYWORDS
|
||||
},
|
||||
modes: [
|
||||
{
|
||||
className: 'class',
|
||||
begin: '\\b[A-Z][A-Za-z0-9_]*', end: '^',
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
className: 'symbol',
|
||||
begin: '#' + UNDERSCORE_IDENT_RE, end: '^'
|
||||
},
|
||||
C_NUMBER_MODE,
|
||||
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']
|
||||
}
|
||||
]
|
||||
};//smalltalk
|
||||
Reference in New Issue
Block a user