editarea-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. data/LICENSE.txt +22 -0
  2. data/README.md +31 -0
  3. data/lib/editarea-rails.rb +8 -0
  4. data/lib/editarea-rails/version.rb +5 -0
  5. data/vendor/assets/images/autocompletion.gif +0 -0
  6. data/vendor/assets/images/close.gif +0 -0
  7. data/vendor/assets/images/fullscreen.gif +0 -0
  8. data/vendor/assets/images/go_to_line.gif +0 -0
  9. data/vendor/assets/images/help.gif +0 -0
  10. data/vendor/assets/images/highlight.gif +0 -0
  11. data/vendor/assets/images/load.gif +0 -0
  12. data/vendor/assets/images/move.gif +0 -0
  13. data/vendor/assets/images/newdocument.gif +0 -0
  14. data/vendor/assets/images/opacity.png +0 -0
  15. data/vendor/assets/images/plugins/charmap/charmap.gif +0 -0
  16. data/vendor/assets/images/plugins/test/css/test.css +3 -0
  17. data/vendor/assets/images/plugins/test/images/Thumbs.db +0 -0
  18. data/vendor/assets/images/plugins/test/images/test.gif +0 -0
  19. data/vendor/assets/images/plugins/test/langs/bg.js +10 -0
  20. data/vendor/assets/images/plugins/test/langs/cs.js +4 -0
  21. data/vendor/assets/images/plugins/test/langs/de.js +4 -0
  22. data/vendor/assets/images/plugins/test/langs/dk.js +4 -0
  23. data/vendor/assets/images/plugins/test/langs/en.js +4 -0
  24. data/vendor/assets/images/plugins/test/langs/eo.js +4 -0
  25. data/vendor/assets/images/plugins/test/langs/es.js +4 -0
  26. data/vendor/assets/images/plugins/test/langs/fr.js +4 -0
  27. data/vendor/assets/images/plugins/test/langs/hr.js +4 -0
  28. data/vendor/assets/images/plugins/test/langs/it.js +4 -0
  29. data/vendor/assets/images/plugins/test/langs/ja.js +4 -0
  30. data/vendor/assets/images/plugins/test/langs/mk.js +4 -0
  31. data/vendor/assets/images/plugins/test/langs/nl.js +4 -0
  32. data/vendor/assets/images/plugins/test/langs/pl.js +4 -0
  33. data/vendor/assets/images/plugins/test/langs/pt.js +4 -0
  34. data/vendor/assets/images/plugins/test/langs/ru.js +4 -0
  35. data/vendor/assets/images/plugins/test/langs/sk.js +4 -0
  36. data/vendor/assets/images/plugins/test/langs/zh.js +4 -0
  37. data/vendor/assets/images/plugins/test/test.js +110 -0
  38. data/vendor/assets/images/plugins/test/test2.js +1 -0
  39. data/vendor/assets/images/processing.gif +0 -0
  40. data/vendor/assets/images/redo.gif +0 -0
  41. data/vendor/assets/images/reset_highlight.gif +0 -0
  42. data/vendor/assets/images/save.gif +0 -0
  43. data/vendor/assets/images/search.gif +0 -0
  44. data/vendor/assets/images/smooth_selection.gif +0 -0
  45. data/vendor/assets/images/spacer.gif +0 -0
  46. data/vendor/assets/images/statusbar_resize.gif +0 -0
  47. data/vendor/assets/images/undo.gif +0 -0
  48. data/vendor/assets/images/word_wrap.gif +0 -0
  49. data/vendor/assets/javascripts/autocompletion.js +491 -0
  50. data/vendor/assets/javascripts/edit_area.js +527 -0
  51. data/vendor/assets/javascripts/edit_area_full.js +38 -0
  52. data/vendor/assets/javascripts/edit_area_functions.js +1202 -0
  53. data/vendor/assets/javascripts/edit_area_loader.js +1081 -0
  54. data/vendor/assets/javascripts/elements_functions.js +336 -0
  55. data/vendor/assets/javascripts/highlight.js +407 -0
  56. data/vendor/assets/javascripts/keyboard.js +145 -0
  57. data/vendor/assets/javascripts/langs/bg.js +54 -0
  58. data/vendor/assets/javascripts/langs/cs.js +48 -0
  59. data/vendor/assets/javascripts/langs/de.js +48 -0
  60. data/vendor/assets/javascripts/langs/dk.js +48 -0
  61. data/vendor/assets/javascripts/langs/en.js +48 -0
  62. data/vendor/assets/javascripts/langs/eo.js +48 -0
  63. data/vendor/assets/javascripts/langs/es.js +48 -0
  64. data/vendor/assets/javascripts/langs/fi.js +48 -0
  65. data/vendor/assets/javascripts/langs/fr.js +48 -0
  66. data/vendor/assets/javascripts/langs/hr.js +48 -0
  67. data/vendor/assets/javascripts/langs/it.js +48 -0
  68. data/vendor/assets/javascripts/langs/ja.js +48 -0
  69. data/vendor/assets/javascripts/langs/mk.js +48 -0
  70. data/vendor/assets/javascripts/langs/nl.js +48 -0
  71. data/vendor/assets/javascripts/langs/pl.js +48 -0
  72. data/vendor/assets/javascripts/langs/pt.js +48 -0
  73. data/vendor/assets/javascripts/langs/ru.js +48 -0
  74. data/vendor/assets/javascripts/langs/sk.js +48 -0
  75. data/vendor/assets/javascripts/langs/zh.js +48 -0
  76. data/vendor/assets/javascripts/manage_area.js +623 -0
  77. data/vendor/assets/javascripts/plugins/charmap/charmap.js +90 -0
  78. data/vendor/assets/javascripts/plugins/charmap/jscripts/map.js +373 -0
  79. data/vendor/assets/javascripts/plugins/charmap/langs/bg.js +12 -0
  80. data/vendor/assets/javascripts/plugins/charmap/langs/cs.js +6 -0
  81. data/vendor/assets/javascripts/plugins/charmap/langs/de.js +6 -0
  82. data/vendor/assets/javascripts/plugins/charmap/langs/dk.js +6 -0
  83. data/vendor/assets/javascripts/plugins/charmap/langs/en.js +6 -0
  84. data/vendor/assets/javascripts/plugins/charmap/langs/eo.js +6 -0
  85. data/vendor/assets/javascripts/plugins/charmap/langs/es.js +6 -0
  86. data/vendor/assets/javascripts/plugins/charmap/langs/fr.js +6 -0
  87. data/vendor/assets/javascripts/plugins/charmap/langs/hr.js +6 -0
  88. data/vendor/assets/javascripts/plugins/charmap/langs/it.js +6 -0
  89. data/vendor/assets/javascripts/plugins/charmap/langs/ja.js +6 -0
  90. data/vendor/assets/javascripts/plugins/charmap/langs/mk.js +6 -0
  91. data/vendor/assets/javascripts/plugins/charmap/langs/nl.js +6 -0
  92. data/vendor/assets/javascripts/plugins/charmap/langs/pl.js +6 -0
  93. data/vendor/assets/javascripts/plugins/charmap/langs/pt.js +6 -0
  94. data/vendor/assets/javascripts/plugins/charmap/langs/ru.js +6 -0
  95. data/vendor/assets/javascripts/plugins/charmap/langs/sk.js +6 -0
  96. data/vendor/assets/javascripts/plugins/charmap/langs/zh.js +6 -0
  97. data/vendor/assets/javascripts/plugins/charmap/popup.html +24 -0
  98. data/vendor/assets/javascripts/plugins/test/langs/bg.js +10 -0
  99. data/vendor/assets/javascripts/plugins/test/langs/cs.js +4 -0
  100. data/vendor/assets/javascripts/plugins/test/langs/de.js +4 -0
  101. data/vendor/assets/javascripts/plugins/test/langs/dk.js +4 -0
  102. data/vendor/assets/javascripts/plugins/test/langs/en.js +4 -0
  103. data/vendor/assets/javascripts/plugins/test/langs/eo.js +4 -0
  104. data/vendor/assets/javascripts/plugins/test/langs/es.js +4 -0
  105. data/vendor/assets/javascripts/plugins/test/langs/fr.js +4 -0
  106. data/vendor/assets/javascripts/plugins/test/langs/hr.js +4 -0
  107. data/vendor/assets/javascripts/plugins/test/langs/it.js +4 -0
  108. data/vendor/assets/javascripts/plugins/test/langs/ja.js +4 -0
  109. data/vendor/assets/javascripts/plugins/test/langs/mk.js +4 -0
  110. data/vendor/assets/javascripts/plugins/test/langs/nl.js +4 -0
  111. data/vendor/assets/javascripts/plugins/test/langs/pl.js +4 -0
  112. data/vendor/assets/javascripts/plugins/test/langs/pt.js +4 -0
  113. data/vendor/assets/javascripts/plugins/test/langs/ru.js +4 -0
  114. data/vendor/assets/javascripts/plugins/test/langs/sk.js +4 -0
  115. data/vendor/assets/javascripts/plugins/test/langs/zh.js +4 -0
  116. data/vendor/assets/javascripts/plugins/test/test.js +110 -0
  117. data/vendor/assets/javascripts/plugins/test/test2.js +1 -0
  118. data/vendor/assets/javascripts/reg_syntax.js +166 -0
  119. data/vendor/assets/javascripts/reg_syntax/basic.js +70 -0
  120. data/vendor/assets/javascripts/reg_syntax/brainfuck.js +45 -0
  121. data/vendor/assets/javascripts/reg_syntax/c.js +63 -0
  122. data/vendor/assets/javascripts/reg_syntax/coldfusion.js +120 -0
  123. data/vendor/assets/javascripts/reg_syntax/cpp.js +66 -0
  124. data/vendor/assets/javascripts/reg_syntax/css.js +85 -0
  125. data/vendor/assets/javascripts/reg_syntax/html.js +51 -0
  126. data/vendor/assets/javascripts/reg_syntax/java.js +57 -0
  127. data/vendor/assets/javascripts/reg_syntax/js.js +94 -0
  128. data/vendor/assets/javascripts/reg_syntax/pas.js +83 -0
  129. data/vendor/assets/javascripts/reg_syntax/perl.js +88 -0
  130. data/vendor/assets/javascripts/reg_syntax/php.js +157 -0
  131. data/vendor/assets/javascripts/reg_syntax/python.js +145 -0
  132. data/vendor/assets/javascripts/reg_syntax/robotstxt.js +25 -0
  133. data/vendor/assets/javascripts/reg_syntax/ruby.js +68 -0
  134. data/vendor/assets/javascripts/reg_syntax/sql.js +56 -0
  135. data/vendor/assets/javascripts/reg_syntax/tsql.js +88 -0
  136. data/vendor/assets/javascripts/reg_syntax/vb.js +53 -0
  137. data/vendor/assets/javascripts/reg_syntax/xml.js +57 -0
  138. data/vendor/assets/javascripts/regexp.js +139 -0
  139. data/vendor/assets/javascripts/resize_area.js +73 -0
  140. data/vendor/assets/javascripts/search_replace.js +174 -0
  141. data/vendor/assets/stylesheets/edit_area.css +530 -0
  142. data/vendor/assets/stylesheets/plugins/charmap/css/charmap.css +64 -0
  143. data/vendor/assets/stylesheets/plugins/test/css/test.css +3 -0
  144. metadata +210 -0
