summaryrefslogtreecommitdiff
path: root/includes/js/dojox/highlight/languages/delphi.js
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
commite44a7e37b6c7b5961adaffc62b9042b8d442938e (patch)
tree95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/highlight/languages/delphi.js
parenta62b9742ee5e28bcec6872d88f50f25b820914f6 (diff)
downloadsemanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz
semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/highlight/languages/delphi.js')
-rw-r--r--includes/js/dojox/highlight/languages/delphi.js122
1 files changed, 122 insertions, 0 deletions
diff --git a/includes/js/dojox/highlight/languages/delphi.js b/includes/js/dojox/highlight/languages/delphi.js
new file mode 100644
index 0000000..ac97409
--- /dev/null
+++ b/includes/js/dojox/highlight/languages/delphi.js
@@ -0,0 +1,122 @@
+if(!dojo._hasResource["dojox.highlight.languages.delphi"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.highlight.languages.delphi"] = true;
+dojo.provide("dojox.highlight.languages.delphi");
+
+dojo.require("dojox.highlight._base");
+
+(function(){
+ var DELPHI_KEYWORDS = {
+ 'and': 1, 'safecall': 1, 'cdecl': 1, 'then': 1, 'string': 1,
+ 'exports': 1, 'library': 1, 'not': 1, 'pascal': 1, 'set': 1,
+ 'virtual': 1, 'file': 1, 'in': 1, 'array': 1, 'label': 1, 'packed': 1,
+ 'end.': 1, 'index': 1, 'while': 1, 'const': 1, 'raise': 1, 'for': 1,
+ 'to': 1, 'implementation': 1, 'with': 1, 'except': 1, 'overload': 1,
+ 'destructor': 1, 'downto': 1, 'finally': 1, 'program': 1, 'exit': 1,
+ 'unit': 1, 'inherited': 1, 'override': 1, 'if': 1, 'type': 1,
+ 'until': 1, 'function': 1, 'do': 1, 'begin': 1, 'repeat': 1, 'goto': 1,
+ 'nil': 1, 'far': 1, 'initialization': 1, 'object': 1, 'else': 1,
+ 'var': 1, 'uses': 1, 'external': 1, 'resourcestring': 1,
+ 'interface': 1, 'end': 1, 'finalization': 1, 'class': 1, 'asm': 1,
+ 'mod': 1, 'case': 1, 'on': 1, 'shr': 1, 'shl': 1, 'of': 1,
+ 'register': 1, 'xorwrite': 1, 'threadvar': 1, 'try': 1, 'record': 1,
+ 'near': 1, 'stored': 1, 'constructor': 1, 'stdcall': 1, 'inline': 1,
+ 'div': 1, 'out': 1, 'or': 1, 'procedure': 1
+ };
+ var DELPHI_CLASS_KEYWORDS = {
+ 'safecall': 1, 'stdcall': 1, 'pascal': 1, 'stored': 1, 'const': 1,
+ 'implementation': 1, 'finalization': 1, 'except': 1, 'to': 1,
+ 'finally': 1, 'program': 1, 'inherited': 1, 'override': 1, 'then': 1,
+ 'exports': 1, 'string': 1, 'read': 1, 'not': 1, 'mod': 1, 'shr': 1,
+ 'try': 1, 'div': 1, 'shl': 1, 'set': 1, 'library': 1, 'message': 1,
+ 'packed': 1, 'index': 1, 'for': 1, 'near': 1, 'overload': 1,
+ 'label': 1, 'downto': 1, 'exit': 1, 'public': 1, 'goto': 1,
+ 'interface': 1, 'asm': 1, 'on': 1, 'of': 1, 'constructor': 1, 'or': 1,
+ 'private': 1, 'array': 1, 'unit': 1, 'raise': 1, 'destructor': 1,
+ 'var': 1, 'type': 1, 'until': 1, 'function': 1, 'else': 1,
+ 'external': 1, 'with': 1, 'case': 1, 'default': 1, 'record': 1,
+ 'while': 1, 'protected': 1, 'property': 1, 'procedure': 1,
+ 'published': 1, 'and': 1, 'cdecl': 1, 'do': 1, 'threadvar': 1,
+ 'file': 1, 'in': 1, 'if': 1, 'end': 1, 'virtual': 1, 'write': 1,
+ 'far': 1, 'out': 1, 'begin': 1, 'repeat': 1, 'nil': 1,
+ 'initialization': 1, 'object': 1, 'uses': 1, 'resourcestring': 1,
+ 'class': 1, 'register': 1, 'xorwrite': 1, 'inline': 1
+ };
+
+ var dh = dojox.highlight, dhc = dh.constants;
+ dh.languages.delphi = {
+ defaultMode: {
+ lexems: [dhc.IDENT_RE],
+ illegal: '("|\\$[G-Zg-z]|\\/\\*|</)',
+ contains: ['comment', 'string', 'number', 'function', 'class'],
+ keywords: DELPHI_KEYWORDS
+ },
+ case_insensitive: true,
+ modes: [
+ {
+ className: 'comment',
+ begin: '{', end: '}'
+ },
+ {
+ className: 'comment',
+ begin: '\\(\\*', end: '\\*\\)',
+ relevance: 10
+ },
+ dhc.C_LINE_COMMENT_MODE,
+ {
+ className: 'number',
+ begin: dhc.NUMBER_RE, end: '^',
+ relevance: 0
+ },
+ {
+ className: 'string',
+ begin: '\'', end: '\'',
+ contains: ['quote'],
+ relevance: 0
+ },
+ {
+ className: 'string',
+ begin: '(#\\d+)+', end: '^'
+ },
+ {
+ className: 'quote',
+ begin: '\'\'', end: '^'
+ },
+ {
+ className: 'function',
+ begin: 'function', end: '[:;]',
+ lexems: [dhc.IDENT_RE],
+ keywords: {'function': 1},
+ contains: ['title', 'params', 'comment'],
+ relevance: 0
+ },
+ {
+ className: 'function',
+ begin: '(procedure|constructor|destructor)', end: ';',
+ lexems: [dhc.IDENT_RE],
+ keywords: {'constructor': 1, 'destructor': 1, 'procedure': 1},
+ contains: ['title', 'params', 'comment'],
+ relevance: 10
+ },
+ {
+ className: 'title',
+ begin: dhc.IDENT_RE, end: '^'
+ },
+ {
+ className: 'params',
+ begin: '\\(', end: '\\)',
+ lexems: [dhc.IDENT_RE],
+ keywords: DELPHI_KEYWORDS,
+ contains: ['string']
+ },
+ {
+ className: 'class',
+ begin: '=\\s*class', end: 'end;',
+ lexems: [dhc.IDENT_RE],
+ keywords: DELPHI_CLASS_KEYWORDS,
+ contains: ['string', 'comment', 'function']
+ }
+ ]
+ };
+})();
+
+}