zq*wkDptnZcdR`%IPfr6%FD
zE9uMWOe#-mc0
zdbNSOGybW`IN~b2xCP6L&iUIvl!Pgr0!^
zgyGf}G~(fT2)$k$^Fj=R+dg6)!q7Gz2ta%rhJ%nGAPmD7c3yT#A#%j)UNN`xjj9kk>WZd!xmETTBh{YXI^b{t9!jGiW~Qp#VbtkipU(u58V$>o<`ED_LfQ)yM&!tudZ
zO6ZtkL-u2)?nak`4w3~)2OMlB%CquCMW`EC1=ut*Geik9*l2SqO#J~;-aN
z((?HJ(%tf+t-`|0-T(jqA^8LW000jFEC2ui02BZe000D6@X1N5y*TTfdRNNeY>8o>
z4KQZPc^-wzx@G{}*+AEJzAuCxrm-U+gcqV~fj9y(hozB$v;>w-LA7!<0TB$xmeMs$
Y1>z^>8fd%Q>Wl40uW#=7ygmW|J7pwMu>b%7
literal 0
HcmV?d00001
diff --git a/public/js/images/opacity.png b/public/js/images/opacity.png
new file mode 100755
index 0000000000000000000000000000000000000000..b4217cb212926ce7abfde5e045380e3f6a5d54b7
GIT binary patch
literal 147
zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOS+@4BLl_jZKS5jZLdL
qklCGA#U1zK0aw_X$=hxGiT1+v}x0S96<3ux1VcBu(M-;
ztC5}oGb2#H;!hSvE(Q(;9gtxlV;NXH1WtA`ESM2BJDuZdn+*H6+J_#~?s=}wnLTle
zLdoPrg>AjBcimgdeCKBYhit0B2@x&{waK4q^pXsNww0L>hh!WVpKG)o&b3NQQ?5mIMo+7=AS21Oo%i<%fwhoMRy<
z%r&om<6%ZJd`e=;WCaw%pB9{8VS>4w;Q?{M;sr8%x#87s0xU>|UnwlPY=B}oE5iv6
z7MRN&h%~$hWcYK-tKURekqj4MC=qrd`<&8udehy@~I>Xg(5^P9@hX|Ae
U2cj76s&GPp1LpFB=!RPZ0F}Z{aR2}S
literal 0
HcmV?d00001
diff --git a/public/js/images/redo.gif b/public/js/images/redo.gif
new file mode 100755
index 0000000000000000000000000000000000000000..3af90697f0b74d0b6b07b585614a6dc67ff87f1d
GIT binary patch
literal 169
zcmV;a09OA;Nk%w1VH5xq0K*FaEl-kjqwqa)*O$8QUUsNeit)O{)H!9gj;!cSf8=SD
z@4U+CH(H=qeZQ%{>Hq)$A^8LW000jFEC2ui02BZe000D5@X1N5y*TU5@mkK(Nsfb@
zh`52taWqPx3Yb$cP21Nib_4)BqDn)z
literal 0
HcmV?d00001
diff --git a/public/js/images/reset_highlight.gif b/public/js/images/reset_highlight.gif
new file mode 100755
index 0000000000000000000000000000000000000000..0fa3cb79734b6ddadaded7a30dbbab4cdf7ee11a
GIT binary patch
literal 168
zcmV;Z09XG3d^!9RvqL!@E;^*>mjy!E|{0<7#0>aHWEL6BndDU8;y+&e4jmm66%_}QC6xvn4h#bW3={_x
jpoxPV4gmok9t#w=ts@#{Ko1AM7r_@1E5*jg#vuSZ^a*OP
literal 0
HcmV?d00001
diff --git a/public/js/images/search.gif b/public/js/images/search.gif
new file mode 100755
index 0000000000000000000000000000000000000000..cfe76b5d5b06afde765a8f9559c7b2c3fb0d2bf0
GIT binary patch
literal 191
zcmV;w06_moNk%w1VH5xq0K*6XAwYSPrOj1uq2J{2d5^L-QjNRF;a`BY`TG5IgsOa&
z#YJeCAx49!wa3EN@&Et;A^8LW000jFEC2ui02BZe000DR@X1N5y*TU5Zy?LmfLnqv
zlZj@dP!!MS!kB^>3Thj{dMSt5;y`fuDmH}Uz$g$9N~Xo|3t6qtjy*E#3&d$!w&zD+OKB~ULl7eEw((m;2
z^kQ<7@$qtYhNk=Uwg3PCA^8LW000jFEC2ui02BZe000DA@X1N5y*TU5`(_{rgp5Wq
zV<-tiQw0DJpz-{)hcHm#IKm8pA~9I(Ca@SvR8S0cm6VSWFgTt^N>UaxG!szEiFzP_
cvz1f8Q5b|bYX=qJK_CnUx@XVt`!Nv!J5VM>-~a#s
literal 0
HcmV?d00001
diff --git a/public/js/images/spacer.gif b/public/js/images/spacer.gif
new file mode 100755
index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a
GIT binary patch
literal 43
ncmZ?wbhEHbWMp7un7{x9ia%KxMSyG_5FaGNz{KRj$Y2csb)f_x
literal 0
HcmV?d00001
diff --git a/public/js/images/statusbar_resize.gif b/public/js/images/statusbar_resize.gif
new file mode 100755
index 0000000000000000000000000000000000000000..af89d803f8f0eeb965d9443473d5be009641cacf
GIT binary patch
literal 79
zcmZ?wbhEHbX*~6o0ZXGB7YP=m6OaAbAERg(>|jPrv0~%%#ha
d_MXKm)lqT2YSDtso)?w9Z@gz^T^C`n1_07v8bkm9
literal 0
HcmV?d00001
diff --git a/public/js/images/undo.gif b/public/js/images/undo.gif
new file mode 100755
index 0000000000000000000000000000000000000000..520796d69defa118055d191eec33cc67f7551710
GIT binary patch
literal 175
zcmV;g08sx&Nk%w1VH5xq0K*FaI$fTWtk6Go+_}Zyr?=K#e#T#ZwX4DHa-Hu#XSz{;
z-OtzKVv^{Tv+z=g@&Et;A^8LW000jFEC2ui02BZe000DB@X1N5y*TU5^*Z3vJx60U
zVAe<_A|#2DUTDd{g#kDRhWrRvKmtE(`|)VHiweM~gz>Krlp-Snncu!2ps)!r>e}
d2m*##Qg9H=3xcDt9yk*#vbLC%?J3FW@M$~JQa5Ev-;z1A
z)~s2z{lkZ^zkdG#>lh_QLtvPMfZ|UUMh1re3_2kHfbs+b#}tPDoH8C8794Em5Y}?B
zaA-K(E+EgRq4A)Rxm!#>Yl}w1qh>Z9F%5@?1_$SMJ}V)S2Md;-o~{?lx8_Dd}92xuMm{~Hst~OlmcK9DUrR(EC#?}7vDR-^5
rW;U&7J=9lwVCt*zRY{Adt>r4$y|X)H^SquD<&O^SZ{TKQVXy`OIJ8`?
literal 0
HcmV?d00001
diff --git a/public/js/langs/ru.js b/public/js/langs/ru.js
new file mode 100755
index 0000000..fcd381d
--- /dev/null
+++ b/public/js/langs/ru.js
@@ -0,0 +1,48 @@
+editAreaLoader.lang["ru"]={
+new_document: "новый пустой документ",
+search_button: "поиск и замена",
+search_command: "искать следующий / открыть панель поиска",
+search: "поиск",
+replace: "замена",
+replace_command: "заменить / открыть панель поиска",
+find_next: "найти следующее",
+replace_all: "заменить все",
+reg_exp: "регулярное выражение",
+match_case: "учитывать регистр",
+not_found: "не найдено.",
+occurrence_replaced: "вхождение заменено.",
+search_field_empty: "Поле поиска пустое",
+restart_search_at_begin: "Достигнут конец документа. Начинаю с начала.",
+move_popup: "переместить окно поиска",
+font_size: "--Размер шрифта--",
+go_to_line: "перейти к строке",
+go_to_line_prompt: "перейти к строке номер:",
+undo: "отменить",
+redo: "вернуть",
+change_smooth_selection: "включить/отключить некоторые функции просмотра (более красиво, но больше использует процессор)",
+highlight: "переключить подсветку синтаксиса включена/выключена",
+reset_highlight: "восстановить подсветку (если разсинхронизирована от текста)",
+word_wrap: "toggle word wrapping mode",
+help: "о программе",
+save: "сохранить",
+load: "загрузить",
+line_abbr: "Стр",
+char_abbr: "Стлб",
+position: "Позиция",
+total: "Всего",
+close_popup: "закрыть всплывающее окно",
+shortcuts: "Горячие клавиши",
+add_tab: "добавить табуляцию в текст",
+remove_tab: "убрать табуляцию из текста",
+about_notice: "Внимание: функция подсветки синтаксиса только для небольших текстов",
+toggle: "Переключить редактор",
+accesskey: "Горячая клавиша",
+tab: "Tab",
+shift: "Shift",
+ctrl: "Ctrl",
+esc: "Esc",
+processing: "Обработка...",
+fullscreen: "полный экран",
+syntax_selection: "--Синтакс--",
+close_tab: "Закрыть файл"
+};
diff --git a/public/js/plugins/charmap/charmap.js b/public/js/plugins/charmap/charmap.js
new file mode 100755
index 0000000..df42822
--- /dev/null
+++ b/public/js/plugins/charmap/charmap.js
@@ -0,0 +1,90 @@
+/**
+ * Charmap plugin
+ * by Christophe Dolivet
+ * v0.1 (2006/09/22)
+ *
+ *
+ * This plugin allow to use a visual keyboard allowing to insert any UTF-8 characters in the text.
+ *
+ * - plugin name to add to the plugin list: "charmap"
+ * - plugin name to add to the toolbar list: "charmap"
+ * - possible parameters to add to EditAreaLoader.init():
+ * "charmap_default": (String) define the name of the default character range displayed on popup display
+ * (default: "arrows")
+ *
+ *
+ */
+
+var EditArea_charmap= {
+ /**
+ * Get called once this file is loaded (editArea still not initialized)
+ *
+ * @return nothing
+ */
+ init: function(){
+ this.default_language="Arrows";
+ }
+
+ /**
+ * Returns the HTML code for a specific control string or false if this plugin doesn't have that control.
+ * A control can be a button, select list or any other HTML item to present in the EditArea user interface.
+ * Language variables such as {$lang_somekey} will also be replaced with contents from
+ * the language packs.
+ *
+ * @param {string} ctrl_name: the name of the control to add
+ * @return HTML code for a specific control or false.
+ * @type string or boolean
+ */
+ ,get_control_html: function(ctrl_name){
+ switch(ctrl_name){
+ case "charmap":
+ // Control id, button img, command
+ return parent.editAreaLoader.get_button_html('charmap_but', 'charmap.gif', 'charmap_press', false, this.baseURL);
+ }
+ return false;
+ }
+ /**
+ * Get called once EditArea is fully loaded and initialised
+ *
+ * @return nothing
+ */
+ ,onload: function(){
+ if(editArea.settings["charmap_default"] && editArea.settings["charmap_default"].length>0)
+ this.default_language= editArea.settings["charmap_default"];
+ }
+
+ /**
+ * Is called each time the user touch a keyboard key.
+ *
+ * @param (event) e: the keydown event
+ * @return true - pass to next handler in chain, false - stop chain execution
+ * @type boolean
+ */
+ ,onkeydown: function(e){
+
+ }
+
+ /**
+ * Executes a specific command, this function handles plugin commands.
+ *
+ * @param {string} cmd: the name of the command being executed
+ * @param {unknown} param: the parameter of the command
+ * @return true - pass to next handler in chain, false - stop chain execution
+ * @type boolean
+ */
+ ,execCommand: function(cmd, param){
+ // Handle commands
+ switch(cmd){
+ case "charmap_press":
+ win= window.open(this.baseURL+"popup.html", "charmap", "width=500,height=270,scrollbars=yes,resizable=yes");
+ win.focus();
+ return false;
+ }
+ // Pass to next handler in chain
+ return true;
+ }
+
+};
+
+// Adds the plugin class to the list of available EditArea plugins
+editArea.add_plugin("charmap", EditArea_charmap);
diff --git a/public/js/plugins/charmap/css/charmap.css b/public/js/plugins/charmap/css/charmap.css
new file mode 100755
index 0000000..fc8d666
--- /dev/null
+++ b/public/js/plugins/charmap/css/charmap.css
@@ -0,0 +1,64 @@
+body{
+ background-color: #F0F0EE;
+ font: 12px monospace, sans-serif;
+}
+
+select{
+ background-color: #F9F9F9;
+ border: solid 1px #888888;
+}
+
+h1, h2, h3, h4, h5, h6{
+ margin: 0;
+ padding: 0;
+ color: #2B6FB6;
+}
+
+h1{
+ font-size: 1.5em;
+}
+
+div#char_list{
+ height: 200px;
+ overflow: auto;
+ padding: 1px;
+ border: 1px solid #0A246A;
+ background-color: #F9F9F9;
+ clear: both;
+ margin-top: 5px;
+}
+
+a.char{
+ display: block;
+ float: left;
+ width: 20px;
+ height: 20px;
+ line-height: 20px;
+ margin: 1px;
+ border: solid 1px #888888;
+ text-align: center;
+ cursor: pointer;
+}
+
+a.char:hover{
+ background-color: #CCCCCC;
+}
+
+.preview{
+ border: solid 1px #888888;
+ width: 50px;
+ padding: 2px 5px;
+ height: 35px;
+ line-height: 35px;
+ text-align:center;
+ background-color: #CCCCCC;
+ font-size: 2em;
+ float: right;
+ font-weight: bold;
+ margin: 0 0 5px 5px;
+}
+
+#preview_code{
+ font-size: 1.1em;
+ width: 70px;
+}
diff --git a/public/js/plugins/charmap/images/charmap.gif b/public/js/plugins/charmap/images/charmap.gif
new file mode 100755
index 0000000000000000000000000000000000000000..3cdc4ac9134258a9a1a83b6afd5c7055bebbcbf9
GIT binary patch
literal 245
zcmVJ7UM8qsvB8x<;Dr
zSg7=Nn%Hi7)&KwiA^8LW0018VEC2ui02BZe000GY;3tk`X`X1RuI#x~)x&X5LaDKL
zBuP+gmjjC8P!LL;h9PruTqdW2VQ_jhm?kOJM8RlI0sywOkQfrBgdlP}Q6Q310n$b#
v>y*a!grF>@BLxiv8314c77P(14Hy;xh9(V(3=AWV77>droSmMZC?Nnljc8>f
literal 0
HcmV?d00001
diff --git a/public/js/plugins/charmap/jscripts/map.js b/public/js/plugins/charmap/jscripts/map.js
new file mode 100755
index 0000000..6c194a4
--- /dev/null
+++ b/public/js/plugins/charmap/jscripts/map.js
@@ -0,0 +1,373 @@
+var editArea;
+
+
+/**
+ * UTF-8 list taken from http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=dec
+ */
+
+
+/*
+var char_range_list={
+"Basic Latin":"0021,007F",
+"Latin-1 Supplement":"0080,00FF",
+"Latin Extended-A":"0100,017F",
+"Latin Extended-B":"0180,024F",
+"IPA Extensions":"0250,02AF",
+"Spacing Modifier Letters":"02B0,02FF",
+
+"Combining Diacritical Marks":"0300,036F",
+"Greek and Coptic":"0370,03FF",
+"Cyrillic":"0400,04FF",
+"Cyrillic Supplement":"0500,052F",
+"Armenian":"0530,058F",
+"Hebrew":"0590,05FF",
+"Arabic":"0600,06FF",
+"Syriac":"0700,074F",
+"Arabic Supplement":"0750,077F",
+
+"Thaana":"0780,07BF",
+"Devanagari":"0900,097F",
+"Bengali":"0980,09FF",
+"Gurmukhi":"0A00,0A7F",
+"Gujarati":"0A80,0AFF",
+"Oriya":"0B00,0B7F",
+"Tamil":"0B80,0BFF",
+"Telugu":"0C00,0C7F",
+"Kannada":"0C80,0CFF",
+
+"Malayalam":"0D00,0D7F",
+"Sinhala":"0D80,0DFF",
+"Thai":"0E00,0E7F",
+"Lao":"0E80,0EFF",
+"Tibetan":"0F00,0FFF",
+"Myanmar":"1000,109F",
+"Georgian":"10A0,10FF",
+"Hangul Jamo":"1100,11FF",
+"Ethiopic":"1200,137F",
+
+"Ethiopic Supplement":"1380,139F",
+"Cherokee":"13A0,13FF",
+"Unified Canadian Aboriginal Syllabics":"1400,167F",
+"Ogham":"1680,169F",
+"Runic":"16A0,16FF",
+"Tagalog":"1700,171F",
+"Hanunoo":"1720,173F",
+"Buhid":"1740,175F",
+"Tagbanwa":"1760,177F",
+
+"Khmer":"1780,17FF",
+"Mongolian":"1800,18AF",
+"Limbu":"1900,194F",
+"Tai Le":"1950,197F",
+"New Tai Lue":"1980,19DF",
+"Khmer Symbols":"19E0,19FF",
+"Buginese":"1A00,1A1F",
+"Phonetic Extensions":"1D00,1D7F",
+"Phonetic Extensions Supplement":"1D80,1DBF",
+
+"Combining Diacritical Marks Supplement":"1DC0,1DFF",
+"Latin Extended Additional":"1E00,1EFF",
+"Greek Extended":"1F00,1FFF",
+"General Punctuation":"2000,206F",
+"Superscripts and Subscripts":"2070,209F",
+"Currency Symbols":"20A0,20CF",
+"Combining Diacritical Marks for Symbols":"20D0,20FF",
+"Letterlike Symbols":"2100,214F",
+"Number Forms":"2150,218F",
+
+"Arrows":"2190,21FF",
+"Mathematical Operators":"2200,22FF",
+"Miscellaneous Technical":"2300,23FF",
+"Control Pictures":"2400,243F",
+"Optical Character Recognition":"2440,245F",
+"Enclosed Alphanumerics":"2460,24FF",
+"Box Drawing":"2500,257F",
+"Block Elements":"2580,259F",
+"Geometric Shapes":"25A0,25FF",
+
+"Miscellaneous Symbols":"2600,26FF",
+"Dingbats":"2700,27BF",
+"Miscellaneous Mathematical Symbols-A":"27C0,27EF",
+"Supplemental Arrows-A":"27F0,27FF",
+"Braille Patterns":"2800,28FF",
+"Supplemental Arrows-B":"2900,297F",
+"Miscellaneous Mathematical Symbols-B":"2980,29FF",
+"Supplemental Mathematical Operators":"2A00,2AFF",
+"Miscellaneous Symbols and Arrows":"2B00,2BFF",
+
+"Glagolitic":"2C00,2C5F",
+"Coptic":"2C80,2CFF",
+"Georgian Supplement":"2D00,2D2F",
+"Tifinagh":"2D30,2D7F",
+"Ethiopic Extended":"2D80,2DDF",
+"Supplemental Punctuation":"2E00,2E7F",
+"CJK Radicals Supplement":"2E80,2EFF",
+"Kangxi Radicals":"2F00,2FDF",
+"Ideographic Description Characters":"2FF0,2FFF",
+
+"CJK Symbols and Punctuation":"3000,303F",
+"Hiragana":"3040,309F",
+"Katakana":"30A0,30FF",
+"Bopomofo":"3100,312F",
+"Hangul Compatibility Jamo":"3130,318F",
+"Kanbun":"3190,319F",
+"Bopomofo Extended":"31A0,31BF",
+"CJK Strokes":"31C0,31EF",
+"Katakana Phonetic Extensions":"31F0,31FF",
+
+"Enclosed CJK Letters and Months":"3200,32FF",
+"CJK Compatibility":"3300,33FF",
+"CJK Unified Ideographs Extension A":"3400,4DBF",
+"Yijing Hexagram Symbols":"4DC0,4DFF",
+"CJK Unified Ideographs":"4E00,9FFF",
+"Yi Syllables":"A000,A48F",
+"Yi Radicals":"A490,A4CF",
+"Modifier Tone Letters":"A700,A71F",
+"Syloti Nagri":"A800,A82F",
+
+"Hangul Syllables":"AC00,D7AF",
+"High Surrogates":"D800,DB7F",
+"High Private Use Surrogates":"DB80,DBFF",
+"Low Surrogates":"DC00,DFFF",
+"Private Use Area":"E000,F8FF",
+"CJK Compatibility Ideographs":"F900,FAFF",
+"Alphabetic Presentation Forms":"FB00,FB4F",
+"Arabic Presentation Forms-A":"FB50,FDFF",
+"Variation Selectors":"FE00,FE0F",
+
+"Vertical Forms":"FE10,FE1F",
+"Combining Half Marks":"FE20,FE2F",
+"CJK Compatibility Forms":"FE30,FE4F",
+"Small Form Variants":"FE50,FE6F",
+"Arabic Presentation Forms-B":"FE70,FEFF",
+"Halfwidth and Fullwidth Forms":"FF00,FFEF",
+"Specials":"FFF0,FFFF",
+"Linear B Syllabary":"10000,1007F",
+"Linear B Ideograms":"10080,100FF",
+
+"Aegean Numbers":"10100,1013F",
+"Ancient Greek Numbers":"10140,1018F",
+"Old Italic":"10300,1032F",
+"Gothic":"10330,1034F",
+"Ugaritic":"10380,1039F",
+"Old Persian":"103A0,103DF",
+"Deseret":"10400,1044F",
+"Shavian":"10450,1047F",
+"Osmanya":"10480,104AF",
+
+"Cypriot Syllabary":"10800,1083F",
+"Kharoshthi":"10A00,10A5F",
+"Byzantine Musical Symbols":"1D000,1D0FF",
+"Musical Symbols":"1D100,1D1FF",
+"Ancient Greek Musical Notation":"1D200,1D24F",
+"Tai Xuan Jing Symbols":"1D300,1D35F",
+"Mathematical Alphanumeric Symbols":"1D400,1D7FF",
+"CJK Unified Ideographs Extension B":"20000,2A6DF",
+"CJK Compatibility Ideographs Supplement":"2F800,2FA1F",
+"Tags":"E0000,E007F",
+"Variation Selectors Supplement":"E0100,E01EF"
+};
+*/
+var char_range_list={
+"Aegean Numbers":"10100,1013F",
+"Alphabetic Presentation Forms":"FB00,FB4F",
+"Ancient Greek Musical Notation":"1D200,1D24F",
+"Ancient Greek Numbers":"10140,1018F",
+"Arabic":"0600,06FF",
+"Arabic Presentation Forms-A":"FB50,FDFF",
+"Arabic Presentation Forms-B":"FE70,FEFF",
+"Arabic Supplement":"0750,077F",
+"Armenian":"0530,058F",
+"Arrows":"2190,21FF",
+"Basic Latin":"0020,007F",
+"Bengali":"0980,09FF",
+"Block Elements":"2580,259F",
+"Bopomofo Extended":"31A0,31BF",
+"Bopomofo":"3100,312F",
+"Box Drawing":"2500,257F",
+"Braille Patterns":"2800,28FF",
+"Buginese":"1A00,1A1F",
+"Buhid":"1740,175F",
+"Byzantine Musical Symbols":"1D000,1D0FF",
+"CJK Compatibility Forms":"FE30,FE4F",
+"CJK Compatibility Ideographs Supplement":"2F800,2FA1F",
+"CJK Compatibility Ideographs":"F900,FAFF",
+"CJK Compatibility":"3300,33FF",
+"CJK Radicals Supplement":"2E80,2EFF",
+"CJK Strokes":"31C0,31EF",
+"CJK Symbols and Punctuation":"3000,303F",
+"CJK Unified Ideographs Extension A":"3400,4DBF",
+"CJK Unified Ideographs Extension B":"20000,2A6DF",
+"CJK Unified Ideographs":"4E00,9FFF",
+"Cherokee":"13A0,13FF",
+"Combining Diacritical Marks Supplement":"1DC0,1DFF",
+"Combining Diacritical Marks for Symbols":"20D0,20FF",
+"Combining Diacritical Marks":"0300,036F",
+"Combining Half Marks":"FE20,FE2F",
+"Control Pictures":"2400,243F",
+"Coptic":"2C80,2CFF",
+"Currency Symbols":"20A0,20CF",
+"Cypriot Syllabary":"10800,1083F",
+"Cyrillic Supplement":"0500,052F",
+"Cyrillic":"0400,04FF",
+"Deseret":"10400,1044F",
+"Devanagari":"0900,097F",
+"Dingbats":"2700,27BF",
+"Enclosed Alphanumerics":"2460,24FF",
+"Enclosed CJK Letters and Months":"3200,32FF",
+"Ethiopic Extended":"2D80,2DDF",
+"Ethiopic Supplement":"1380,139F",
+"Ethiopic":"1200,137F",
+"General Punctuation":"2000,206F",
+"Geometric Shapes":"25A0,25FF",
+"Georgian Supplement":"2D00,2D2F",
+"Georgian":"10A0,10FF",
+"Glagolitic":"2C00,2C5F",
+"Gothic":"10330,1034F",
+"Greek Extended":"1F00,1FFF",
+"Greek and Coptic":"0370,03FF",
+"Gujarati":"0A80,0AFF",
+"Gurmukhi":"0A00,0A7F",
+"Halfwidth and Fullwidth Forms":"FF00,FFEF",
+"Hangul Compatibility Jamo":"3130,318F",
+"Hangul Jamo":"1100,11FF",
+"Hangul Syllables":"AC00,D7AF",
+"Hanunoo":"1720,173F",
+"Hebrew":"0590,05FF",
+"High Private Use Surrogates":"DB80,DBFF",
+"High Surrogates":"D800,DB7F",
+"Hiragana":"3040,309F",
+"IPA Extensions":"0250,02AF",
+"Ideographic Description Characters":"2FF0,2FFF",
+"Kanbun":"3190,319F",
+"Kangxi Radicals":"2F00,2FDF",
+"Kannada":"0C80,0CFF",
+"Katakana Phonetic Extensions":"31F0,31FF",
+"Katakana":"30A0,30FF",
+"Kharoshthi":"10A00,10A5F",
+"Khmer Symbols":"19E0,19FF",
+"Khmer":"1780,17FF",
+"Lao":"0E80,0EFF",
+"Latin Extended Additional":"1E00,1EFF",
+"Latin Extended-A":"0100,017F",
+"Latin Extended-B":"0180,024F",
+"Latin-1 Supplement":"0080,00FF",
+"Letterlike Symbols":"2100,214F",
+"Limbu":"1900,194F",
+"Linear B Ideograms":"10080,100FF",
+"Linear B Syllabary":"10000,1007F",
+"Low Surrogates":"DC00,DFFF",
+"Malayalam":"0D00,0D7F",
+"Mathematical Alphanumeric Symbols":"1D400,1D7FF",
+"Mathematical Operators":"2200,22FF",
+"Miscellaneous Mathematical Symbols-A":"27C0,27EF",
+"Miscellaneous Mathematical Symbols-B":"2980,29FF",
+"Miscellaneous Symbols and Arrows":"2B00,2BFF",
+"Miscellaneous Symbols":"2600,26FF",
+"Miscellaneous Technical":"2300,23FF",
+"Modifier Tone Letters":"A700,A71F",
+"Mongolian":"1800,18AF",
+"Musical Symbols":"1D100,1D1FF",
+"Myanmar":"1000,109F",
+"New Tai Lue":"1980,19DF",
+"Number Forms":"2150,218F",
+"Ogham":"1680,169F",
+"Old Italic":"10300,1032F",
+"Old Persian":"103A0,103DF",
+"Optical Character Recognition":"2440,245F",
+"Oriya":"0B00,0B7F",
+"Osmanya":"10480,104AF",
+"Phonetic Extensions Supplement":"1D80,1DBF",
+"Phonetic Extensions":"1D00,1D7F",
+"Private Use Area":"E000,F8FF",
+"Runic":"16A0,16FF",
+"Shavian":"10450,1047F",
+"Sinhala":"0D80,0DFF",
+"Small Form Variants":"FE50,FE6F",
+"Spacing Modifier Letters":"02B0,02FF",
+"Specials":"FFF0,FFFF",
+"Superscripts and Subscripts":"2070,209F",
+"Supplemental Arrows-A":"27F0,27FF",
+"Supplemental Arrows-B":"2900,297F",
+"Supplemental Mathematical Operators":"2A00,2AFF",
+"Supplemental Punctuation":"2E00,2E7F",
+"Syloti Nagri":"A800,A82F",
+"Syriac":"0700,074F",
+"Tagalog":"1700,171F",
+"Tagbanwa":"1760,177F",
+"Tags":"E0000,E007F",
+"Tai Le":"1950,197F",
+"Tai Xuan Jing Symbols":"1D300,1D35F",
+"Tamil":"0B80,0BFF",
+"Telugu":"0C00,0C7F",
+"Thaana":"0780,07BF",
+"Thai":"0E00,0E7F",
+"Tibetan":"0F00,0FFF",
+"Tifinagh":"2D30,2D7F",
+"Ugaritic":"10380,1039F",
+"Unified Canadian Aboriginal Syllabics":"1400,167F",
+"Variation Selectors Supplement":"E0100,E01EF",
+"Variation Selectors":"FE00,FE0F",
+"Vertical Forms":"FE10,FE1F",
+"Yi Radicals":"A490,A4CF",
+"Yi Syllables":"A000,A48F",
+"Yijing Hexagram Symbols":"4DC0,4DFF"
+};
+
+var insert="charmap_insert";
+
+function map_load(){
+ editArea=opener.editArea;
+ // translate the document
+ insert= editArea.get_translation(insert, "word");
+ //alert(document.title);
+ document.title= editArea.get_translation(document.title, "template");
+ document.body.innerHTML= editArea.get_translation(document.body.innerHTML, "template");
+ //document.title= editArea.get_translation(document.getElementBytitle, "template");
+
+ var selected_lang=opener.EditArea_charmap.default_language.toLowerCase();
+ var selected=0;
+
+ var select= document.getElementById("select_range")
+ for(var i in char_range_list){
+ if(i.toLowerCase()==selected_lang)
+ selected=select.options.length;
+ select.options[select.options.length]=new Option(i, char_range_list[i]);
+ }
+ select.options[selected].selected=true;
+/* start=0;
+ end=127;
+ content="";
+ for(var i=start; i"+ String.fromCharCode(i) +"";
+ }
+ document.getElementById("char_list").innerHTML= html;
+ document.getElementById("preview_char").innerHTML="";
+}
+
+function previewChar(i){
+ document.getElementById("preview_char").innerHTML= String.fromCharCode(i);
+ document.getElementById("preview_code").innerHTML= "&#"+ i +";";
+}
+
+function insertChar(i){
+ opener.parent.editAreaLoader.setSelectedText(editArea.id, String.fromCharCode( i));
+ range= opener.parent.editAreaLoader.getSelectionRange(editArea.id);
+ opener.parent.editAreaLoader.setSelectionRange(editArea.id, range["end"], range["end"]);
+ window.focus();
+}
diff --git a/public/js/plugins/charmap/langs/bg.js b/public/js/plugins/charmap/langs/bg.js
new file mode 100755
index 0000000..eaba0f9
--- /dev/null
+++ b/public/js/plugins/charmap/langs/bg.js
@@ -0,0 +1,12 @@
+/*
+ * Bulgarian translation
+ * Author: Valentin Hristov
+ * Company: SOFTKIT Bulgarian
+ * Site: http://www.softkit-bg.com
+ */
+editArea.add_lang("bg",{
+charmap_but: "Виртуална клавиатура",
+charmap_title: "Виртуална клавиатура",
+charmap_choose_block: "избери езиков блок",
+charmap_insert:"постави този символ"
+});
diff --git a/public/js/plugins/charmap/langs/cs.js b/public/js/plugins/charmap/langs/cs.js
new file mode 100755
index 0000000..6b1c907
--- /dev/null
+++ b/public/js/plugins/charmap/langs/cs.js
@@ -0,0 +1,6 @@
+editArea.add_lang("cs",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/de.js b/public/js/plugins/charmap/langs/de.js
new file mode 100755
index 0000000..6dfe69c
--- /dev/null
+++ b/public/js/plugins/charmap/langs/de.js
@@ -0,0 +1,6 @@
+editArea.add_lang("de",{
+charmap_but: "Sonderzeichen",
+charmap_title: "Sonderzeichen",
+charmap_choose_block: "Bereich auswählen",
+charmap_insert: "dieses Zeichen einfügen"
+});
diff --git a/public/js/plugins/charmap/langs/dk.js b/public/js/plugins/charmap/langs/dk.js
new file mode 100755
index 0000000..ebcde25
--- /dev/null
+++ b/public/js/plugins/charmap/langs/dk.js
@@ -0,0 +1,6 @@
+editArea.add_lang("dk",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/en.js b/public/js/plugins/charmap/langs/en.js
new file mode 100755
index 0000000..335ec28
--- /dev/null
+++ b/public/js/plugins/charmap/langs/en.js
@@ -0,0 +1,6 @@
+editArea.add_lang("en",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/eo.js b/public/js/plugins/charmap/langs/eo.js
new file mode 100755
index 0000000..9a30841
--- /dev/null
+++ b/public/js/plugins/charmap/langs/eo.js
@@ -0,0 +1,6 @@
+editArea.add_lang("eo",{
+charmap_but: "Ekranklavaro",
+charmap_title: "Ekranklavaro",
+charmap_choose_block: "Elekto de lingvo",
+charmap_insert:"enmeti tiun signaron"
+});
diff --git a/public/js/plugins/charmap/langs/es.js b/public/js/plugins/charmap/langs/es.js
new file mode 100755
index 0000000..be04b4b
--- /dev/null
+++ b/public/js/plugins/charmap/langs/es.js
@@ -0,0 +1,6 @@
+editArea.add_lang("es",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/fr.js b/public/js/plugins/charmap/langs/fr.js
new file mode 100755
index 0000000..8131e30
--- /dev/null
+++ b/public/js/plugins/charmap/langs/fr.js
@@ -0,0 +1,6 @@
+editArea.add_lang("fr",{
+charmap_but: "Clavier visuel",
+charmap_title: "Clavier visuel",
+charmap_choose_block: "choix du language",
+charmap_insert:"insérer ce caractère"
+});
diff --git a/public/js/plugins/charmap/langs/hr.js b/public/js/plugins/charmap/langs/hr.js
new file mode 100755
index 0000000..4d74354
--- /dev/null
+++ b/public/js/plugins/charmap/langs/hr.js
@@ -0,0 +1,6 @@
+editArea.add_lang("hr",{
+charmap_but: "Virtualna tipkovnica",
+charmap_title: "Virtualna tipkovnica",
+charmap_choose_block: "Odaberi blok s jezikom",
+charmap_insert:"Ubaci taj znak"
+});
diff --git a/public/js/plugins/charmap/langs/it.js b/public/js/plugins/charmap/langs/it.js
new file mode 100755
index 0000000..b05abb9
--- /dev/null
+++ b/public/js/plugins/charmap/langs/it.js
@@ -0,0 +1,6 @@
+editArea.add_lang("it",{
+charmap_but: "Tastiera visuale",
+charmap_title: "Tastiera visuale",
+charmap_choose_block: "seleziona blocco",
+charmap_insert:"inserisci questo carattere"
+});
diff --git a/public/js/plugins/charmap/langs/ja.js b/public/js/plugins/charmap/langs/ja.js
new file mode 100755
index 0000000..efe060e
--- /dev/null
+++ b/public/js/plugins/charmap/langs/ja.js
@@ -0,0 +1,6 @@
+editArea.add_lang("ja",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/mk.js b/public/js/plugins/charmap/langs/mk.js
new file mode 100755
index 0000000..f533116
--- /dev/null
+++ b/public/js/plugins/charmap/langs/mk.js
@@ -0,0 +1,6 @@
+editArea.add_lang("mkn",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/nl.js b/public/js/plugins/charmap/langs/nl.js
new file mode 100755
index 0000000..70d7968
--- /dev/null
+++ b/public/js/plugins/charmap/langs/nl.js
@@ -0,0 +1,6 @@
+editArea.add_lang("nl",{
+charmap_but: "Visueel toetsenbord",
+charmap_title: "Visueel toetsenbord",
+charmap_choose_block: "Kies een taal blok",
+charmap_insert:"Voeg dit symbool in"
+});
diff --git a/public/js/plugins/charmap/langs/pl.js b/public/js/plugins/charmap/langs/pl.js
new file mode 100755
index 0000000..9feabbb
--- /dev/null
+++ b/public/js/plugins/charmap/langs/pl.js
@@ -0,0 +1,6 @@
+editArea.add_lang("pl",{
+charmap_but: "Klawiatura ekranowa",
+charmap_title: "Klawiatura ekranowa",
+charmap_choose_block: "wybierz grupę znaków",
+charmap_insert:"wstaw ten znak"
+});
diff --git a/public/js/plugins/charmap/langs/pt.js b/public/js/plugins/charmap/langs/pt.js
new file mode 100755
index 0000000..5d3eaa3
--- /dev/null
+++ b/public/js/plugins/charmap/langs/pt.js
@@ -0,0 +1,6 @@
+editArea.add_lang("pt",{
+charmap_but: "Visual keyboard",
+charmap_title: "Visual keyboard",
+charmap_choose_block: "select language block",
+charmap_insert:"insert this character"
+});
diff --git a/public/js/plugins/charmap/langs/ru.js b/public/js/plugins/charmap/langs/ru.js
new file mode 100755
index 0000000..3163f36
--- /dev/null
+++ b/public/js/plugins/charmap/langs/ru.js
@@ -0,0 +1,6 @@
+editArea.add_lang("ru",{
+charmap_but: "Визуальная клавиатура",
+charmap_title: "Визуальная клавиатура",
+charmap_choose_block: "выбрать языковой блок",
+charmap_insert:"вставить этот символ"
+});
diff --git a/public/js/plugins/charmap/langs/sk.js b/public/js/plugins/charmap/langs/sk.js
new file mode 100755
index 0000000..8513641
--- /dev/null
+++ b/public/js/plugins/charmap/langs/sk.js
@@ -0,0 +1,6 @@
+editArea.add_lang("sk",{
+charmap_but: "Vizuálna klávesnica",
+charmap_title: "Vizuálna klávesnica",
+charmap_choose_block: "vyber jazykový blok",
+charmap_insert: "vlož tento znak"
+});
diff --git a/public/js/plugins/charmap/langs/zh.js b/public/js/plugins/charmap/langs/zh.js
new file mode 100755
index 0000000..2a20233
--- /dev/null
+++ b/public/js/plugins/charmap/langs/zh.js
@@ -0,0 +1,6 @@
+editArea.add_lang("zh",{
+charmap_but: "软键盘",
+charmap_title: "软键盘",
+charmap_choose_block: "选择一个语言块",
+charmap_insert:"插入此字符"
+});
diff --git a/public/js/plugins/charmap/popup.html b/public/js/plugins/charmap/popup.html
new file mode 100755
index 0000000..4b549db
--- /dev/null
+++ b/public/js/plugins/charmap/popup.html
@@ -0,0 +1,24 @@
+
+
+
+
+{$charmap_title}
+
+
+
+
+
+
+
+{$charmap_title}:
+
+
+
+
+
+
+
+
+
diff --git a/public/js/plugins/test/css/test.css b/public/js/plugins/test/css/test.css
new file mode 100755
index 0000000..01245eb
--- /dev/null
+++ b/public/js/plugins/test/css/test.css
@@ -0,0 +1,3 @@
+select#test_select{
+ background-color: #FF0000;
+}
diff --git a/public/js/plugins/test/images/Thumbs.db b/public/js/plugins/test/images/Thumbs.db
new file mode 100755
index 0000000000000000000000000000000000000000..863ae4136373453becc31bbf4c9ba8b353a59985
GIT binary patch
literal 3584
zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt
z1pWfu3W`4vW&uVbD>OcbkQYXsN;Sr0E8
zaOhkxxl#G`%M*;uKzRpHVgmw02t_u@!ob7`vL93yfoNh4dI)j^5I8d=0)3sxkOK^b
zbchg1qyVrK1lbD%#ApTu+ez{tqRkN|`X
z|8E1c2s0BC2mt{L5V3Nwva+zSa@^NzuhzSS^i-?Mf
z^6-mGh>1uDiHM4T3}Ivj>S1B!WM$8aRU`>1?EsjW@aW9W{|6as%wGr3@n1ILW+itY{G$w
z>`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8fiK&^ng{76Vi>sTvho@I?
zNN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26In?7UatVN5LEM2yI#mZHi
zHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>|p1*kc>f@)+U%r0({^RE_
zkiQrim?7SR`wY!rf#!>{Gvs{YQ~
z$5DS+r^e)?edj-^8vFkY6ODbYZ1qhJyO2}={FtTMj(M5N{~0Q8-uN{sd%=hB!}o9M
zKMGr|H}fGs&mZxRVM|5So_X5}9roNaQ;BC)il)>?F3Agd$BYh?i{AQo^8Tl6dA9!y
zZ+tH9|I#LP^6!j)T-ozk_dm?3&%K-ZJ^sVA8i%WU!ju2bSKdE8yYy*grrwtrFPqIf
z^qxveBs<7YvHuXB-@Z@uNA_>eihQ3B?QJFXTrW5M@VW)E^N_YhTySN@GN*~FnvMpt
zy-DX{PjoGj{}8qRr&T?7{f(K~{~4BEzY@T1|Ka;TuD2iCAFgk(F@4Bue7KH%zV8K-
z)45vLqIYv2oB60owNvuc-4!~aj4BMqa~Ln};{Q<_f9yZQFVTJS{}~?a`u(3_vc{qY
zyZFB=?6deq>#o(=U;Y#S=&!x|<*nMfMz&fOTRc*`goV6y7IsXEMB;+(?)nNpQS
zT@3$k!g2);S^!wmgK|y+6srJfa8AnA?#sP;jIo3vm7y3|L+Sx*$4rJapzJ6ZP9XpQ
D30)$f
literal 0
HcmV?d00001
diff --git a/public/js/plugins/test/images/test.gif b/public/js/plugins/test/images/test.gif
new file mode 100755
index 0000000000000000000000000000000000000000..1ab5da4461113d2af579898528246fdbe52ecd00
GIT binary patch
literal 87
zcmZ?wbhEHb6k!lyn83&Y1dNP~ia%L^OhyJB5FaGNz@*pGzw+SQ`#f{}FJ-?!v#V)e
mtsGNfpJeCKSAiOz**>0`XR2{OVa>-G_df0vaY"
+ +" "
+ +" "
+ +" "
+ +" "
+ +" "
+ +" "
+ +" "
+ +" ";
+ return html;
+ }
+ return false;
+ }
+ /**
+ * Get called once EditArea is fully loaded and initialised
+ *
+ * @return nothing
+ */
+ ,onload: function(){
+ alert("test load");
+ }
+
+ /**
+ * Is called each time the user touch a keyboard key.
+ *
+ * @param (event) e: the keydown event
+ * @return true - pass to next handler in chain, false - stop chain execution
+ * @type boolean
+ */
+ ,onkeydown: function(e){
+ var str= String.fromCharCode(e.keyCode);
+ // desactivate the "f" character
+ if(str.toLowerCase()=="f"){
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Executes a specific command, this function handles plugin commands.
+ *
+ * @param {string} cmd: the name of the command being executed
+ * @param {unknown} param: the parameter of the command
+ * @return true - pass to next handler in chain, false - stop chain execution
+ * @type boolean
+ */
+ ,execCommand: function(cmd, param){
+ // Handle commands
+ switch(cmd){
+ case "test_select_change":
+ var val= document.getElementById("test_select").value;
+ if(val!=-1)
+ parent.editAreaLoader.insertTags(editArea.id, "<"+val+">", ""+val+">");
+ document.getElementById("test_select").options[0].selected=true;
+ return false;
+ case "test_cmd":
+ alert("user clicked on test_cmd");
+ return false;
+ }
+ // Pass to next handler in chain
+ return true;
+ }
+
+ /**
+ * This is just an internal plugin method, prefix all internal methods with a _ character.
+ * The prefix is needed so they doesn't collide with future EditArea callback functions.
+ *
+ * @param {string} a Some arg1.
+ * @param {string} b Some arg2.
+ * @return Some return.
+ * @type unknown
+ */
+ ,_someInternalFunction : function(a, b) {
+ return a+b;
+ }
+};
+
+// Adds the plugin class to the list of available EditArea plugins
+editArea.add_plugin("test", EditArea_test);
diff --git a/public/js/plugins/test/test2.js b/public/js/plugins/test/test2.js
new file mode 100755
index 0000000..9a1ce51
--- /dev/null
+++ b/public/js/plugins/test/test2.js
@@ -0,0 +1 @@
+alert("test2.js is loaded from test plugin");
diff --git a/public/js/reg_syntax/bash.js b/public/js/reg_syntax/bash.js
new file mode 100755
index 0000000..2c54eb8
--- /dev/null
+++ b/public/js/reg_syntax/bash.js
@@ -0,0 +1,66 @@
+/**
+ * Bash syntax v 1.0
+ *
+**/
+editAreaLoader.load_syntax["bash"] = {
+ 'DISPLAY_NAME': 'Bash'
+ , 'COMMENT_SINGLE': { 1: '#' }
+ , 'COMMENT_MULTI': {}
+ , 'QUOTEMARKS': { 1: "'", 2: '"' }
+ , 'KEYWORD_CASE_SENSITIVE': true
+ , 'KEYWORDS': {
+ 'reserved': [
+ 'case', 'easc', 'if', 'fi', 'function', 'else', 'elif', 'for', 'while', 'until', 'let',
+ 'expr', 'echo', 'export', 'true', 'false', 'done', 'declare',
+ '-a', '-i', '-l', '-u', '-r', 'exit', 'read', 'printf',
+ 'return', 'grep', 'ps', 'do', 'kill', 'cat', 'cut', 'tr'
+ ]
+ }
+ , 'OPERATORS': [
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
+ ]
+ , 'DELIMITERS': [
+ '(', ')', '[', ']', '{', '}'
+ ]
+ , 'REGEXPS': {
+ 'constants': {
+ 'search': '()([A-Z]\\w*)()'
+ , 'class': 'constants'
+ , 'modifiers': 'g'
+ , 'execute': 'before'
+ }
+ , 'variables': {
+ 'search': '()([\$\@\%]+\\w+)()'
+ , 'class': 'variables'
+ , 'modifiers': 'g'
+ , 'execute': 'before'
+ }
+ , 'numbers': {
+ 'search': '()(-?[0-9]+)()'
+ , 'class': 'numbers'
+ , 'modifiers': 'g'
+ , 'execute': 'before'
+ }
+ , 'symbols': {
+ 'search': '()(:\\w+)()'
+ , 'class': 'symbols'
+ , 'modifiers': 'g'
+ , 'execute': 'before'
+ }
+ }
+ , 'STYLES': {
+ 'COMMENTS': 'color: #AAAAAA;'
+ , 'QUOTESMARKS': 'color: #660066;'
+ , 'KEYWORDS': {
+ 'reserved': 'font-weight: bold; color: #0000FF;'
+ }
+ , 'OPERATORS': 'color: #993300;'
+ , 'DELIMITERS': 'color: #993300;'
+ , 'REGEXPS': {
+ 'variables': 'color: #E0BD54;'
+ , 'numbers': 'color: green;'
+ , 'constants': 'color: #00AA00;'
+ , 'symbols': 'color: #879EFA;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/basic.js b/public/js/reg_syntax/basic.js
new file mode 100755
index 0000000..d8082f7
--- /dev/null
+++ b/public/js/reg_syntax/basic.js
@@ -0,0 +1,70 @@
+editAreaLoader.load_syntax["basic"] = {
+ 'DISPLAY_NAME' : 'Basic'
+ ,'COMMENT_SINGLE' : {1 : "'", 2 : 'rem'}
+ ,'COMMENT_MULTI' : { }
+ ,'QUOTEMARKS' : {1: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'if','then','for','wend','while',
+ 'else','elseif','select','case','end select',
+ 'until','next','step','to','end if', 'call'
+ ]
+ ,'keywords' : [
+ 'sub', 'end sub', 'function', 'end function', 'exit',
+ 'exit function', 'dim', 'redim', 'shared', 'const',
+ 'is', 'absolute', 'access', 'any', 'append', 'as',
+ 'base', 'beep', 'binary', 'bload', 'bsave', 'chain',
+ 'chdir', 'circle', 'clear', 'close', 'cls', 'color',
+ 'com', 'common', 'data', 'date', 'declare', 'def',
+ 'defdbl', 'defint', 'deflng', 'defsng', 'defstr',
+ 'double', 'draw', 'environ', 'erase', 'error', 'field',
+ 'files', 'fn', 'get', 'gosub', 'goto', 'integer', 'key',
+ 'kill', 'let', 'line', 'list', 'locate', 'lock', 'long',
+ 'lprint', 'lset', 'mkdir', 'name', 'off', 'on', 'open',
+ 'option', 'out', 'output', 'paint', 'palette', 'pcopy',
+ 'poke', 'preset', 'print', 'pset', 'put', 'random',
+ 'randomize', 'read', 'reset', 'restore', 'resume',
+ 'return', 'rmdir', 'rset', 'run', 'screen', 'seg',
+ 'shell', 'single', 'sleep', 'sound', 'static', 'stop',
+ 'strig', 'string', 'swap', 'system', 'time', 'timer',
+ 'troff', 'tron', 'type', 'unlock', 'using', 'view',
+ 'wait', 'width', 'window', 'write'
+ ]
+ ,'functions' : [
+ 'abs', 'asc', 'atn', 'cdbl', 'chr', 'cint', 'clng',
+ 'cos', 'csng', 'csrlin', 'cvd', 'cvdmbf', 'cvi', 'cvl',
+ 'cvs', 'cvsmbf', 'eof', 'erdev', 'erl', 'err', 'exp',
+ 'fileattr', 'fix', 'fre', 'freefile', 'hex', 'inkey',
+ 'inp', 'input', 'instr', 'int', 'ioctl', 'lbound',
+ 'lcase', 'left', 'len', 'loc', 'lof', 'log', 'lpos',
+ 'ltrim', 'mid', 'mkd', 'mkdmbf', 'mki', 'mkl', 'mks',
+ 'mksmbf', 'oct', 'peek', 'pen', 'play', 'pmap', 'point',
+ 'pos', 'right', 'rnd', 'rtrim', 'seek', 'sgn', 'sin',
+ 'space', 'spc', 'sqr', 'stick', 'str', 'tab', 'tan',
+ 'ubound', 'ucase', 'val', 'varptr', 'varseg'
+ ]
+ ,'operators' : [
+ 'and', 'eqv', 'imp', 'mod', 'not', 'or', 'xor'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '!', '&'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #99CC00;'
+ ,'QUOTESMARKS': 'color: #333399;'
+ ,'KEYWORDS' : {
+ 'keywords' : 'color: #3366FF;'
+ ,'functions' : 'color: #0000FF;'
+ ,'statements' : 'color: #3366FF;'
+ ,'operators' : 'color: #FF0000;'
+ }
+ ,'OPERATORS' : 'color: #FF0000;'
+ ,'DELIMITERS' : 'color: #0000FF;'
+
+ }
+};
diff --git a/public/js/reg_syntax/brainfuck.js b/public/js/reg_syntax/brainfuck.js
new file mode 100755
index 0000000..6f8f063
--- /dev/null
+++ b/public/js/reg_syntax/brainfuck.js
@@ -0,0 +1,45 @@
+editAreaLoader.load_syntax["brainfuck"] = {
+ 'DISPLAY_NAME' : 'Brainfuck'
+ ,'COMMENT_SINGLE' : {}
+ ,'COMMENT_MULTI' : {}
+ ,'QUOTEMARKS' : {}
+ ,'KEYWORD_CASE_SENSITIVE' : true
+ ,'OPERATORS' :[
+ '+', '-'
+ ]
+ ,'DELIMITERS' :[
+ '[', ']'
+ ]
+ ,'REGEXPS' : {
+ 'bfispis' : {
+ 'search' : '()(\\.)()'
+ ,'class' : 'bfispis'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ ,'bfupis' : {
+ 'search' : '()(\\,)()'
+ ,'class' : 'bfupis'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ ,'bfmemory' : {
+ 'search' : '()([<>])()'
+ ,'class' : 'bfmemory'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'OPERATORS' : 'color: #88AA00;'
+ ,'DELIMITERS' : 'color: #00C138;'
+ ,'REGEXPS' : {
+ 'bfispis' : 'color: #EE0000;'
+ ,'bfupis' : 'color: #4455ee;'
+ ,'bfmemory' : 'color: #DD00DD;'
+ }
+ }
+};
+
diff --git a/public/js/reg_syntax/c.js b/public/js/reg_syntax/c.js
new file mode 100755
index 0000000..0e0f843
--- /dev/null
+++ b/public/js/reg_syntax/c.js
@@ -0,0 +1,63 @@
+editAreaLoader.load_syntax["c"] = {
+ 'DISPLAY_NAME' : 'C'
+ ,'COMMENT_SINGLE' : {1 : '//'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : true
+ ,'KEYWORDS' : {
+ 'constants' : [
+ 'NULL', 'false', 'stdin', 'stdout', 'stderr', 'true'
+ ]
+ ,'types' : [
+ 'FILE', 'auto', 'char', 'const', 'double',
+ 'extern', 'float', 'inline', 'int', 'long', 'register',
+ 'short', 'signed', 'size_t', 'static', 'struct',
+ 'time_t', 'typedef', 'union', 'unsigned', 'void',
+ 'volatile'
+ ]
+ ,'statements' : [
+ 'do', 'else', 'enum', 'for', 'goto', 'if', 'sizeof',
+ 'switch', 'while'
+ ]
+ ,'keywords' : [
+ 'break', 'case', 'continue', 'default', 'delete',
+ 'return'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ 'precompiler' : {
+ 'search' : '()(#[^\r\n]*)()'
+ ,'class' : 'precompiler'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+/* ,'precompilerstring' : {
+ 'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
+ ,'class' : 'precompilerstring'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }*/
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'constants' : 'color: #EE0000;'
+ ,'types' : 'color: #0000EE;'
+ ,'statements' : 'color: #60CA00;'
+ ,'keywords' : 'color: #48BDDF;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #0038E1;'
+ ,'REGEXPS' : {
+ 'precompiler' : 'color: #009900;'
+ ,'precompilerstring' : 'color: #994400;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/coldfusion.js b/public/js/reg_syntax/coldfusion.js
new file mode 100755
index 0000000..792f10b
--- /dev/null
+++ b/public/js/reg_syntax/coldfusion.js
@@ -0,0 +1,120 @@
+editAreaLoader.load_syntax["coldfusion"] = {
+ 'DISPLAY_NAME' : 'Coldfusion'
+ ,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
+ ,'COMMENT_MULTI' : {''}
+ ,'COMMENT_MULTI2' : {''}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'include', 'require', 'include_once', 'require_once',
+ 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
+ 'endif', 'switch', 'case', 'endswitch',
+ 'return', 'break', 'continue'
+ ]
+ ,'reserved' : [
+ 'AND', 'break', 'case', 'CONTAIN', 'CONTAINS', 'continue', 'default', 'do',
+ 'DOES', 'else', 'EQ', 'EQUAL', 'EQUALTO', 'EQV', 'FALSE', 'for', 'GE',
+ 'GREATER', 'GT', 'GTE', 'if', 'IMP', 'in', 'IS', 'LE', 'LESS', 'LT', 'LTE',
+ 'MOD', 'NEQ', 'NOT', 'OR', 'return', 'switch', 'THAN', 'TO', 'TRUE', 'var',
+ 'while', 'XOR'
+ ]
+ ,'functions' : [
+ 'Abs', 'ACos', 'ArrayAppend', 'ArrayAvg', 'ArrayClear', 'ArrayDeleteAt', 'ArrayInsertAt',
+ 'ArrayIsEmpty', 'ArrayLen', 'ArrayMax', 'ArrayMin', 'ArrayNew', 'ArrayPrepend', 'ArrayResize',
+ 'ArraySet', 'ArraySort', 'ArraySum', 'ArraySwap', 'ArrayToList', 'Asc', 'ASin', 'Atn', 'AuthenticatedContext',
+ 'AuthenticatedUser', 'BitAnd', 'BitMaskClear', 'BitMaskRead', 'BitMaskSet', 'BitNot', 'BitOr',
+ 'BitSHLN', 'BitSHRN', 'BitXor', 'Ceiling', 'Chr', 'CJustify', 'Compare', 'CompareNoCase', 'Cos',
+ 'CreateDate', 'CreateDateTime', 'CreateODBCDate', 'CreateODBCDateTime', 'CreateODBCTime',
+ 'CreateTime', 'CreateTimeSpan', 'DateAdd', 'DateCompare', 'DateConvert', 'DateDiff',
+ 'DateFormat', 'DatePart', 'Day', 'DayOfWeek', 'DayOfWeekAsString', 'DayOfYear', 'DaysInMonth',
+ 'DaysInYear', 'DE', 'DecimalFormat', 'DecrementValue', 'Decrypt', 'DeleteClientVariable',
+ 'DirectoryExists', 'DollarFormat', 'Duplicate', 'Encrypt', 'Evaluate', 'Exp', 'ExpandPath',
+ 'FileExists', 'Find', 'FindNoCase', 'FindOneOf', 'FirstDayOfMonth', 'Fix', 'FormatBaseN',
+ 'GetBaseTagData', 'GetBaseTagList', 'GetBaseTemplatePath', 'GetClientVariablesList',
+ 'GetCurrentTemplatePath', 'GetDirectoryFromPath', 'GetException', 'GetFileFromPath',
+ 'GetFunctionList', 'GetHttpTimeString', 'GetHttpRequestData', 'GetLocale', 'GetMetricData',
+ 'GetProfileString', 'GetTempDirectory', 'GetTempFile', 'GetTemplatePath', 'GetTickCount',
+ 'GetTimeZoneInfo', 'GetToken', 'Hash', 'Hour', 'HTMLCodeFormat', 'HTMLEditFormat', 'IIf',
+ 'IncrementValue', 'InputBaseN', 'Insert', 'Int', 'IsArray', 'IsAuthenticated', 'IsAuthorized',
+ 'IsBoolean', 'IsBinary', 'IsCustomFunction', 'IsDate', 'IsDebugMode', 'IsDefined', 'IsLeapYear',
+ 'IsNumeric', 'IsNumericDate', 'IsProtected', 'IsQuery', 'IsSimpleValue', 'IsStruct', 'IsWDDX',
+ 'JavaCast', 'JSStringFormat', 'LCase', 'Left', 'Len', 'ListAppend', 'ListChangeDelims',
+ 'ListContains', 'ListContainsNoCase', 'ListDeleteAt', 'ListFind', 'ListFindNoCase', 'ListFirst',
+ 'ListGetAt', 'ListInsertAt', 'ListLast', 'ListLen', 'ListPrepend', 'ListQualify', 'ListRest',
+ 'ListSetAt', 'ListSort', 'ListToArray', 'ListValueCount', 'ListValueCountNoCase', 'LJustify',
+ 'Log', 'Log10', 'LSCurrencyFormat', 'LSDateFormat', 'LSEuroCurrencyFormat', 'LSIsCurrency',
+ 'LSIsDate', 'LSIsNumeric', 'LSNumberFormat', 'LSParseCurrency', 'LSParseDateTime', 'LSParseNumber',
+ 'LSTimeFormat', 'LTrim', 'Max', 'Mid', 'Min', 'Minute', 'Month', 'MonthAsString', 'Now', 'NumberFormat',
+ 'ParagraphFormat', 'ParameterExists', 'ParseDateTime', 'Pi', 'PreserveSingleQuotes', 'Quarter',
+ 'QueryAddRow', 'QueryNew', 'QuerySetCell', 'QuotedValueList', 'Rand', 'Randomize', 'RandRange',
+ 'REFind', 'REFindNoCase', 'RemoveChars', 'RepeatString', 'Replace', 'ReplaceList', 'ReplaceNoCase',
+ 'REReplace', 'REReplaceNoCase', 'Reverse', 'Right', 'RJustify', 'Round', 'RTrim', 'Second', 'SetLocale',
+ 'SetProfileString', 'SetVariable', 'Sgn', 'Sin', 'SpanExcluding', 'SpanIncluding', 'Sqr', 'StripCR',
+ 'StructAppend', 'StructClear', 'StructCopy', 'StructCount', 'StructDelete', 'StructFind', 'StructFindKey',
+ 'StructFindValue', 'StructGet', 'StructInsert', 'StructIsEmpty', 'StructKeyArray', 'StructKeyExists',
+ 'StructKeyList', 'StructNew', 'StructSort', 'StructUpdate', 'Tan', 'TimeFormat', 'ToBase64', 'ToBinary',
+ 'ToString', 'Trim', 'UCase', 'URLDecode', 'URLEncodedFormat', 'Val', 'ValueList', 'Week', 'WriteOutput',
+ 'XMLFormat', 'Year', 'YesNoFormat'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '%', '!', '&&', '||'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ 'doctype' : {
+ 'search' : '()(]*>)()'
+ ,'class' : 'doctype'
+ ,'modifiers' : ''
+ ,'execute' : 'before' // before or after
+ }
+ ,'cftags' : {
+ 'search' : '(<)(/cf[a-z][^ \r\n\t>]*)([^>]*>)'
+ ,'class' : 'cftags'
+ ,'modifiers' : 'gi'
+ ,'execute' : 'before' // before or after
+ }
+ ,'cftags2' : {
+ 'search' : '(<)(cf[a-z][^ \r\n\t>]*)([^>]*>)'
+ ,'class' : 'cftags2'
+ ,'modifiers' : 'gi'
+ ,'execute' : 'before' // before or after
+ }
+ ,'tags' : {
+ 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
+ ,'class' : 'tags'
+ ,'modifiers' : 'gi'
+ ,'execute' : 'before' // before or after
+ }
+ ,'attributes' : {
+ 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
+ ,'class' : 'attributes'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'color: #48BDDF;'
+ ,'functions' : 'color: #0000FF;'
+ ,'statements' : 'color: #60CA00;'
+ }
+ ,'OPERATORS' : 'color: #E775F0;'
+ ,'DELIMITERS' : ''
+ ,'REGEXPS' : {
+ 'attributes': 'color: #990033;'
+ ,'cftags': 'color: #990033;'
+ ,'cftags2': 'color: #990033;'
+ ,'tags': 'color: #000099;'
+ ,'doctype': 'color: #8DCFB5;'
+ ,'test': 'color: #00FF00;'
+ }
+ }
+};
+
+
diff --git a/public/js/reg_syntax/cpp.js b/public/js/reg_syntax/cpp.js
new file mode 100755
index 0000000..6b176e8
--- /dev/null
+++ b/public/js/reg_syntax/cpp.js
@@ -0,0 +1,66 @@
+editAreaLoader.load_syntax["cpp"] = {
+ 'DISPLAY_NAME' : 'CPP'
+ ,'COMMENT_SINGLE' : {1 : '//'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : true
+ ,'KEYWORDS' : {
+ 'constants' : [
+ 'NULL', 'false', 'std', 'stdin', 'stdout', 'stderr',
+ 'true'
+ ]
+ ,'types' : [
+ 'FILE', 'auto', 'char', 'class', 'const', 'double',
+ 'extern', 'float', 'friend', 'inline', 'int',
+ 'iterator', 'long', 'map', 'operator', 'queue',
+ 'register', 'short', 'signed', 'size_t', 'stack',
+ 'static', 'string', 'struct', 'time_t', 'typedef',
+ 'union', 'unsigned', 'vector', 'void', 'volatile'
+ ]
+ ,'statements' : [
+ 'catch', 'do', 'else', 'enum', 'for', 'goto', 'if',
+ 'sizeof', 'switch', 'this', 'throw', 'try', 'while'
+ ]
+ ,'keywords' : [
+ 'break', 'case', 'continue', 'default', 'delete',
+ 'namespace', 'new', 'private', 'protected', 'public',
+ 'return', 'using'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ 'precompiler' : {
+ 'search' : '()(#[^\r\n]*)()'
+ ,'class' : 'precompiler'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+/* ,'precompilerstring' : {
+ 'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
+ ,'class' : 'precompilerstring'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }*/
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'constants' : 'color: #EE0000;'
+ ,'types' : 'color: #0000EE;'
+ ,'statements' : 'color: #60CA00;'
+ ,'keywords' : 'color: #48BDDF;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #0038E1;'
+ ,'REGEXPS' : {
+ 'precompiler' : 'color: #009900;'
+ ,'precompilerstring' : 'color: #994400;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/css.js b/public/js/reg_syntax/css.js
new file mode 100755
index 0000000..087186b
--- /dev/null
+++ b/public/js/reg_syntax/css.js
@@ -0,0 +1,85 @@
+editAreaLoader.load_syntax["css"] = {
+ 'DISPLAY_NAME' : 'CSS'
+ ,'COMMENT_SINGLE' : {1 : '@'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : ['"', "'"]
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'attributes' : [
+ 'aqua', 'azimuth', 'background-attachment', 'background-color',
+ 'background-image', 'background-position', 'background-repeat',
+ 'background', 'border-bottom-color', 'border-bottom-style',
+ 'border-bottom-width', 'border-left-color', 'border-left-style',
+ 'border-left-width', 'border-right', 'border-right-color',
+ 'border-right-style', 'border-right-width', 'border-top-color',
+ 'border-top-style', 'border-top-width','border-bottom', 'border-collapse',
+ 'border-left', 'border-width', 'border-color', 'border-spacing',
+ 'border-style', 'border-top', 'border', 'caption-side',
+ 'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset',
+ 'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
+ 'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
+ 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
+ 'font-weight', 'font', 'height', 'letter-spacing', 'line-height',
+ 'list-style', 'list-style-image', 'list-style-position', 'list-style-type',
+ 'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'margin',
+ 'marker-offset', 'marks', 'max-height', 'max-width', 'min-height',
+ 'min-width', 'opacity', 'orphans', 'outline', 'outline-color', 'outline-style',
+ 'outline-width', 'overflow', 'padding-bottom', 'padding-left',
+ 'padding-right', 'padding-top', 'padding', 'page', 'page-break-after',
+ 'page-break-before', 'page-break-inside', 'pause-after', 'pause-before',
+ 'pause', 'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
+ 'richness', 'right', 'size', 'speak-header', 'speak-numeral', 'speak-punctuation',
+ 'speak', 'speech-rate', 'stress', 'table-layout', 'text-align', 'text-decoration',
+ 'text-indent', 'text-shadow', 'text-transform', 'top', 'unicode-bidi',
+ 'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows',
+ 'width', 'word-spacing', 'z-index', 'bottom', 'left'
+ ]
+ ,'values' : [
+ 'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 'avoid',
+ 'baseline', 'behind', 'below', 'bidi-override', 'black', 'blue', 'blink', 'block', 'bold', 'bolder', 'both',
+ 'capitalize', 'center-left', 'center-right', 'center', 'circle', 'cjk-ideographic',
+ 'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 'crosshair', 'cross', 'cursive',
+ 'dashed', 'decimal-leading-zero', 'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
+ 'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 'expanded',
+ 'fantasy', 'far-left', 'far-right', 'faster', 'fast', 'fixed', 'fuchsia',
+ 'georgian', 'gray', 'green', 'groove', 'hebrew', 'help', 'hidden', 'hide', 'higher',
+ 'high', 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 'inline',
+ 'inset', 'inside', 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana',
+ 'landscape', 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 'lime', 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 'lower-roman', 'lowercase', 'ltr', 'lower', 'low',
+ 'maroon', 'medium', 'message-box', 'middle', 'mix', 'monospace',
+ 'n-resize', 'narrower', 'navy', 'ne-resize', 'no-close-quote', 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 'nw-resize',
+ 'oblique', 'olive', 'once', 'open-quote', 'outset', 'outside', 'overline',
+ 'pointer', 'portrait', 'purple', 'px',
+ 'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 'ridge', 'right-side', 'rightwards',
+ 's-resize', 'sans-serif', 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 'spell-out', 'square',
+ 'static', 'status-bar', 'super', 'sw-resize',
+ 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 'text-top', 'thick', 'thin', 'transparent',
+ 'ultra-condensed', 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 'upper-roman', 'uppercase', 'url',
+ 'visible',
+ 'w-resize', 'wait', 'white', 'wider',
+ 'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small',
+ 'yellow', 'yes'
+ ]
+ ,'specials' : [
+ 'important'
+ ]
+ }
+ ,'OPERATORS' :[
+ ':', ';', '!', '.', '#'
+ ]
+ ,'DELIMITERS' :[
+ '{', '}'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'attributes' : 'color: #48BDDF;'
+ ,'values' : 'color: #2B60FF;'
+ ,'specials' : 'color: #FF0000;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #60CA00;'
+
+ }
+};
diff --git a/public/js/reg_syntax/html.js b/public/js/reg_syntax/html.js
new file mode 100755
index 0000000..defab6b
--- /dev/null
+++ b/public/js/reg_syntax/html.js
@@ -0,0 +1,51 @@
+/*
+* last update: 2006-08-24
+*/
+
+editAreaLoader.load_syntax["html"] = {
+ 'DISPLAY_NAME' : 'HTML'
+ ,'COMMENT_SINGLE' : {}
+ ,'COMMENT_MULTI' : {''}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ }
+ ,'OPERATORS' :[
+ ]
+ ,'DELIMITERS' :[
+ ]
+ ,'REGEXPS' : {
+ 'doctype' : {
+ 'search' : '()(]*>)()'
+ ,'class' : 'doctype'
+ ,'modifiers' : ''
+ ,'execute' : 'before' // before or after
+ }
+ ,'tags' : {
+ 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
+ ,'class' : 'tags'
+ ,'modifiers' : 'gi'
+ ,'execute' : 'before' // before or after
+ }
+ ,'attributes' : {
+ 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
+ ,'class' : 'attributes'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ }
+ ,'OPERATORS' : 'color: #E775F0;'
+ ,'DELIMITERS' : ''
+ ,'REGEXPS' : {
+ 'attributes': 'color: #B1AC41;'
+ ,'tags': 'color: #E62253;'
+ ,'doctype': 'color: #8DCFB5;'
+ ,'test': 'color: #00FF00;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/java.js b/public/js/reg_syntax/java.js
new file mode 100755
index 0000000..2c01928
--- /dev/null
+++ b/public/js/reg_syntax/java.js
@@ -0,0 +1,57 @@
+editAreaLoader.load_syntax["java"] = {
+ 'DISPLAY_NAME' : 'Java'
+ ,'COMMENT_SINGLE': { 1: '//', 2: '@' }
+ , 'COMMENT_MULTI': { '/*': '*/' }
+ , 'QUOTEMARKS': { 1: "'", 2: '"' }
+ , 'KEYWORD_CASE_SENSITIVE': true
+ , 'KEYWORDS': {
+ 'constants': [
+ 'null', 'false', 'true'
+ ]
+ , 'types': [
+ 'String', 'int', 'short', 'long', 'char', 'double', 'byte',
+ 'float', 'static', 'void', 'private', 'boolean', 'protected',
+ 'public', 'const', 'class', 'final', 'abstract', 'volatile',
+ 'enum', 'transient', 'interface'
+ ]
+ , 'statements': [
+ 'this', 'extends', 'if', 'do', 'while', 'try', 'catch', 'finally',
+ 'throw', 'throws', 'else', 'for', 'switch', 'continue', 'implements',
+ 'break', 'case', 'default', 'goto'
+ ]
+ , 'keywords': [
+ 'new', 'return', 'import', 'native', 'super', 'package', 'assert', 'synchronized',
+ 'instanceof', 'strictfp'
+ ]
+ }
+ , 'OPERATORS': [
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
+ ]
+ , 'DELIMITERS': [
+ '(', ')', '[', ']', '{', '}'
+ ]
+ , 'REGEXPS': {
+ 'precompiler': {
+ 'search': '()(#[^\r\n]*)()'
+ , 'class': 'precompiler'
+ , 'modifiers': 'g'
+ , 'execute': 'before'
+ }
+ }
+ , 'STYLES': {
+ 'COMMENTS': 'color: #AAAAAA;'
+ , 'QUOTESMARKS': 'color: #6381F8;'
+ , 'KEYWORDS': {
+ 'constants': 'color: #EE0000;'
+ , 'types': 'color: #0000EE;'
+ , 'statements': 'color: #60CA00;'
+ , 'keywords': 'color: #48BDDF;'
+ }
+ , 'OPERATORS': 'color: #FF00FF;'
+ , 'DELIMITERS': 'color: #0038E1;'
+ , 'REGEXPS': {
+ 'precompiler': 'color: #009900;'
+ , 'precompilerstring': 'color: #994400;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/js.js b/public/js/reg_syntax/js.js
new file mode 100755
index 0000000..cf7533a
--- /dev/null
+++ b/public/js/reg_syntax/js.js
@@ -0,0 +1,94 @@
+editAreaLoader.load_syntax["js"] = {
+ 'DISPLAY_NAME' : 'Javascript'
+ ,'COMMENT_SINGLE' : {1 : '//'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+ 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+ 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+ 'while', 'write', 'with'
+ ]
+ ,'keywords' : [
+ 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+ 'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+ 'protected', 'public', 'super', 'true', 'use', 'var', 'window', 'document',
+ // the list below must be sorted and checked (if it is a keywords or a function and if it is not present twice
+ 'Link ', 'outerHeight ', 'Anchor', 'FileUpload',
+ 'location', 'outerWidth', 'Select', 'Area', 'find', 'Location', 'Packages', 'self',
+ 'arguments', 'locationbar', 'pageXoffset', 'Form',
+ 'Math', 'pageYoffset', 'setTimeout', 'assign', 'Frame', 'menubar', 'parent', 'status',
+ 'blur', 'frames', 'MimeType', 'parseFloat', 'statusbar', 'Boolean', 'Function', 'moveBy',
+ 'parseInt', 'stop', 'Button', 'getClass', 'moveTo', 'Password', 'String', 'callee', 'Hidden',
+ 'name', 'personalbar', 'Submit', 'caller', 'history', 'NaN', 'Plugin', 'sun', 'captureEvents',
+ 'History', 'navigate', 'print', 'taint', 'Checkbox', 'home', 'navigator', 'prompt', 'Text',
+ 'Image', 'Navigator', 'prototype', 'Textarea', 'clearTimeout', 'Infinity',
+ 'netscape', 'Radio', 'toolbar', 'close', 'innerHeight', 'Number', 'ref', 'top', 'closed',
+ 'innerWidth', 'Object', 'RegExp', 'toString', 'confirm', 'isFinite', 'onBlur', 'releaseEvents',
+ 'unescape', 'constructor', 'isNan', 'onError', 'Reset', 'untaint', 'Date', 'java', 'onFocus',
+ 'resizeBy', 'unwatch', 'defaultStatus', 'JavaArray', 'onLoad', 'resizeTo', 'valueOf', 'document',
+ 'JavaClass', 'onUnload', 'routeEvent', 'watch', 'Document', 'JavaObject', 'open', 'scroll', 'window',
+ 'Element', 'JavaPackage', 'opener', 'scrollbars', 'Window', 'escape', 'length', 'Option', 'scrollBy'
+ ]
+ ,'functions' : [
+ // common functions for Window object
+ 'alert', 'Array', 'back', 'blur', 'clearInterval', 'close', 'confirm', 'eval ', 'focus', 'forward', 'home',
+ 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+ 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'scrollTo', 'setInterval', 'status',
+ 'stop'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'statements' : 'color: #60CA00;'
+ ,'keywords' : 'color: #48BDDF;'
+ ,'functions' : 'color: #2B60FF;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #0038E1;'
+
+ }
+ ,'AUTO_COMPLETION' : {
+ "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
+ ,"possible_words_letters": "[a-zA-Z0-9_]+"
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+ ,"prefix_separator": "\\."
+ }
+ ,"CASE_SENSITIVE": true
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
+ ,"KEYWORDS": {
+ '': [ // the prefix of thoses items
+ /**
+ * 0 : the keyword the user is typing
+ * 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 )
+ * If empty the keyword will be displayed
+ * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
+ */
+ ['Array', '§()', '']
+ ,['alert', '§({@})', 'alert(String message)']
+ ,['document']
+ ,['window']
+ ]
+ ,'window' : [
+ ['location']
+ ,['document']
+ ,['scrollTo', 'scrollTo({@})', 'scrollTo(Int x,Int y)']
+ ]
+ ,'location' : [
+ ['href']
+ ]
+ }
+ }
+ }
+};
diff --git a/public/js/reg_syntax/pas.js b/public/js/reg_syntax/pas.js
new file mode 100755
index 0000000..0efaed9
--- /dev/null
+++ b/public/js/reg_syntax/pas.js
@@ -0,0 +1,83 @@
+editAreaLoader.load_syntax["pas"] = {
+ 'DISPLAY_NAME' : 'Pascal'
+ ,'COMMENT_SINGLE' : {}
+ ,'COMMENT_MULTI' : {'{' : '}', '(*':'*)'}
+ ,'QUOTEMARKS' : {1: '"', 2: "'"}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'constants' : [
+ 'Blink', 'Black', 'Blue', 'Green', 'Cyan', 'Red',
+ 'Magenta', 'Brown', 'LightGray', 'DarkGray',
+ 'LightBlue', 'LightGreen', 'LightCyan', 'LightRed',
+ 'LightMagenta', 'Yellow', 'White', 'MaxSIntValue',
+ 'MaxUIntValue', 'maxint', 'maxLongint', 'maxSmallint',
+ 'erroraddr', 'errorcode', 'LineEnding'
+ ]
+ ,'keywords' : [
+ 'in', 'or', 'div', 'mod', 'and', 'shl', 'shr', 'xor',
+ 'pow', 'is', 'not','Absolute', 'And_then', 'Array',
+ 'Begin', 'Bindable', 'Case', 'Const', 'Do', 'Downto',
+ 'Else', 'End', 'Export', 'File', 'For', 'Function',
+ 'Goto', 'If', 'Import', 'Implementation', 'Inherited',
+ 'Inline', 'Interface', 'Label', 'Module', 'Nil',
+ 'Object', 'Of', 'Only', 'Operator', 'Or_else',
+ 'Otherwise', 'Packed', 'Procedure', 'Program',
+ 'Protected', 'Qualified', 'Record', 'Repeat',
+ 'Restricted', 'Set', 'Then', 'To', 'Type', 'Unit',
+ 'Until', 'Uses', 'Value', 'Var', 'Virtual', 'While',
+ 'With'
+ ]
+ ,'functions' : [
+ 'Abs', 'Addr', 'Append', 'Arctan', 'Assert', 'Assign',
+ 'Assigned', 'BinStr', 'Blockread', 'Blockwrite',
+ 'Break', 'Chdir', 'Chr', 'Close', 'CompareByte',
+ 'CompareChar', 'CompareDWord', 'CompareWord', 'Concat',
+ 'Continue', 'Copy', 'Cos', 'CSeg', 'Dec', 'Delete',
+ 'Dispose', 'DSeg', 'Eof', 'Eoln', 'Erase', 'Exclude',
+ 'Exit', 'Exp', 'Filepos', 'Filesize', 'FillByte',
+ 'Fillchar', 'FillDWord', 'Fillword', 'Flush', 'Frac',
+ 'Freemem', 'Getdir', 'Getmem', 'GetMemoryManager',
+ 'Halt', 'HexStr', 'Hi', 'High', 'Inc', 'Include',
+ 'IndexByte', 'IndexChar', 'IndexDWord', 'IndexWord',
+ 'Insert', 'IsMemoryManagerSet', 'Int', 'IOresult',
+ 'Length', 'Ln', 'Lo', 'LongJmp', 'Low', 'Lowercase',
+ 'Mark', 'Maxavail', 'Memavail', 'Mkdir', 'Move',
+ 'MoveChar0', 'New', 'Odd', 'OctStr', 'Ofs', 'Ord',
+ 'Paramcount', 'Paramstr', 'Pi', 'Pos', 'Power', 'Pred',
+ 'Ptr', 'Random', 'Randomize', 'Read', 'Readln',
+ 'Real2Double', 'Release', 'Rename', 'Reset', 'Rewrite',
+ 'Rmdir', 'Round', 'Runerror', 'Seek', 'SeekEof',
+ 'SeekEoln', 'Seg', 'SetMemoryManager', 'SetJmp',
+ 'SetLength', 'SetString', 'SetTextBuf', 'Sin', 'SizeOf',
+ 'Sptr', 'Sqr', 'Sqrt', 'SSeg', 'Str', 'StringOfChar',
+ 'Succ', 'Swap', 'Trunc', 'Truncate', 'Upcase', 'Val',
+ 'Write', 'WriteLn'
+ ]
+ ,'types' : [
+ 'Integer', 'Shortint', 'SmallInt', 'Longint',
+ 'Longword', 'Int64', 'Byte', 'Word', 'Cardinal',
+ 'QWord', 'Boolean', 'ByteBool', 'LongBool', 'Char',
+ 'Real', 'Single', 'Double', 'Extended', 'Comp',
+ 'String', 'ShortString', 'AnsiString', 'PChar'
+ ]
+ }
+ ,'OPERATORS' :[
+ '@', '*', '+', '-', '/', '^', ':=', '<', '=', '>'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ 'specials' : 'color: #EE0000;'
+ ,'constants' : 'color: #654321;'
+ ,'keywords' : 'color: #48BDDF;'
+ ,'functions' : 'color: #449922;'
+ ,'types' : 'color: #2B60FF;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #60CA00;'
+ }
+};
diff --git a/public/js/reg_syntax/perl.js b/public/js/reg_syntax/perl.js
new file mode 100755
index 0000000..d9cc0b6
--- /dev/null
+++ b/public/js/reg_syntax/perl.js
@@ -0,0 +1,88 @@
+/***************************************************************************
+ * (c) 2008 - file created by Christoph Pinkel, MTC Infomedia OHG.
+ *
+ * You may choose any license of the current release or any future release
+ * of editarea to use, modify and/or redistribute this file.
+ *
+ * This language specification file supports for syntax checking on
+ * a large subset of Perl 5.x.
+ * The basic common syntax of Perl is fully supported, but as for
+ * the highlighting of built-in operations, it's mainly designed
+ * to support for hightlighting Perl code in a Safe environment (compartment)
+ * as used by CoMaNet for evaluation of administrative scripts. This Safe
+ * compartment basically allows for all of Opcode's :default operations,
+ * but little others. See http://perldoc.perl.org/Opcode.html to learn
+ * more.
+ ***************************************************************************/
+
+editAreaLoader.load_syntax["perl"] = {
+ 'DISPLAY_NAME' : 'Perl',
+ 'COMMENT_SINGLE' : {1 : '#'},
+ 'QUOTEMARKS' : {1: "'", 2: '"'},
+ 'KEYWORD_CASE_SENSITIVE' : true,
+ 'KEYWORDS' :
+ {
+ 'core' :
+ [ "if", "else", "elsif", "while", "for", "each", "foreach",
+ "next", "last", "goto", "exists", "delete", "undef",
+ "my", "our", "local", "use", "require", "package", "keys", "values",
+ "sub", "bless", "ref", "return" ],
+ 'functions' :
+ [
+ //from :base_core
+ "int", "hex", "oct", "abs", "substr", "vec", "study", "pos",
+ "length", "index", "rindex", "ord", "chr", "ucfirst", "lcfirst",
+ "uc", "lc", "quotemeta", "chop", "chomp", "split", "list", "splice",
+ "push", "pop", "shift", "unshift", "reverse", "and", "or", "dor",
+ "xor", "warn", "die", "prototype",
+ //from :base_mem
+ "concat", "repeat", "join", "range",
+ //none from :base_loop, as we'll see them as basic statements...
+ //from :base_orig
+ "sprintf", "crypt", "tie", "untie", "select", "localtime", "gmtime",
+ //others
+ "print", "open", "close"
+ ]
+ },
+ 'OPERATORS' :
+ [ '+', '-', '/', '*', '=', '<', '>', '!', '||', '.', '&&',
+ ' eq ', ' ne ', '=~' ],
+ 'DELIMITERS' :
+ [ '(', ')', '[', ']', '{', '}' ],
+ 'REGEXPS' :
+ {
+ 'packagedecl' : { 'search': '(package )([^ \r\n\t#;]*)()',
+ 'class' : 'scopingnames',
+ 'modifiers' : 'g', 'execute' : 'before' },
+ 'subdecl' : { 'search': '(sub )([^ \r\n\t#]*)()',
+ 'class' : 'scopingnames',
+ 'modifiers' : 'g', 'execute' : 'before' },
+ 'scalars' : { 'search': '()(\\\$[a-zA-Z0-9_:]*)()',
+ 'class' : 'vars',
+ 'modifiers' : 'g', 'execute' : 'after' },
+ 'arrays' : { 'search': '()(@[a-zA-Z0-9_:]*)()',
+ 'class' : 'vars',
+ 'modifiers' : 'g', 'execute' : 'after' },
+ 'hashs' : { 'search': '()(%[a-zA-Z0-9_:]*)()',
+ 'class' : 'vars',
+ 'modifiers' : 'g', 'execute' : 'after' },
+ },
+
+ 'STYLES' :
+ {
+ 'COMMENTS': 'color: #AAAAAA;',
+ 'QUOTESMARKS': 'color: #DC0000;',
+ 'KEYWORDS' :
+ {
+ 'core' : 'color: #8aca00;',
+ 'functions' : 'color: #2B60FF;'
+ },
+ 'OPERATORS' : 'color: #8aca00;',
+ 'DELIMITERS' : 'color: #0038E1;',
+ 'REGEXPS':
+ {
+ 'scopingnames' : 'color: #ff0000;',
+ 'vars' : 'color: #00aaaa;',
+ }
+ } //'STYLES'
+};
diff --git a/public/js/reg_syntax/php.js b/public/js/reg_syntax/php.js
new file mode 100755
index 0000000..1d35ddb
--- /dev/null
+++ b/public/js/reg_syntax/php.js
@@ -0,0 +1,157 @@
+editAreaLoader.load_syntax["php"] = {
+ 'DISPLAY_NAME' : 'Php'
+ ,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'include', 'require', 'include_once', 'require_once',
+ 'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
+ 'endif', 'switch', 'case', 'endswitch',
+ 'return', 'break', 'continue'
+ ]
+ ,'reserved' : [
+ '_GET', '_POST', '_SESSION', '_SERVER', '_FILES', '_ENV', '_COOKIE', '_REQUEST',
+ 'null', '__LINE__', '__FILE__',
+ 'false', '<?php', '?>', '<?',
+ '<script language', '</script>',
+ 'true', 'var', 'default',
+ 'function', 'class', 'new', '&new', 'this',
+ '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
+ 'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
+ 'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
+ 'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
+ 'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
+ 'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
+ 'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
+
+ ]
+ ,'functions' : [
+ 'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
+ 'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
+ 'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
+ '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',
+ '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',
+ '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',
+ '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',
+ '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',
+ 'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
+ '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',
+ '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',
+ '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',
+ 'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
+
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '&&', '||'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ // highlight all variables ($...)
+ 'variables' : {
+ 'search' : '()(\\$\\w+)()'
+ ,'class' : 'variables'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #879EFA;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'color: #48BDDF;'
+ ,'functions' : 'color: #0040FD;'
+ ,'statements' : 'color: #60CA00;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #2B60FF;'
+ ,'REGEXPS' : {
+ 'variables' : 'color: #E0BD54;'
+ }
+ }
+ ,'AUTO_COMPLETION' : {
+ "default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
+ ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+ ,"prefix_separator": "\\-\\>|\\:\\:"
+ }
+ ,"CASE_SENSITIVE": true
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
+ ,"KEYWORDS": {
+ '': [ // the prefix of thoses items
+ /**
+ * 0 : the keyword the user is typing
+ * 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 )
+ * If empty the keyword will be displayed
+ * 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
+ */
+ ['$_POST']
+ ,['$_GET']
+ ,['$_SESSION']
+ ,['$_SERVER']
+ ,['$_FILES']
+ ,['$_ENV']
+ ,['$_COOKIE']
+ ,['$_REQUEST']
+ // magic methods
+ ,['__construct', '§( {@} )']
+ ,['__destruct', '§( {@} )']
+ ,['__sleep', '§( {@} )']
+ ,['__wakeup', '§( {@} )']
+ ,['__toString', '§( {@} )']
+ // include
+ ,['include', '§ "{@}";']
+ ,['include_once', '§ "{@}";']
+ ,['require', '§ "{@}";']
+ ,['require_once', '§ "{@}";']
+ // statements
+ ,['for', '§( {@} )']
+ ,['foreach', '§( {@} )']
+ ,['if', '§( {@} )']
+ ,['elseif', '§( {@} )']
+ ,['while', '§( {@} )']
+ ,['switch', '§( {@} )']
+ ,['break']
+ ,['case']
+ ,['continue']
+ ,['do']
+ ,['else']
+ ,['endif']
+ ,['endswitch']
+ ,['endwhile']
+ ,['return']
+ // function
+ ,['unset', '§( {@} )']
+ ]
+ }
+ }
+ ,"live": {
+
+ // class NAME: /class\W+([a-z]+)\W+/gi
+ // method: /^(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
+ // static: /^(public|private|protected)?\s+static\s+(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
+ // attributes: /(\$this\-\>|(?:var|public|protected|private)\W+\$)([a-z0-9\_]+)(?!\()\b/gi
+ // v1 : /(\$this\-\>|var\W+|public\W+|protected\W+|private\W+)([a-z0-9\_]+)\W*(=|;)/gi
+ // var type: /(\$(this\-\>)?[a-z0-9\_]+)\s*\=\s*new\s+([a-z0-9\_])+/gi
+
+
+ "REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
+ ,"possible_words_letters": "[a-zA-Z0-9_\$]+"
+ ,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
+ ,"prefix_separator": "\\-\\>"
+ }
+ ,"CASE_SENSITIVE": true
+ ,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
+ ,"KEYWORDS": {
+ '$this': [ // the prefix of thoses items
+ ['test']
+ ]
+ }
+ }
+ }
+};
diff --git a/public/js/reg_syntax/python.js b/public/js/reg_syntax/python.js
new file mode 100755
index 0000000..1a5e7fb
--- /dev/null
+++ b/public/js/reg_syntax/python.js
@@ -0,0 +1,145 @@
+/**
+ * Python syntax v 1.1
+ *
+ * v1.1 by Andre Roberge (2006/12/27)
+ *
+**/
+editAreaLoader.load_syntax["python"] = {
+ 'DISPLAY_NAME' : 'Python'
+ ,'COMMENT_SINGLE' : {1 : '#'}
+ ,'COMMENT_MULTI' : {}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : true
+ ,'KEYWORDS' : {
+ /*
+ ** Set 1: reserved words
+ ** http://python.org/doc/current/ref/keywords.html
+ ** Note: 'as' and 'with' have been added starting with Python 2.5
+ */
+ 'reserved' : [
+ 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
+ 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
+ 'import', 'is', 'in', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
+ 'return', 'try', 'while', 'with', 'yield'
+ //the following are *almost* reserved; we'll treat them as such
+ , 'False', 'True', 'None'
+ ]
+ /*
+ ** Set 2: builtins
+ ** http://python.org/doc/current/lib/built-in-funcs.html
+ */
+ ,'builtins' : [
+ '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
+ 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
+ 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
+ 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
+ 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
+ 'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
+ 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
+ 'vars', 'xrange', 'zip',
+ // Built-in constants: http://www.python.org/doc/2.4.1/lib/node35.html
+ //'False', 'True', 'None' have been included in 'reserved'
+ 'NotImplemented', 'Ellipsis',
+ // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
+ 'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
+ 'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
+ 'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
+ 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
+ 'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
+ 'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
+ 'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
+ 'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
+ 'RuntimeWarning', 'FutureWarning',
+ // we will include the string methods as well
+ // http://python.org/doc/current/lib/string-methods.html
+ 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
+ 'find', 'index', 'isalnum', 'isaplpha', 'isdigit', 'islower', 'isspace', 'istitle',
+ 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
+ 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
+ 'translate', 'upper', 'zfill'
+ ]
+ /*
+ ** Set 3: standard library
+ ** http://python.org/doc/current/lib/modindex.html
+ */
+ ,'stdlib' : [
+ '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
+ 'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
+ 'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
+ 'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
+ 'collections', 'colorsys', 'commands', 'compileall', 'compiler', 'compiler',
+ 'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
+ 'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
+ 'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
+ 'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
+ 'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
+ 'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
+ 'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
+ 'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
+ 'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
+ 'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
+ 'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
+ 'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
+ 'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
+ 'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
+ 're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
+ 'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
+ 'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
+ 'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
+ 'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
+ 'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
+ 'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
+ 'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
+ 'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
+ 'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
+ 'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib'
+
+ ]
+ /*
+ ** Set 4: special methods
+ ** http://python.org/doc/current/ref/specialnames.html
+ */
+ ,'special' : [
+ // Basic customization: http://python.org/doc/current/ref/customization.html
+ '__new__', '__init__', '__del__', '__repr__', '__str__',
+ '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
+ '__hash__', '__nonzero__', '__unicode__', '__dict__',
+ // Attribute access: http://python.org/doc/current/ref/attribute-access.html
+ '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
+ '__delete__', '__slots__',
+ // Class creation, callable objects
+ '__metaclass__', '__call__',
+ // Container types: http://python.org/doc/current/ref/sequence-types.html
+ '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
+ '__getslice__', '__setslice__', '__delslice__',
+ // Numeric types: http://python.org/doc/current/ref/numeric-types.html
+ '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
+ '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
+ '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
+ '__long__','__lshift__',
+ '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
+ '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
+ '__rshift__','__rsub__','__rmul__','__repr__','__rand__','__rxor__','__ror__',
+ '__sub__','__xor__'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #660066;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'color: #0000FF;'
+ ,'builtins' : 'color: #009900;'
+ ,'stdlib' : 'color: #009900;'
+ ,'special': 'color: #006666;'
+ }
+ ,'OPERATORS' : 'color: #993300;'
+ ,'DELIMITERS' : 'color: #993300;'
+
+ }
+};
diff --git a/public/js/reg_syntax/robotstxt.js b/public/js/reg_syntax/robotstxt.js
new file mode 100755
index 0000000..9b141f0
--- /dev/null
+++ b/public/js/reg_syntax/robotstxt.js
@@ -0,0 +1,25 @@
+editAreaLoader.load_syntax["robotstxt"] = {
+ 'DISPLAY_NAME' : 'Robots txt',
+ 'COMMENT_SINGLE' : {1 : '#'},
+ 'COMMENT_MULTI' : {},
+ 'QUOTEMARKS' : [],
+ 'KEYWORD_CASE_SENSITIVE' : false,
+ 'KEYWORDS' : {
+ 'attributes' : ['User-agent', 'Disallow', 'Allow', 'Crawl-delay'],
+ 'values' : ['*'],
+ 'specials' : ['*']
+ },
+ 'OPERATORS' :[':'],
+ 'DELIMITERS' :[],
+ 'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;',
+ 'QUOTESMARKS': 'color: #6381F8;',
+ 'KEYWORDS' : {
+ 'attributes' : 'color: #48BDDF;',
+ 'values' : 'color: #2B60FF;',
+ 'specials' : 'color: #FF0000;'
+ },
+ 'OPERATORS' : 'color: #FF00FF;',
+ 'DELIMITERS' : 'color: #60CA00;'
+ }
+};
diff --git a/public/js/reg_syntax/ruby.js b/public/js/reg_syntax/ruby.js
new file mode 100755
index 0000000..bca0140
--- /dev/null
+++ b/public/js/reg_syntax/ruby.js
@@ -0,0 +1,68 @@
+/**
+ * Ruby syntax v 1.0
+ *
+ * v1.0 by Patrice De Saint Steban (2007/01/03)
+ *
+**/
+editAreaLoader.load_syntax["ruby"] = {
+ 'DISPLAY_NAME' : 'Ruby'
+ ,'COMMENT_SINGLE' : {1 : '#'}
+ ,'COMMENT_MULTI' : {}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : true
+ ,'KEYWORDS' : {
+ 'reserved' : [
+ 'alias', 'and', 'BEGIN', 'begin', 'break', 'case', 'class', 'def', 'defined', 'do', 'else',
+ 'elsif', 'END', 'end', 'ensure', 'false', 'for', 'if',
+ 'in', 'module', 'next', 'not', 'or', 'redo', 'rescue', 'retry',
+ 'return', 'self', 'super', 'then', 'true', 'undef', 'unless', 'until', 'when', 'while', 'yield'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ 'constants' : {
+ 'search' : '()([A-Z]\\w*)()'
+ ,'class' : 'constants'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ ,'variables' : {
+ 'search' : '()([\$\@\%]+\\w+)()'
+ ,'class' : 'variables'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ ,'numbers' : {
+ 'search' : '()(-?[0-9]+)()'
+ ,'class' : 'numbers'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ ,'symbols' : {
+ 'search' : '()(:\\w+)()'
+ ,'class' : 'symbols'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before'
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #660066;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'font-weight: bold; color: #0000FF;'
+ }
+ ,'OPERATORS' : 'color: #993300;'
+ ,'DELIMITERS' : 'color: #993300;'
+ ,'REGEXPS' : {
+ 'variables' : 'color: #E0BD54;'
+ ,'numbers' : 'color: green;'
+ ,'constants' : 'color: #00AA00;'
+ ,'symbols' : 'color: #879EFA;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/sql.js b/public/js/reg_syntax/sql.js
new file mode 100755
index 0000000..118ad5b
--- /dev/null
+++ b/public/js/reg_syntax/sql.js
@@ -0,0 +1,56 @@
+editAreaLoader.load_syntax["sql"] = {
+ 'DISPLAY_NAME' : 'SQL'
+ ,'COMMENT_SINGLE' : {1 : '--'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'", 2: '"', 3: '`'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'select', 'SELECT', 'where', 'order', 'by',
+ 'insert', 'from', 'update', 'grant', 'left join', 'right join',
+ 'union', 'group', 'having', 'limit', 'alter', 'LIKE','IN','CASE'
+ ]
+ ,'reserved' : [
+ 'null', 'enum', 'int', 'boolean', 'add', 'varchar'
+
+ ]
+ ,'functions' : [
+ 'ABS','ACOS','ADDDATE','ADDTIME','AES_DECRYPT','AES_ENCRYPT','ASCII','ASIN','ATAN2 ATAN','ATAN','AVG','BENCHMARK','DISTINCT','BIN','BIT_AND','BIT_COUNT','BIT_LENGTH','BIT_OR','BIT_XOR','CAST','CEILING CEIL','CHAR_LENGTH','CHAR',
+'CHARACTER_LENGTH','CHARSET','COALESCE','COERCIBILITY','COLLATION','COMPRESS','CONCAT_WS','CONCAT','CONNECTION_ID','CONV','CONVERT_TZ','COS','COT','COUNT','CRC32','CURDATE','CURRENT_DATE','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER','CURTIME','DATABASE','DATE_ADD','DATE_FORMAT','DATE_SUB','DATE','DATEDIFF','DAY','DAYNAME','DAYOFMONTH',
+'DAYOFWEEK','DAYOFYEAR','DECODE','DEFAULT','DEGREES','DES_DECRYPT','DES_ENCRYPT','ELT','ENCODE','ENCRYPT','EXP','EXPORT_SET','EXTRACT','FIELD','FIND_IN_SET','FLOOR','FORMAT','FOUND_ROWS','FROM_DAYS','FROM_UNIXTIME','GET_FORMAT','GET_LOCK','GREATEST','GROUP_CONCAT','HEX','HOUR','IF','IFNULL','INET_ATON','INET_NTOA',
+'INSERT','INSTR','INTERVAL','IS_FREE_LOCK','IS_USED_LOCK','ISNULL','LAST_DAY','LAST_INSERT_ID','LCASE','LEAST','LEFT','LENGTH','LN','LOAD_FILE','LOCALTIME','LOCALTIMESTAMP','LOCATE','LOG10','LOG2','LOG','LOWER','LPAD','LTRIM','MAKE_SET','MAKEDATE','MAKETIME','MASTER_POS_WAIT','MAX','MD5','MICROSECOND',
+'MID','MIN','MINUTE','MOD','MONTH','MONTHNAME','NOW','NULLIF','OCT','OCTET_LENGTH','OLD_PASSWORD','ORD','PASSWORD','PERIOD_ADD','PERIOD_DIFF','PI','POSITION','POW','POWER','PROCEDURE ANALYSE','QUARTER','QUOTE','RADIANS','RAND','RELEASE_LOCK','REPEAT','REPLACE','REVERSE','RIGHT','ROUND',
+'RPAD','RTRIM','SEC_TO_TIME','SECOND','SESSION_USER','SHA1','SHA','SIGN','SIN','SOUNDEX','SOUNDS LIKE','SPACE','SQRT','STD','STDDEV','STR_TO_DATE','STRCMP','SUBDATE','SUBSTRING_INDEX','SUBSTRING','SUBSTR','SUBTIME','SUM','SYSDATE','SYSTEM_USER','TAN','TIME_FORMAT','TIME_TO_SEC','TIME','TIMEDIFF',
+'TIMESTAMP','TO_DAYS','TRIM','TRUNCATE','UCASE','UNCOMPRESS','UNCOMPRESSED_LENGTH','UNHEX','UNIX_TIMESTAMP','UPPER','USER','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','UUID','VALUES','VARIANCE','WEEK','WEEKDAY','WEEKOFYEAR','YEAR','YEARWEEK'
+ ]
+ }
+ ,'OPERATORS' :[
+ 'AND','&&','BETWEEN','BINARY','&','|','^','/','DIV','<=>','=','>=','>','<<','>>','IS','NULL','<=','<','-','%','!=','<>','!','||','OR','+','REGEXP','RLIKE','XOR','~','*'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ // highlight all variables (@...)
+ 'variables' : {
+ 'search' : '()(\\@\\w+)()'
+ ,'class' : 'variables'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #879EFA;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'color: #48BDDF;'
+ ,'functions' : 'color: #0040FD;'
+ ,'statements' : 'color: #60CA00;'
+ }
+ ,'OPERATORS' : 'color: #FF00FF;'
+ ,'DELIMITERS' : 'color: #2B60FF;'
+ ,'REGEXPS' : {
+ 'variables' : 'color: #E0BD54;'
+ }
+ }
+};
diff --git a/public/js/reg_syntax/tsql.js b/public/js/reg_syntax/tsql.js
new file mode 100755
index 0000000..868567d
--- /dev/null
+++ b/public/js/reg_syntax/tsql.js
@@ -0,0 +1,88 @@
+editAreaLoader.load_syntax["tsql"] = {
+ 'DISPLAY_NAME' : 'T-SQL'
+ ,'COMMENT_SINGLE' : {1 : '--'}
+ ,'COMMENT_MULTI' : {'/*' : '*/'}
+ ,'QUOTEMARKS' : {1: "'" }
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements': [
+ 'ADD', 'EXCEPT', 'PERCENT', 'EXEC', 'PLAN', 'ALTER', 'EXECUTE', 'PRECISION',
+ 'PRIMARY', 'EXIT', 'PRINT', 'AS', 'FETCH', 'PROC', 'ASC',
+ 'FILE', 'PROCEDURE', 'AUTHORIZATION', 'FILLFACTOR', 'PUBLIC', 'BACKUP', 'FOR', 'RAISERROR',
+ 'BEGIN', 'FOREIGN', 'READ', 'FREETEXT', 'READTEXT', 'BREAK', 'FREETEXTTABLE',
+ 'RECONFIGURE', 'BROWSE', 'FROM', 'REFERENCES', 'BULK', 'FULL', 'REPLICATION', 'BY',
+ 'FUNCTION', 'RESTORE', 'CASCADE', 'GOTO', 'RESTRICT', 'CASE', 'GRANT', 'RETURN',
+ 'CHECK', 'GROUP', 'REVOKE', 'CHECKPOINT', 'HAVING', 'RIGHT', 'CLOSE', 'HOLDLOCK', 'ROLLBACK',
+ 'CLUSTERED', 'IDENTITY', 'ROWCOUNT', 'IDENTITY_INSERT', 'ROWGUIDCOL', 'COLLATE',
+ 'IDENTITYCOL', 'RULE', 'COLUMN', 'IF', 'SAVE', 'COMMIT', 'SCHEMA', 'COMPUTE', 'INDEX',
+ 'SELECT', 'CONSTRAINT', 'CONTAINS', 'INSERT', 'SET',
+ 'CONTAINSTABLE', 'INTERSECT', 'SETUSER', 'CONTINUE', 'INTO', 'SHUTDOWN', 'SOME',
+ 'CREATE', 'STATISTICS', 'KEY', 'CURRENT', 'KILL', 'TABLE',
+ 'CURRENT_DATE', 'TEXTSIZE', 'CURRENT_TIME', 'THEN', 'LINENO',
+ 'TO', 'LOAD', 'TOP', 'CURSOR', 'NATIONAL', 'TRAN', 'DATABASE', 'NOCHECK',
+ 'TRANSACTION', 'DBCC', 'NONCLUSTERED', 'TRIGGER', 'DEALLOCATE', 'TRUNCATE',
+ 'DECLARE', 'TSEQUAL', 'DEFAULT', 'UNION', 'DELETE', 'OF', 'UNIQUE',
+ 'DENY', 'OFF', 'UPDATE', 'DESC', 'OFFSETS', 'UPDATETEXT', 'DISK', 'ON', 'USE', 'DISTINCT', 'OPEN',
+ 'DISTRIBUTED', 'OPENDATASOURCE', 'VALUES', 'DOUBLE', 'OPENQUERY', 'VARYING', 'DROP',
+ 'OPENROWSET', 'VIEW', 'DUMMY', 'OPENXML', 'WAITFOR', 'DUMP', 'OPTION', 'WHEN', 'ELSE', 'WHERE',
+ 'END', 'ORDER', 'WHILE', 'ERRLVL', 'WITH', 'ESCAPE', 'OVER', 'WRITETEXT'
+ ],
+ 'functions': [
+ 'COALESCE', 'SESSION_USER', 'CONVERT', 'SYSTEM_USER', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'NULLIF', 'USER',
+ 'AVG', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP', 'MAX',
+ '@@DATEFIRST', '@@OPTIONS', '@@DBTS', '@@REMSERVER', '@@LANGID', '@@SERVERNAME', '@@LANGUAGE', '@@SERVICENAME', '@@LOCK_TIMEOUT',
+ '@@SPID', '@@MAX_CONNECTIONS', '@@TEXTSIZE', '@@MAX_PRECISION', '@@VERSION', '@@NESTLEVEL',
+ '@@CURSOR_ROWS', 'CURSOR_STATUS', '@@FETCH_STATUS',
+ 'DATEADD', 'DATEDIFF', 'DATENAME', 'DATEPART', 'DAY', 'GETDATE', 'GETUTCDATE', 'MONTH', 'YEAR',
+ 'ABS', 'DEGREES', 'RAND', 'ACOS', 'EXP', 'ROUND', 'ASIN', 'FLOOR', 'SIGN', 'ATAN', 'LOG', 'SIN', 'ATN2', 'LOG10', 'SQRT',
+ 'CEILING', 'PI ', 'SQUARE', 'COS', 'POWER', 'TAN', 'COT', 'RADIANS',
+ '@@PROCID', 'COL_LENGTH', 'FULLTEXTCATALOGPROPERTY', 'COL_NAME', 'FULLTEXTSERVICEPROPERTY', 'COLUMNPROPERTY', 'INDEX_COL',
+ 'DATABASEPROPERTY', 'INDEXKEY_PROPERTY', 'DATABASEPROPERTYEX', 'INDEXPROPERTY', 'DB_ID', 'OBJECT_ID', 'DB_NAME', 'OBJECT_NAME',
+ 'FILE_ID', 'OBJECTPROPERTY', 'OBJECTPROPERTYEX', 'FILE_NAME', 'SQL_VARIANT_PROPERTY', 'FILEGROUP_ID', 'FILEGROUP_NAME',
+ 'FILEGROUPPROPERTY', 'TYPEPROPERTY', 'FILEPROPERTY',
+ 'CURRENT_USER', 'SUSER_ID', 'SUSER_SID', 'IS_MEMBER', 'SUSER_SNAME', 'IS_SRVROLEMEMBER', 'PERMISSIONS', 'SYSTEM_USER',
+ 'SUSER_NAME', 'USER_ID', 'SESSION_USER', 'USER_NAME', 'ASCII', 'SOUNDEX', 'PATINDEX', 'SPACE', 'CHARINDEX', 'QUOTENAME',
+ 'STR', 'DIFFERENCE', 'REPLACE', 'STUFF', 'REPLICATE', 'SUBSTRING', 'LEN', 'REVERSE', 'UNICODE', 'LOWER',
+ 'UPPER', 'LTRIM', 'RTRIM', 'APP_NAME', 'CAST', 'CONVERT', 'COALESCE', 'COLLATIONPROPERTY', 'COLUMNS_UPDATED', 'CURRENT_TIMESTAMP',
+ 'CURRENT_USER', 'DATALENGTH', '@@ERROR', 'FORMATMESSAGE', 'GETANSINULL', 'HOST_ID', 'HOST_NAME', 'IDENT_CURRENT', 'IDENT_INCR',
+ 'IDENT_SEED', '@@IDENTITY', 'ISDATE', 'ISNULL', 'ISNUMERIC', 'NEWID', 'NULLIF', 'PARSENAME', '@@ROWCOUNT',
+ 'SCOPE_IDENTITY', 'SERVERPROPERTY', 'SESSIONPROPERTY', 'SESSION_USER', 'STATS_DATE', 'SYSTEM_USER', '@@TRANCOUNT', 'USER_NAME',
+ '@@CONNECTIONS', '@@PACK_RECEIVED', '@@CPU_BUSY', '@@PACK_SENT', '@@TIMETICKS', '@@IDLE', '@@TOTAL_ERRORS', '@@IO_BUSY', '@@TOTAL_READ',
+ '@@PACKET_ERRORS', '@@TOTAL_WRITE', 'PATINDEX', 'TEXTVALID', 'TEXTPTR'
+ ],
+ 'reserved': [
+ 'RIGHT', 'INNER', 'IS', 'JOIN', 'CROSS', 'LEFT', 'NULL', 'OUTER'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '*', '/', '%', '=', '&' ,'|', '^', '>', '<', '>=', '<=', '<>', '!=', '!<', '!>', 'ALL', 'AND', 'ANY', 'BETWEEN', 'EXISTS', 'IN', 'LIKE', 'NOT', 'OR', '~'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'REGEXPS' : {
+ // highlight all variables (@...)
+ 'variables' : {
+ 'search' : '()(\\@\\w+)()'
+ ,'class' : 'variables'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #008000;'
+ ,'QUOTESMARKS': 'color: #FF0000;'
+ ,'KEYWORDS' : {
+ 'reserved' : 'color: #808080;'
+ ,'functions' : 'color: #FF00FF;'
+ ,'statements' : 'color: #0000FF;'
+ }
+ ,'OPERATORS' : 'color: #808080;'
+ ,'DELIMITERS' : 'color: #FF8000;'
+ ,'REGEXPS' : {
+ 'variables' : 'color: #E0BD54;'
+ }
+ }
+};
+
+
diff --git a/public/js/reg_syntax/vb.js b/public/js/reg_syntax/vb.js
new file mode 100755
index 0000000..c831300
--- /dev/null
+++ b/public/js/reg_syntax/vb.js
@@ -0,0 +1,53 @@
+editAreaLoader.load_syntax["vb"] = {
+ 'DISPLAY_NAME' : 'Visual Basic'
+ ,'COMMENT_SINGLE' : {1 : "'"}
+ ,'COMMENT_MULTI' : { }
+ ,'QUOTEMARKS' : {1: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ 'statements' : [
+ 'if','then','for','each','while','do','loop',
+ 'else','elseif','select','case','end select',
+ 'until','next','step','to','in','end if'
+ ]
+ ,'keywords' : [
+ 'empty','isempty','nothing','null','isnull','true','false',
+ 'set','call',
+ 'sub','end sub','function','end function','exit','exit function',
+ 'dim','Mod','In','private','public','shared','const'
+ ]
+
+ ,'functions' : [
+ 'CDate','Date','DateAdd','DateDiff','DatePart','DateSerial','DateValue','Day','FormatDateTime',
+ 'Hour','IsDate','Minute','Month',
+ 'MonthName','Now','Second','Time','Timer','TimeSerial','TimeValue','Weekday','WeekdayName ','Year',
+ 'Asc','CBool','CByte','CCur','CDate','CDbl','Chr','CInt','CLng','CSng','CStr','Hex','Oct','FormatCurrency',
+ 'FormatDateTime','FormatNumber','FormatPercent','Abs','Atn','Cos','Exp','Hex','Int','Fix','Log','Oct',
+ 'Rnd','Sgn','Sin','Sqr','Tan',
+ 'Array','Filter','IsArray','Join','LBound','Split','UBound',
+ 'InStr','InStrRev','LCase','Left','Len','LTrim','RTrim','Trim','Mid','Replace','Right','Space','StrComp',
+ 'String','StrReverse','UCase',
+ 'CreateObject','Eval','GetLocale','GetObject','GetRef','InputBox','IsEmpty','IsNull','IsNumeric',
+ 'IsObject','LoadPicture','MsgBox','RGB','Round','ScriptEngine','ScriptEngineBuildVersion','ScriptEngineMajorVersion',
+ 'ScriptEngineMinorVersion','SetLocale','TypeName','VarType'
+ ]
+ }
+ ,'OPERATORS' :[
+ '+', '-', '/', '*', '=', '<', '>', '!', '&'
+ ]
+ ,'DELIMITERS' :[
+ '(', ')', '[', ']', '{', '}'
+ ]
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #99CC00;'
+ ,'QUOTESMARKS': 'color: #333399;'
+ ,'KEYWORDS' : {
+ 'keywords' : 'color: #3366FF;'
+ ,'functions' : 'color: #0000FF;'
+ ,'statements' : 'color: #3366FF;'
+ }
+ ,'OPERATORS' : 'color: #FF0000;'
+ ,'DELIMITERS' : 'color: #0000FF;'
+
+ }
+};
diff --git a/public/js/reg_syntax/xml.js b/public/js/reg_syntax/xml.js
new file mode 100755
index 0000000..03f6076
--- /dev/null
+++ b/public/js/reg_syntax/xml.js
@@ -0,0 +1,57 @@
+/*
+* last update: 2006-08-24
+*/
+
+editAreaLoader.load_syntax["xml"] = {
+ 'DISPLAY_NAME' : 'XML'
+ ,'COMMENT_SINGLE' : {}
+ ,'COMMENT_MULTI' : {''}
+ ,'QUOTEMARKS' : {1: "'", 2: '"'}
+ ,'KEYWORD_CASE_SENSITIVE' : false
+ ,'KEYWORDS' : {
+ }
+ ,'OPERATORS' :[
+ ]
+ ,'DELIMITERS' :[
+ ]
+ ,'REGEXPS' : {
+ 'xml' : {
+ 'search' : '()(<\\?[^>]*?\\?>)()'
+ ,'class' : 'xml'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ ,'cdatas' : {
+ 'search' : '()()()'
+ ,'class' : 'cdata'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ ,'tags' : {
+ 'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
+ ,'class' : 'tags'
+ ,'modifiers' : 'gi'
+ ,'execute' : 'before' // before or after
+ }
+ ,'attributes' : {
+ 'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
+ ,'class' : 'attributes'
+ ,'modifiers' : 'g'
+ ,'execute' : 'before' // before or after
+ }
+ }
+ ,'STYLES' : {
+ 'COMMENTS': 'color: #AAAAAA;'
+ ,'QUOTESMARKS': 'color: #6381F8;'
+ ,'KEYWORDS' : {
+ }
+ ,'OPERATORS' : 'color: #E775F0;'
+ ,'DELIMITERS' : ''
+ ,'REGEXPS' : {
+ 'attributes': 'color: #B1AC41;'
+ ,'tags': 'color: #E62253;'
+ ,'xml': 'color: #8DCFB5;'
+ ,'cdata': 'color: #50B020;'
+ }
+ }
+};
diff --git a/views/rcpcrt.erb b/views/rcpcrt.erb
new file mode 100644
index 0000000..4240a5d
--- /dev/null
+++ b/views/rcpcrt.erb
@@ -0,0 +1,36 @@
+<%= erb :header %>
+
+
+ <% unless @error_data.nil? %>
+
+ <% end %>
+
+<%= erb :footer %>
\ No newline at end of file