@@ -0,0 +1,51 @@
1
+ /*
2
+ * last update: 2006-08-24
3
+ */
4
+
5
+ editAreaLoader.load_syntax["html"] = {
6
+ 'DISPLAY_NAME' : 'HTML'
7
+ ,'COMMENT_SINGLE' : {}
8
+ ,'COMMENT_MULTI' : {'<!--' : '-->'}
9
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
10
+ ,'KEYWORD_CASE_SENSITIVE' : false
11
+ ,'KEYWORDS' : {
12
+ }
13
+ ,'OPERATORS' :[
14
+ ]
15
+ ,'DELIMITERS' :[
16
+ ]
17
+ ,'REGEXPS' : {
18
+ 'doctype' : {
19
+ 'search' : '()(<!DOCTYPE[^>]*>)()'
20
+ ,'class' : 'doctype'
21
+ ,'modifiers' : ''
22
+ ,'execute' : 'before' // before or after
23
+ }
24
+ ,'tags' : {
25
+ 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
26
+ ,'class' : 'tags'
27
+ ,'modifiers' : 'gi'
28
+ ,'execute' : 'before' // before or after
29
+ }
30
+ ,'attributes' : {
31
+ 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
32
+ ,'class' : 'attributes'
33
+ ,'modifiers' : 'g'
34
+ ,'execute' : 'before' // before or after
35
+ }
36
+ }
37
+ ,'STYLES' : {
38
+ 'COMMENTS': 'color: #AAAAAA;'
39
+ ,'QUOTESMARKS': 'color: #6381F8;'
40
+ ,'KEYWORDS' : {
41
+ }
42
+ ,'OPERATORS' : 'color: #E775F0;'
43
+ ,'DELIMITERS' : ''
44
+ ,'REGEXPS' : {
45
+ 'attributes': 'color: #B1AC41;'
46
+ ,'tags': 'color: #E62253;'
47
+ ,'doctype': 'color: #8DCFB5;'
48
+ ,'test': 'color: #00FF00;'
49
+ }
50
+ }
51
+ };
@@ -0,0 +1,57 @@
1
+ editAreaLoader.load_syntax["java"] = {
2
+ 'DISPLAY_NAME' : 'Java'
3
+ ,'COMMENT_SINGLE': { 1: '//', 2: '@' }
4
+ , 'COMMENT_MULTI': { '/*': '*/' }
5
+ , 'QUOTEMARKS': { 1: "'", 2: '"' }
6
+ , 'KEYWORD_CASE_SENSITIVE': true
7
+ , 'KEYWORDS': {
8
+ 'constants': [
9
+ 'null', 'false', 'true'
10
+ ]
11
+ , 'types': [
12
+ 'String', 'int', 'short', 'long', 'char', 'double', 'byte',
13
+ 'float', 'static', 'void', 'private', 'boolean', 'protected',
14
+ 'public', 'const', 'class', 'final', 'abstract', 'volatile',
15
+ 'enum', 'transient', 'interface'
16
+ ]
17
+ , 'statements': [
18
+ 'this', 'extends', 'if', 'do', 'while', 'try', 'catch', 'finally',
19
+ 'throw', 'throws', 'else', 'for', 'switch', 'continue', 'implements',
20
+ 'break', 'case', 'default', 'goto'
21
+ ]
22
+ , 'keywords': [
23
+ 'new', 'return', 'import', 'native', 'super', 'package', 'assert', 'synchronized',
24
+ 'instanceof', 'strictfp'
25
+ ]
26
+ }
27
+ , 'OPERATORS': [
28
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
29
+ ]
30
+ , 'DELIMITERS': [
31
+ '(', ')', '[', ']', '{', '}'
32
+ ]
33
+ , 'REGEXPS': {
34
+ 'precompiler': {
35
+ 'search': '()(#[^\r\n]*)()'
36
+ , 'class': 'precompiler'
37
+ , 'modifiers': 'g'
38
+ , 'execute': 'before'
39
+ }
40
+ }
41
+ , 'STYLES': {
42
+ 'COMMENTS': 'color: #AAAAAA;'
43
+ , 'QUOTESMARKS': 'color: #6381F8;'
44
+ , 'KEYWORDS': {
45
+ 'constants': 'color: #EE0000;'
46
+ , 'types': 'color: #0000EE;'
47
+ , 'statements': 'color: #60CA00;'
48
+ , 'keywords': 'color: #48BDDF;'
49
+ }
50
+ , 'OPERATORS': 'color: #FF00FF;'
51
+ , 'DELIMITERS': 'color: #0038E1;'
52
+ , 'REGEXPS': {
53
+ 'precompiler': 'color: #009900;'
54
+ , 'precompilerstring': 'color: #994400;'
55
+ }
56
+ }
57
+ };
@@ -0,0 +1,94 @@
1
+ editAreaLoader.load_syntax["js"] = {
2
+ 'DISPLAY_NAME' : 'Javascript'
3
+ ,'COMMENT_SINGLE' : {1 : '//'}
4
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
5
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
6
+ ,'KEYWORD_CASE_SENSITIVE' : false
7
+ ,'KEYWORDS' : {
8
+ 'statements' : [
9
+ 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
10
+ 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
11
+ 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
12
+ 'while', 'write', 'with'
13
+ ]
14
+ ,'keywords' : [
15
+ 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
16
+ 'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
17
+ 'protected', 'public', 'super', 'true', 'use', 'var', 'window', 'document',
18
+ // the list below must be sorted and checked (if it is a keywords or a function and if it is not present twice
19
+ 'Link ', 'outerHeight ', 'Anchor', 'FileUpload',
20
+ 'location', 'outerWidth', 'Select', 'Area', 'find', 'Location', 'Packages', 'self',
21
+ 'arguments', 'locationbar', 'pageXoffset', 'Form',
22
+ 'Math', 'pageYoffset', 'setTimeout', 'assign', 'Frame', 'menubar', 'parent', 'status',
23
+ 'blur', 'frames', 'MimeType', 'parseFloat', 'statusbar', 'Boolean', 'Function', 'moveBy',
24
+ 'parseInt', 'stop', 'Button', 'getClass', 'moveTo', 'Password', 'String', 'callee', 'Hidden',
25
+ 'name', 'personalbar', 'Submit', 'caller', 'history', 'NaN', 'Plugin', 'sun', 'captureEvents',
26
+ 'History', 'navigate', 'print', 'taint', 'Checkbox', 'home', 'navigator', 'prompt', 'Text',
27
+ 'Image', 'Navigator', 'prototype', 'Textarea', 'clearTimeout', 'Infinity',
28
+ 'netscape', 'Radio', 'toolbar', 'close', 'innerHeight', 'Number', 'ref', 'top', 'closed',
29
+ 'innerWidth', 'Object', 'RegExp', 'toString', 'confirm', 'isFinite', 'onBlur', 'releaseEvents',
30
+ 'unescape', 'constructor', 'isNan', 'onError', 'Reset', 'untaint', 'Date', 'java', 'onFocus',
31
+ 'resizeBy', 'unwatch', 'defaultStatus', 'JavaArray', 'onLoad', 'resizeTo', 'valueOf', 'document',
32
+ 'JavaClass', 'onUnload', 'routeEvent', 'watch', 'Document', 'JavaObject', 'open', 'scroll', 'window',
33
+ 'Element', 'JavaPackage', 'opener', 'scrollbars', 'Window', 'escape', 'length', 'Option', 'scrollBy'
34
+ ]
35
+ ,'functions' : [
36
+ // common functions for Window object
37
+ 'alert', 'Array', 'back', 'blur', 'clearInterval', 'close', 'confirm', 'eval ', 'focus', 'forward', 'home',
38
+ 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
39
+ 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'scrollTo', 'setInterval', 'status',
40
+ 'stop'
41
+ ]
42
+ }
43
+ ,'OPERATORS' :[
44
+ '+', '-', '/', '*', '=', '<', '>', '%', '!'
45
+ ]
46
+ ,'DELIMITERS' :[
47
+ '(', ')', '[', ']', '{', '}'
48
+ ]
49
+ ,'STYLES' : {
50
+ 'COMMENTS': 'color: #AAAAAA;'
51
+ ,'QUOTESMARKS': 'color: #6381F8;'
52
+ ,'KEYWORDS' : {
53
+ 'statements' : 'color: #60CA00;'
54
+ ,'keywords' : 'color: #48BDDF;'
55
+ ,'functions' : 'color: #2B60FF;'
56
+ }
57
+ ,'OPERATORS' : 'color: #FF00FF;'
58
+ ,'DELIMITERS' : 'color: #0038E1;'
59
+
60
+ }
61
+ ,'AUTO_COMPLETION' : {
62
+ "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
63
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
64
+ ,"possible_words_letters": "[a-zA-Z0-9_]+"
65
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
66
+ ,"prefix_separator": "\\."
67
+ }
68
+ ,"CASE_SENSITIVE": true
69
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
70
+ ,"KEYWORDS": {
71
+ '': [ // the prefix of thoses items
72
+ /**
73
+ * 0 : the keyword the user is typing
74
+ * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
75
+ * If empty the keyword will be displayed
76
+ * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
77
+ */
78
+ ['Array', '§()', '']
79
+ ,['alert', '§({@})', 'alert(String message)']
80
+ ,['document']
81
+ ,['window']
82
+ ]
83
+ ,'window' : [
84
+ ['location']
85
+ ,['document']
86
+ ,['scrollTo', 'scrollTo({@})', 'scrollTo(Int x,Int y)']
87
+ ]
88
+ ,'location' : [
89
+ ['href']
90
+ ]
91
+ }
92
+ }
93
+ }
94
+ };
@@ -0,0 +1,83 @@
1
+ editAreaLoader.load_syntax["pas"] = {
2
+ 'DISPLAY_NAME' : 'Pascal'
3
+ ,'COMMENT_SINGLE' : {}
4
+ ,'COMMENT_MULTI' : {'{' : '}', '(*':'*)'}
5
+ ,'QUOTEMARKS' : {1: '"', 2: "'"}
6
+ ,'KEYWORD_CASE_SENSITIVE' : false
7
+ ,'KEYWORDS' : {
8
+ 'constants' : [
9
+ 'Blink', 'Black', 'Blue', 'Green', 'Cyan', 'Red',
10
+ 'Magenta', 'Brown', 'LightGray', 'DarkGray',
11
+ 'LightBlue', 'LightGreen', 'LightCyan', 'LightRed',
12
+ 'LightMagenta', 'Yellow', 'White', 'MaxSIntValue',
13
+ 'MaxUIntValue', 'maxint', 'maxLongint', 'maxSmallint',
14
+ 'erroraddr', 'errorcode', 'LineEnding'
15
+ ]
16
+ ,'keywords' : [
17
+ 'in', 'or', 'div', 'mod', 'and', 'shl', 'shr', 'xor',
18
+ 'pow', 'is', 'not','Absolute', 'And_then', 'Array',
19
+ 'Begin', 'Bindable', 'Case', 'Const', 'Do', 'Downto',
20
+ 'Else', 'End', 'Export', 'File', 'For', 'Function',
21
+ 'Goto', 'If', 'Import', 'Implementation', 'Inherited',
22
+ 'Inline', 'Interface', 'Label', 'Module', 'Nil',
23
+ 'Object', 'Of', 'Only', 'Operator', 'Or_else',
24
+ 'Otherwise', 'Packed', 'Procedure', 'Program',
25
+ 'Protected', 'Qualified', 'Record', 'Repeat',
26
+ 'Restricted', 'Set', 'Then', 'To', 'Type', 'Unit',
27
+ 'Until', 'Uses', 'Value', 'Var', 'Virtual', 'While',
28
+ 'With'
29
+ ]
30
+ ,'functions' : [
31
+ 'Abs', 'Addr', 'Append', 'Arctan', 'Assert', 'Assign',
32
+ 'Assigned', 'BinStr', 'Blockread', 'Blockwrite',
33
+ 'Break', 'Chdir', 'Chr', 'Close', 'CompareByte',
34
+ 'CompareChar', 'CompareDWord', 'CompareWord', 'Concat',
35
+ 'Continue', 'Copy', 'Cos', 'CSeg', 'Dec', 'Delete',
36
+ 'Dispose', 'DSeg', 'Eof', 'Eoln', 'Erase', 'Exclude',
37
+ 'Exit', 'Exp', 'Filepos', 'Filesize', 'FillByte',
38
+ 'Fillchar', 'FillDWord', 'Fillword', 'Flush', 'Frac',
39
+ 'Freemem', 'Getdir', 'Getmem', 'GetMemoryManager',
40
+ 'Halt', 'HexStr', 'Hi', 'High', 'Inc', 'Include',
41
+ 'IndexByte', 'IndexChar', 'IndexDWord', 'IndexWord',
42
+ 'Insert', 'IsMemoryManagerSet', 'Int', 'IOresult',
43
+ 'Length', 'Ln', 'Lo', 'LongJmp', 'Low', 'Lowercase',
44
+ 'Mark', 'Maxavail', 'Memavail', 'Mkdir', 'Move',
45
+ 'MoveChar0', 'New', 'Odd', 'OctStr', 'Ofs', 'Ord',
46
+ 'Paramcount', 'Paramstr', 'Pi', 'Pos', 'Power', 'Pred',
47
+ 'Ptr', 'Random', 'Randomize', 'Read', 'Readln',
48
+ 'Real2Double', 'Release', 'Rename', 'Reset', 'Rewrite',
49
+ 'Rmdir', 'Round', 'Runerror', 'Seek', 'SeekEof',
50
+ 'SeekEoln', 'Seg', 'SetMemoryManager', 'SetJmp',
51
+ 'SetLength', 'SetString', 'SetTextBuf', 'Sin', 'SizeOf',
52
+ 'Sptr', 'Sqr', 'Sqrt', 'SSeg', 'Str', 'StringOfChar',
53
+ 'Succ', 'Swap', 'Trunc', 'Truncate', 'Upcase', 'Val',
54
+ 'Write', 'WriteLn'
55
+ ]
56
+ ,'types' : [
57
+ 'Integer', 'Shortint', 'SmallInt', 'Longint',
58
+ 'Longword', 'Int64', 'Byte', 'Word', 'Cardinal',
59
+ 'QWord', 'Boolean', 'ByteBool', 'LongBool', 'Char',
60
+ 'Real', 'Single', 'Double', 'Extended', 'Comp',
61
+ 'String', 'ShortString', 'AnsiString', 'PChar'
62
+ ]
63
+ }
64
+ ,'OPERATORS' :[
65
+ '@', '*', '+', '-', '/', '^', ':=', '<', '=', '>'
66
+ ]
67
+ ,'DELIMITERS' :[
68
+ '(', ')', '[', ']'
69
+ ]
70
+ ,'STYLES' : {
71
+ 'COMMENTS': 'color: #AAAAAA;'
72
+ ,'QUOTESMARKS': 'color: #6381F8;'
73
+ ,'KEYWORDS' : {
74
+ 'specials' : 'color: #EE0000;'
75
+ ,'constants' : 'color: #654321;'
76
+ ,'keywords' : 'color: #48BDDF;'
77
+ ,'functions' : 'color: #449922;'
78
+ ,'types' : 'color: #2B60FF;'
79
+ }
80
+ ,'OPERATORS' : 'color: #FF00FF;'
81
+ ,'DELIMITERS' : 'color: #60CA00;'
82
+ }
83
+ };
@@ -0,0 +1,88 @@
1
+ /***************************************************************************
2
+ * (c) 2008 - file created by Christoph Pinkel, MTC Infomedia OHG.
3
+ *
4
+ * You may choose any license of the current release or any future release
5
+ * of editarea to use, modify and/or redistribute this file.
6
+ *
7
+ * This language specification file supports for syntax checking on
8
+ * a large subset of Perl 5.x.
9
+ * The basic common syntax of Perl is fully supported, but as for
10
+ * the highlighting of built-in operations, it's mainly designed
11
+ * to support for hightlighting Perl code in a Safe environment (compartment)
12
+ * as used by CoMaNet for evaluation of administrative scripts. This Safe
13
+ * compartment basically allows for all of Opcode's :default operations,
14
+ * but little others. See http://perldoc.perl.org/Opcode.html to learn
15
+ * more.
16
+ ***************************************************************************/
17
+
18
+ editAreaLoader.load_syntax["perl"] = {
19
+ 'DISPLAY_NAME' : 'Perl',
20
+ 'COMMENT_SINGLE' : {1 : '#'},
21
+ 'QUOTEMARKS' : {1: "'", 2: '"'},
22
+ 'KEYWORD_CASE_SENSITIVE' : true,
23
+ 'KEYWORDS' :
24
+ {
25
+ 'core' :
26
+ [ "if", "else", "elsif", "while", "for", "each", "foreach",
27
+ "next", "last", "goto", "exists", "delete", "undef",
28
+ "my", "our", "local", "use", "require", "package", "keys", "values",
29
+ "sub", "bless", "ref", "return" ],
30
+ 'functions' :
31
+ [
32
+ //from :base_core
33
+ "int", "hex", "oct", "abs", "substr", "vec", "study", "pos",
34
+ "length", "index", "rindex", "ord", "chr", "ucfirst", "lcfirst",
35
+ "uc", "lc", "quotemeta", "chop", "chomp", "split", "list", "splice",
36
+ "push", "pop", "shift", "unshift", "reverse", "and", "or", "dor",
37
+ "xor", "warn", "die", "prototype",
38
+ //from :base_mem
39
+ "concat", "repeat", "join", "range",
40
+ //none from :base_loop, as we'll see them as basic statements...
41
+ //from :base_orig
42
+ "sprintf", "crypt", "tie", "untie", "select", "localtime", "gmtime",
43
+ //others
44
+ "print", "open", "close"
45
+ ]
46
+ },
47
+ 'OPERATORS' :
48
+ [ '+', '-', '/', '*', '=', '<', '>', '!', '||', '.', '&&',
49
+ ' eq ', ' ne ', '=~' ],
50
+ 'DELIMITERS' :
51
+ [ '(', ')', '[', ']', '{', '}' ],
52
+ 'REGEXPS' :
53
+ {
54
+ 'packagedecl' : { 'search': '(package )([^ \r\n\t#;]*)()',
55
+ 'class' : 'scopingnames',
56
+ 'modifiers' : 'g', 'execute' : 'before' },
57
+ 'subdecl' : { 'search': '(sub )([^ \r\n\t#]*)()',
58
+ 'class' : 'scopingnames',
59
+ 'modifiers' : 'g', 'execute' : 'before' },
60
+ 'scalars' : { 'search': '()(\\\$[a-zA-Z0-9_:]*)()',
61
+ 'class' : 'vars',
62
+ 'modifiers' : 'g', 'execute' : 'after' },
63
+ 'arrays' : { 'search': '()(@[a-zA-Z0-9_:]*)()',
64
+ 'class' : 'vars',
65
+ 'modifiers' : 'g', 'execute' : 'after' },
66
+ 'hashs' : { 'search': '()(%[a-zA-Z0-9_:]*)()',
67
+ 'class' : 'vars',
68
+ 'modifiers' : 'g', 'execute' : 'after' },
69
+ },
70
+
71
+ 'STYLES' :
72
+ {
73
+ 'COMMENTS': 'color: #AAAAAA;',
74
+ 'QUOTESMARKS': 'color: #DC0000;',
75
+ 'KEYWORDS' :
76
+ {
77
+ 'core' : 'color: #8aca00;',
78
+ 'functions' : 'color: #2B60FF;'
79
+ },
80
+ 'OPERATORS' : 'color: #8aca00;',
81
+ 'DELIMITERS' : 'color: #0038E1;',
82
+ 'REGEXPS':
83
+ {
84
+ 'scopingnames' : 'color: #ff0000;',
85
+ 'vars' : 'color: #00aaaa;',
86
+ }
87
+ } //'STYLES'
88
+ };
@@ -0,0 +1,157 @@
1
+ editAreaLoader.load_syntax["php"] = {
2
+ 'DISPLAY_NAME' : 'Php'
3
+ ,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
4
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
5
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
6
+ ,'KEYWORD_CASE_SENSITIVE' : false
7
+ ,'KEYWORDS' : {
8
+ 'statements' : [
9
+ 'include', 'require', 'include_once', 'require_once',
10
+ 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
11
+ 'endif', 'switch', 'case', 'endswitch',
12
+ 'return', 'break', 'continue'
13
+ ]
14
+ ,'reserved' : [
15
+ '_GET', '_POST', '_SESSION', '_SERVER', '_FILES', '_ENV', '_COOKIE', '_REQUEST',
16
+ 'null', '__LINE__', '__FILE__',
17
+ 'false', '&lt;?php', '?&gt;', '&lt;?',
18
+ '&lt;script language', '&lt;/script&gt;',
19
+ 'true', 'var', 'default',
20
+ 'function', 'class', 'new', '&amp;new', 'this',
21
+ '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
22
+ 'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
23
+ 'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
24
+ 'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
25
+ 'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
26
+ 'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
27
+ 'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
28
+
29
+ ]
30
+ ,'functions' : [
31
+ 'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
32
+ 'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
33
+ 'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
34
+ 'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
35
+ 'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
36
+ 'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
37
+ 'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
38
+ 'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
39
+ 'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
40
+ 'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
41
+ 'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
42
+ 'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
43
+ 'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
44
+
45
+ ]
46
+ }
47
+ ,'OPERATORS' :[
48
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '&&', '||'
49
+ ]
50
+ ,'DELIMITERS' :[
51
+ '(', ')', '[', ']', '{', '}'
52
+ ]
53
+ ,'REGEXPS' : {
54
+ // highlight all variables ($...)
55
+ 'variables' : {
56
+ 'search' : '()(\\$\\w+)()'
57
+ ,'class' : 'variables'
58
+ ,'modifiers' : 'g'
59
+ ,'execute' : 'before' // before or after
60
+ }
61
+ }
62
+ ,'STYLES' : {
63
+ 'COMMENTS': 'color: #AAAAAA;'
64
+ ,'QUOTESMARKS': 'color: #879EFA;'
65
+ ,'KEYWORDS' : {
66
+ 'reserved' : 'color: #48BDDF;'
67
+ ,'functions' : 'color: #0040FD;'
68
+ ,'statements' : 'color: #60CA00;'
69
+ }
70
+ ,'OPERATORS' : 'color: #FF00FF;'
71
+ ,'DELIMITERS' : 'color: #2B60FF;'
72
+ ,'REGEXPS' : {
73
+ 'variables' : 'color: #E0BD54;'
74
+ }
75
+ }
76
+ ,'AUTO_COMPLETION' : {
77
+ "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
78
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
79
+ ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
80
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
81
+ ,"prefix_separator": "\\-\\>|\\:\\:"
82
+ }
83
+ ,"CASE_SENSITIVE": true
84
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
85
+ ,"KEYWORDS": {
86
+ '': [ // the prefix of thoses items
87
+ /**
88
+ * 0 : the keyword the user is typing
89
+ * 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
90
+ * If empty the keyword will be displayed
91
+ * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
92
+ */
93
+ ['$_POST']
94
+ ,['$_GET']
95
+ ,['$_SESSION']
96
+ ,['$_SERVER']
97
+ ,['$_FILES']
98
+ ,['$_ENV']
99
+ ,['$_COOKIE']
100
+ ,['$_REQUEST']
101
+ // magic methods
102
+ ,['__construct', '§( {@} )']
103
+ ,['__destruct', '§( {@} )']
104
+ ,['__sleep', '§( {@} )']
105
+ ,['__wakeup', '§( {@} )']
106
+ ,['__toString', '§( {@} )']
107
+ // include
108
+ ,['include', '§ "{@}";']
109
+ ,['include_once', '§ "{@}";']
110
+ ,['require', '§ "{@}";']
111
+ ,['require_once', '§ "{@}";']
112
+ // statements
113
+ ,['for', '§( {@} )']
114
+ ,['foreach', '§( {@} )']
115
+ ,['if', '§( {@} )']
116
+ ,['elseif', '§( {@} )']
117
+ ,['while', '§( {@} )']
118
+ ,['switch', '§( {@} )']
119
+ ,['break']
120
+ ,['case']
121
+ ,['continue']
122
+ ,['do']
123
+ ,['else']
124
+ ,['endif']
125
+ ,['endswitch']
126
+ ,['endwhile']
127
+ ,['return']
128
+ // function
129
+ ,['unset', '§( {@} )']
130
+ ]
131
+ }
132
+ }
133
+ ,"live": {
134
+
135
+ // class NAME: /class\W+([a-z]+)\W+/gi
136
+ // method: /^(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
137
+ // static: /^(public|private|protected)?\s+static\s+(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
138
+ // attributes: /(\$this\-\>|(?:var|public|protected|private)\W+\$)([a-z0-9\_]+)(?!\()\b/gi
139
+ // v1 : /(\$this\-\>|var\W+|public\W+|protected\W+|private\W+)([a-z0-9\_]+)\W*(=|;)/gi
140
+ // var type: /(\$(this\-\>)?[a-z0-9\_]+)\s*\=\s*new\s+([a-z0-9\_])+/gi
141
+
142
+
143
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
144
+ ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
145
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
146
+ ,"prefix_separator": "\\-\\>"
147
+ }
148
+ ,"CASE_SENSITIVE": true
149
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
150
+ ,"KEYWORDS": {
151
+ '$this': [ // the prefix of thoses items
152
+ ['test']
153
+ ]
154
+ }
155
+ }
156
+ }
157
+ };