mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR Moved jsparty/tinymce_advcode to sapphire/thirdparty/tinymce-advcode
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@93562 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
2f30ae7ba5
commit
b734d702d3
38
thirdparty/tinymce-advcode/dialog.html
vendored
Normal file
38
thirdparty/tinymce-advcode/dialog.html
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>{#advcode_dlg.title}</title>
|
||||
<script type="text/javascript" src="../tiny_mce/tiny_mce_popup.js"></script>
|
||||
<script type="text/javascript" src="js/dialog.js"></script>
|
||||
<script type="text/javascript" src="js/codepress/codepress.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<form name="source" onsubmit="CodeDialog.insert();return false;">
|
||||
<textarea id="codepress" class="codepress html linenumbers-on" cols="100" rows="25"></textarea>
|
||||
</form>
|
||||
|
||||
<div>
|
||||
<input type="checkbox" value="1" checked="checked" onclick="codepress.toggleLineNumbers()"/>
|
||||
<label>{#advcode_dlg.number_toggle}</label>
|
||||
</div>
|
||||
|
||||
<div class="mceActionPanel">
|
||||
<div style="float: left">
|
||||
<input type="button" id="insert" name="insert" value="{#insert}" onclick="CodeDialog.insert();" />
|
||||
</div>
|
||||
|
||||
<div style="float: right">
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
</div>
|
||||
<script><!--
|
||||
/* Customized by SilverStripe 2009-01-05
|
||||
* For some reason, Safari doesn't support codepress - just use a textarea
|
||||
* @see http://sourceforge.net/tracker/index.php?func=detail&aid=1913725&group_id=186981&atid=919470
|
||||
*/
|
||||
if(navigator.userAgent.match('KHTML')) {
|
||||
document.getElementById('codepress').className = '';
|
||||
}
|
||||
//--></script>
|
||||
</body>
|
||||
</html>
|
40
thirdparty/tinymce-advcode/editor_plugin_src.js
vendored
Normal file
40
thirdparty/tinymce-advcode/editor_plugin_src.js
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
(function() {
|
||||
tinymce.PluginManager.requireLangPack('../../tinymce_advcode');
|
||||
tinymce.create('tinymce.plugins.AdvancedCodePlugin', {
|
||||
init : function(ed, url) {
|
||||
// Register commands
|
||||
ed.addCommand('mceAdvancedCode', function() {
|
||||
ed.windowManager.open({
|
||||
file : url + '/dialog.html',
|
||||
width : 750 + parseInt(ed.getLang('advcode.delta_width', 0)),
|
||||
height : 450 + parseInt(ed.getLang('advcode.delta_height', 0)),
|
||||
inline : 1
|
||||
}, {
|
||||
plugin_url : url
|
||||
});
|
||||
});
|
||||
|
||||
// Register buttons
|
||||
ed.addButton('advcode', {
|
||||
title : ed.getLang('advcode.desc', 0),
|
||||
cmd : 'mceAdvancedCode',
|
||||
image : url + '/img/html.png'
|
||||
});
|
||||
|
||||
ed.onNodeChange.add(function(ed, cm, n) {});
|
||||
},
|
||||
|
||||
getInfo : function() {
|
||||
return {
|
||||
longname : 'Advanced Code Editor',
|
||||
author : 'Daniel Insley',
|
||||
authorurl : 'http://www.danielinsley.com',
|
||||
infourl : 'http://www.danielinsley.com/2008/1/14/tinymce-syntax-highlighted-code-editor',
|
||||
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
// Register plugin
|
||||
tinymce.PluginManager.add('../../tinymce_advcode', tinymce.plugins.AdvancedCodePlugin);
|
||||
})();
|
BIN
thirdparty/tinymce-advcode/img/html.png
vendored
Normal file
BIN
thirdparty/tinymce-advcode/img/html.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 578 B |
21
thirdparty/tinymce-advcode/js/codepress/codepress.css
vendored
Normal file
21
thirdparty/tinymce-advcode/js/codepress/codepress.css
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
body {
|
||||
margin-top:13px;
|
||||
_margin-top:14px;
|
||||
background:white;
|
||||
margin-left:32px;
|
||||
font-family:monospace;
|
||||
font-size:13px;
|
||||
white-space:pre;
|
||||
background-image:url("images/line-numbers.png");
|
||||
background-repeat:repeat-y;
|
||||
background-position:0 3px;
|
||||
line-height:16px;
|
||||
height:100%;
|
||||
}
|
||||
pre {margin:0;}
|
||||
html>body{background-position:0 2px;}
|
||||
P {margin:0;padding:0;border:0;outline:0;display:block;white-space:pre;}
|
||||
b, i, s, u, a, em, tt, ins, big, cite, strong, var, dfn {text-decoration:none;font-weight:normal;font-style:normal;font-size:13px;}
|
||||
|
||||
body.hide-line-numbers {background:white;margin-left:16px;}
|
||||
body.show-line-numbers {background-image:url("images/line-numbers.png");margin-left:32px;}
|
35
thirdparty/tinymce-advcode/js/codepress/codepress.html
vendored
Normal file
35
thirdparty/tinymce-advcode/js/codepress/codepress.html
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>CodePress - Real Time Syntax Highlighting Editor written in JavaScript</title>
|
||||
<meta name="description" content="CodePress - source code editor window" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var language = 'generic';
|
||||
var engine = 'older';
|
||||
var ua = navigator.userAgent;
|
||||
var ts = (new Date).getTime(); // timestamp to avoid cache
|
||||
var lh = location.href;
|
||||
|
||||
if(ua.match('MSIE')) engine = 'msie';
|
||||
else if(ua.match('KHTML')) engine = 'khtml';
|
||||
else if(ua.match('Opera')) engine = 'opera';
|
||||
else if(ua.match('Gecko')) engine = 'gecko';
|
||||
|
||||
if(lh.match('language=')) language = lh.replace(/.*language=(.*?)(&.*)?$/,'$1');
|
||||
|
||||
document.write('<link type="text/css" href="codepress.css?ts='+ts+'" rel="stylesheet" />');
|
||||
document.write('<link type="text/css" href="languages/'+language+'.css?ts='+ts+'" rel="stylesheet" id="cp-lang-style" />');
|
||||
document.write('<scr'+'ipt type="text/javascript" src="engines/'+engine+'.js?ts='+ts+'"></scr'+'ipt>');
|
||||
document.write('<scr'+'ipt type="text/javascript" src="languages/'+language+'.js?ts='+ts+'"></scr'+'ipt>');
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<script type="text/javascript">
|
||||
if(engine == "msie" || engine == "gecko") document.write('<body><pre> </pre></body>');
|
||||
else if(engine == "opera") document.write('<body></body>');
|
||||
// else if(engine == "khtml") document.write('<body> </body>');
|
||||
</script>
|
||||
|
||||
</html>
|
138
thirdparty/tinymce-advcode/js/codepress/codepress.js
vendored
Normal file
138
thirdparty/tinymce-advcode/js/codepress/codepress.js
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
/*
|
||||
* CodePress - Real Time Syntax Highlighting Editor written in JavaScript - http://codepress.org/
|
||||
*
|
||||
* Copyright (C) 2006 Fernando M.A.d.S. <fermads@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Lesser General Public License as published by the Free Software Foundation.
|
||||
*
|
||||
* Read the full licence: http://www.opensource.org/licenses/lgpl-license.php
|
||||
*/
|
||||
|
||||
CodePress = function(obj) {
|
||||
var self = document.createElement('iframe');
|
||||
self.textarea = obj;
|
||||
self.textarea.disabled = true;
|
||||
self.textarea.style.overflow = 'hidden';
|
||||
self.style.height = '85%';
|
||||
self.style.width = '100%';
|
||||
self.textarea.style.overflow = 'auto';
|
||||
//self.style.border = '1px solid gray';
|
||||
self.frameBorder = 0; // remove IE internal iframe border
|
||||
self.style.visibility = 'hidden';
|
||||
self.style.position = 'absolute';
|
||||
self.options = self.textarea.className;
|
||||
|
||||
self.initialize = function() {
|
||||
self.editor = self.contentWindow.CodePress;
|
||||
self.editor.body = self.contentWindow.document.getElementsByTagName('body')[0];
|
||||
self.editor.setCode(self.textarea.value);
|
||||
self.setOptions();
|
||||
self.editor.syntaxHighlight('init');
|
||||
self.textarea.style.display = 'none';
|
||||
self.style.position = 'static';
|
||||
self.style.visibility = 'visible';
|
||||
self.style.display = 'inline';
|
||||
}
|
||||
|
||||
// obj can by a textarea id or a string (code)
|
||||
self.edit = function(obj,language) {
|
||||
if(obj) self.textarea.value = document.getElementById(obj) ? document.getElementById(obj).value : obj;
|
||||
if(!self.textarea.disabled) return;
|
||||
self.language = language ? language : self.getLanguage();
|
||||
self.src = CodePress.path+'codepress.html?language='+self.language+'&ts='+(new Date).getTime();
|
||||
if(self.attachEvent) self.attachEvent('onload',self.initialize);
|
||||
else self.addEventListener('load',self.initialize,false);
|
||||
}
|
||||
|
||||
self.getLanguage = function() {
|
||||
for (language in CodePress.languages)
|
||||
if(self.options.match('\\b'+language+'\\b'))
|
||||
return CodePress.languages[language] ? language : 'generic';
|
||||
}
|
||||
|
||||
self.setOptions = function() {
|
||||
if(self.options.match('autocomplete-off')) self.toggleAutoComplete();
|
||||
if(self.options.match('readonly-on')) self.toggleReadOnly();
|
||||
if(self.options.match('linenumbers-off')) self.toggleLineNumbers();
|
||||
}
|
||||
|
||||
self.getCode = function() {
|
||||
return self.textarea.disabled ? self.editor.getCode() : self.textarea.value;
|
||||
}
|
||||
|
||||
self.setCode = function(code) {
|
||||
self.textarea.disabled ? self.editor.setCode(code) : self.textarea.value = code;
|
||||
}
|
||||
|
||||
self.toggleAutoComplete = function() {
|
||||
self.editor.autocomplete = (self.editor.autocomplete) ? false : true;
|
||||
}
|
||||
|
||||
self.toggleReadOnly = function() {
|
||||
self.textarea.readOnly = (self.textarea.readOnly) ? false : true;
|
||||
if(self.style.display != 'none') // prevent exception on FF + iframe with display:none
|
||||
self.editor.readOnly(self.textarea.readOnly ? true : false);
|
||||
}
|
||||
|
||||
self.toggleLineNumbers = function() {
|
||||
var cn = self.editor.body.className;
|
||||
self.editor.body.className = (cn==''||cn=='show-line-numbers') ? 'hide-line-numbers' : 'show-line-numbers';
|
||||
}
|
||||
|
||||
self.toggleEditor = function() {
|
||||
if(self.textarea.disabled) {
|
||||
self.textarea.value = self.getCode();
|
||||
self.textarea.disabled = false;
|
||||
self.style.display = 'none';
|
||||
self.textarea.style.display = 'inline';
|
||||
}
|
||||
else {
|
||||
self.textarea.disabled = true;
|
||||
self.setCode(self.textarea.value);
|
||||
self.editor.syntaxHighlight('init');
|
||||
self.style.display = 'inline';
|
||||
self.textarea.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
self.edit();
|
||||
return self;
|
||||
}
|
||||
|
||||
CodePress.languages = {
|
||||
csharp : 'C#',
|
||||
css : 'CSS',
|
||||
generic : 'Generic',
|
||||
html : 'HTML',
|
||||
java : 'Java',
|
||||
javascript : 'JavaScript',
|
||||
perl : 'Perl',
|
||||
ruby : 'Ruby',
|
||||
php : 'PHP',
|
||||
text : 'Text',
|
||||
sql : 'SQL',
|
||||
vbscript : 'VBScript'
|
||||
}
|
||||
|
||||
|
||||
CodePress.run = function() {
|
||||
s = document.getElementsByTagName('script');
|
||||
for(var i=0,n=s.length;i<n;i++) {
|
||||
if(s[i].src.match('codepress.js')) {
|
||||
CodePress.path = s[i].src.replace('codepress.js','');
|
||||
}
|
||||
}
|
||||
t = document.getElementsByTagName('textarea');
|
||||
for(var i=0,n=t.length;i<n;i++) {
|
||||
if(t[i].className.match('codepress')) {
|
||||
id = t[i].id;
|
||||
t[i].id = id+'_cp';
|
||||
eval(id+' = new CodePress(t[i])');
|
||||
t[i].parentNode.insertBefore(eval(id), t[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(window.attachEvent) window.attachEvent('onload',CodePress.run);
|
||||
else window.addEventListener('DOMContentLoaded',CodePress.run,false);
|
293
thirdparty/tinymce-advcode/js/codepress/engines/gecko.js
vendored
Normal file
293
thirdparty/tinymce-advcode/js/codepress/engines/gecko.js
vendored
Normal file
@ -0,0 +1,293 @@
|
||||
/*
|
||||
* CodePress - Real Time Syntax Highlighting Editor written in JavaScript - http://codepress.org/
|
||||
*
|
||||
* Copyright (C) 2007 Fernando M.A.d.S. <fermads@gmail.com>
|
||||
*
|
||||
* Developers:
|
||||
* Fernando M.A.d.S. <fermads@gmail.com>
|
||||
* Michael Hurni <michael.hurni@gmail.com>
|
||||
* Contributors:
|
||||
* Martin D. Kirk
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Lesser General Public License as published by the Free Software Foundation.
|
||||
*
|
||||
* Read the full licence: http://www.opensource.org/licenses/lgpl-license.php
|
||||
*/
|
||||
|
||||
CodePress = {
|
||||
scrolling : false,
|
||||
autocomplete : true,
|
||||
|
||||
// set initial vars and start sh
|
||||
initialize : function() {
|
||||
if(typeof(editor)=='undefined' && !arguments[0]) return;
|
||||
body = document.getElementsByTagName('body')[0];
|
||||
body.innerHTML = body.innerHTML.replace(/\n/g,"");
|
||||
chars = '|32|46|62|8|'; // charcodes that trigger syntax highlighting
|
||||
cc = '\u2009'; // carret char
|
||||
editor = document.getElementsByTagName('pre')[0];
|
||||
document.designMode = 'on';
|
||||
document.addEventListener('keypress', this.keyHandler, true);
|
||||
window.addEventListener('scroll', function() { if(!CodePress.scrolling) CodePress.syntaxHighlight('scroll') }, false);
|
||||
completeChars = this.getCompleteChars();
|
||||
completeEndingChars = this.getCompleteEndingChars();
|
||||
},
|
||||
|
||||
// treat key bindings
|
||||
keyHandler : function(evt) {
|
||||
keyCode = evt.keyCode;
|
||||
charCode = evt.charCode;
|
||||
fromChar = String.fromCharCode(charCode);
|
||||
|
||||
if((evt.ctrlKey || evt.metaKey) && evt.shiftKey && charCode!=90) { // shortcuts = ctrl||appleKey+shift+key!=z(undo)
|
||||
CodePress.shortcuts(charCode?charCode:keyCode);
|
||||
}
|
||||
else if( (completeEndingChars.indexOf('|'+fromChar+'|')!= -1 || completeChars.indexOf('|'+fromChar+'|')!=-1) && CodePress.autocomplete) { // auto complete
|
||||
if(!CodePress.completeEnding(fromChar))
|
||||
CodePress.complete(fromChar);
|
||||
}
|
||||
else if(chars.indexOf('|'+charCode+'|')!=-1||keyCode==13) { // syntax highlighting
|
||||
top.setTimeout(function(){CodePress.syntaxHighlight('generic');},100);
|
||||
}
|
||||
else if(keyCode==9 || evt.tabKey) { // snippets activation (tab)
|
||||
CodePress.snippets(evt);
|
||||
}
|
||||
else if(keyCode==46||keyCode==8) { // save to history when delete or backspace pressed
|
||||
CodePress.actions.history[CodePress.actions.next()] = editor.innerHTML;
|
||||
}
|
||||
else if((charCode==122||charCode==121||charCode==90) && evt.ctrlKey) { // undo and redo
|
||||
(charCode==121||evt.shiftKey) ? CodePress.actions.redo() : CodePress.actions.undo();
|
||||
evt.preventDefault();
|
||||
}
|
||||
else if(charCode==118 && evt.ctrlKey) { // handle paste
|
||||
top.setTimeout(function(){CodePress.syntaxHighlight('generic');},100);
|
||||
}
|
||||
else if(charCode==99 && evt.ctrlKey) { // handle cut
|
||||
//alert(window.getSelection().getRangeAt(0).toString().replace(/\t/g,'FFF'));
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// put cursor back to its original position after every parsing
|
||||
findString : function() {
|
||||
if(self.find(cc))
|
||||
window.getSelection().getRangeAt(0).deleteContents();
|
||||
},
|
||||
|
||||
// split big files, highlighting parts of it
|
||||
split : function(code,flag) {
|
||||
if(flag=='scroll') {
|
||||
this.scrolling = true;
|
||||
return code;
|
||||
}
|
||||
else {
|
||||
this.scrolling = false;
|
||||
mid = code.indexOf(cc);
|
||||
if(mid-2000<0) {ini=0;end=4000;}
|
||||
else if(mid+2000>code.length) {ini=code.length-4000;end=code.length;}
|
||||
else {ini=mid-2000;end=mid+2000;}
|
||||
code = code.substring(ini,end);
|
||||
return code;
|
||||
}
|
||||
},
|
||||
|
||||
getEditor : function() {
|
||||
if(!document.getElementsByTagName('pre')[0]) {
|
||||
body = document.getElementsByTagName('body')[0];
|
||||
if(!body.innerHTML) return body;
|
||||
if(body.innerHTML=="<br>") body.innerHTML = "<pre> </pre>";
|
||||
else body.innerHTML = "<pre>"+body.innerHTML+"</pre>";
|
||||
}
|
||||
return document.getElementsByTagName('pre')[0];
|
||||
},
|
||||
|
||||
// syntax highlighting parser
|
||||
syntaxHighlight : function(flag) {
|
||||
//if(document.designMode=='off') document.designMode='on'
|
||||
if(flag != 'init') { window.getSelection().getRangeAt(0).insertNode(document.createTextNode(cc));}
|
||||
editor = CodePress.getEditor();
|
||||
o = editor.innerHTML;
|
||||
o = o.replace(/<br>/g,'\n');
|
||||
o = o.replace(/<.*?>/g,'');
|
||||
x = z = this.split(o,flag);
|
||||
x = x.replace(/\n/g,'<br>');
|
||||
|
||||
if(arguments[1]&&arguments[2]) x = x.replace(arguments[1],arguments[2]);
|
||||
|
||||
for(i=0;i<Language.syntax.length;i++)
|
||||
x = x.replace(Language.syntax[i].input,Language.syntax[i].output);
|
||||
|
||||
editor.innerHTML = this.actions.history[this.actions.next()] = (flag=='scroll') ? x : o.split(z).join(x);
|
||||
if(flag!='init') this.findString();
|
||||
},
|
||||
|
||||
getLastWord : function() {
|
||||
var rangeAndCaret = CodePress.getRangeAndCaret();
|
||||
words = rangeAndCaret[0].substring(rangeAndCaret[1]-40,rangeAndCaret[1]);
|
||||
words = words.replace(/[\s\n\r\);\W]/g,'\n').split('\n');
|
||||
return words[words.length-1].replace(/[\W]/gi,'').toLowerCase();
|
||||
},
|
||||
|
||||
snippets : function(evt) {
|
||||
var snippets = Language.snippets;
|
||||
var trigger = this.getLastWord();
|
||||
for (var i=0; i<snippets.length; i++) {
|
||||
if(snippets[i].input == trigger) {
|
||||
var content = snippets[i].output.replace(/</g,'<');
|
||||
content = content.replace(/>/g,'>');
|
||||
if(content.indexOf('$0')<0) content += cc;
|
||||
else content = content.replace(/\$0/,cc);
|
||||
content = content.replace(/\n/g,'<br>');
|
||||
var pattern = new RegExp(trigger+cc,'gi');
|
||||
evt.preventDefault(); // prevent the tab key from being added
|
||||
this.syntaxHighlight('snippets',pattern,content);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
readOnly : function() {
|
||||
document.designMode = (arguments[0]) ? 'off' : 'on';
|
||||
},
|
||||
|
||||
complete : function(trigger) {
|
||||
window.getSelection().getRangeAt(0).deleteContents();
|
||||
var complete = Language.complete;
|
||||
for (var i=0; i<complete.length; i++) {
|
||||
if(complete[i].input == trigger) {
|
||||
var pattern = new RegExp('\\'+trigger+cc);
|
||||
var content = complete[i].output.replace(/\$0/g,cc);
|
||||
parent.setTimeout(function () { CodePress.syntaxHighlight('complete',pattern,content)},0); // wait for char to appear on screen
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getCompleteChars : function() {
|
||||
var cChars = '';
|
||||
for(var i=0;i<Language.complete.length;i++)
|
||||
cChars += '|'+Language.complete[i].input;
|
||||
return cChars+'|';
|
||||
},
|
||||
|
||||
getCompleteEndingChars : function() {
|
||||
var cChars = '';
|
||||
for(var i=0;i<Language.complete.length;i++)
|
||||
cChars += '|'+Language.complete[i].output.charAt(Language.complete[i].output.length-1);
|
||||
return cChars+'|';
|
||||
},
|
||||
|
||||
completeEnding : function(trigger) {
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
try {
|
||||
range.setEnd(range.endContainer, range.endOffset+1)
|
||||
}
|
||||
catch(e) {
|
||||
return false;
|
||||
}
|
||||
var next_character = range.toString()
|
||||
range.setEnd(range.endContainer, range.endOffset-1)
|
||||
if(next_character != trigger) return false;
|
||||
else {
|
||||
range.setEnd(range.endContainer, range.endOffset+1)
|
||||
range.deleteContents();
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
shortcuts : function() {
|
||||
var cCode = arguments[0];
|
||||
if(cCode==13) cCode = '[enter]';
|
||||
else if(cCode==32) cCode = '[space]';
|
||||
else cCode = '['+String.fromCharCode(charCode).toLowerCase()+']';
|
||||
for(var i=0;i<Language.shortcuts.length;i++)
|
||||
if(Language.shortcuts[i].input == cCode)
|
||||
this.insertCode(Language.shortcuts[i].output,false);
|
||||
},
|
||||
|
||||
getRangeAndCaret : function() {
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
var range2 = range.cloneRange();
|
||||
var node = range.endContainer;
|
||||
var caret = range.endOffset;
|
||||
range2.selectNode(node);
|
||||
return [range2.toString(),caret];
|
||||
},
|
||||
|
||||
insertCode : function(code,replaceCursorBefore) {
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
var node = window.document.createTextNode(code);
|
||||
var selct = window.getSelection();
|
||||
var range2 = range.cloneRange();
|
||||
// Insert text at cursor position
|
||||
selct.removeAllRanges();
|
||||
range.deleteContents();
|
||||
range.insertNode(node);
|
||||
// Move the cursor to the end of text
|
||||
range2.selectNode(node);
|
||||
range2.collapse(replaceCursorBefore);
|
||||
selct.removeAllRanges();
|
||||
selct.addRange(range2);
|
||||
},
|
||||
|
||||
// get code from editor
|
||||
getCode : function() {
|
||||
if(!document.getElementsByTagName('pre')[0] || editor.innerHTML == '')
|
||||
editor = CodePress.getEditor();
|
||||
var code = editor.innerHTML;
|
||||
code = code.replace(/<br>/g,'\n');
|
||||
code = code.replace(/\u2009/g,'');
|
||||
code = code.replace(/<.*?>/g,'');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
code = code.replace(/&/gi,'&');
|
||||
return code;
|
||||
},
|
||||
|
||||
// put code inside editor
|
||||
setCode : function() {
|
||||
var code = arguments[0];
|
||||
code = code.replace(/\u2009/gi,'');
|
||||
code = code.replace(/&/gi,'&');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
editor.innerHTML = code;
|
||||
if (code == '')
|
||||
document.getElementsByTagName('body')[0].innerHTML = '';
|
||||
},
|
||||
|
||||
// undo and redo methods
|
||||
actions : {
|
||||
pos : -1, // actual history position
|
||||
history : [], // history vector
|
||||
|
||||
undo : function() {
|
||||
editor = CodePress.getEditor();
|
||||
if(editor.innerHTML.indexOf(cc)==-1){
|
||||
if(editor.innerHTML != " ")
|
||||
window.getSelection().getRangeAt(0).insertNode(document.createTextNode(cc));
|
||||
this.history[this.pos] = editor.innerHTML;
|
||||
}
|
||||
this.pos --;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos ++;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
if(editor.innerHTML.indexOf(cc)>-1) editor.innerHTML+=cc;
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
redo : function() {
|
||||
// editor = CodePress.getEditor();
|
||||
this.pos++;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos--;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
next : function() { // get next vector position and clean old ones
|
||||
if(this.pos>20) this.history[this.pos-21] = undefined;
|
||||
return ++this.pos;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Language={};
|
||||
window.addEventListener('load', function() { CodePress.initialize('new'); }, true);
|
0
thirdparty/tinymce-advcode/js/codepress/engines/khtml.js
vendored
Normal file
0
thirdparty/tinymce-advcode/js/codepress/engines/khtml.js
vendored
Normal file
304
thirdparty/tinymce-advcode/js/codepress/engines/msie.js
vendored
Normal file
304
thirdparty/tinymce-advcode/js/codepress/engines/msie.js
vendored
Normal file
@ -0,0 +1,304 @@
|
||||
/*
|
||||
* CodePress - Real Time Syntax Highlighting Editor written in JavaScript - http://codepress.org/
|
||||
*
|
||||
* Copyright (C) 2007 Fernando M.A.d.S. <fermads@gmail.com>
|
||||
*
|
||||
* Developers:
|
||||
* Fernando M.A.d.S. <fermads@gmail.com>
|
||||
* Michael Hurni <michael.hurni@gmail.com>
|
||||
* Contributors:
|
||||
* Martin D. Kirk
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Lesser General Public License as published by the Free Software Foundation.
|
||||
*
|
||||
* Read the full licence: http://www.opensource.org/licenses/lgpl-license.php
|
||||
*/
|
||||
|
||||
CodePress = {
|
||||
scrolling : false,
|
||||
autocomplete : true,
|
||||
|
||||
// set initial vars and start sh
|
||||
initialize : function() {
|
||||
if(typeof(editor)=='undefined' && !arguments[0]) return;
|
||||
chars = '|32|46|62|'; // charcodes that trigger syntax highlighting
|
||||
cc = '\u2009'; // carret char
|
||||
editor = document.getElementsByTagName('pre')[0];
|
||||
editor.contentEditable = 'true';
|
||||
document.getElementsByTagName('body')[0].onfocus = function() {editor.focus();}
|
||||
document.attachEvent('onkeydown', this.metaHandler);
|
||||
document.attachEvent('onkeypress', this.keyHandler);
|
||||
window.attachEvent('onscroll', function() { if(!CodePress.scrolling) setTimeout(function(){CodePress.syntaxHighlight('scroll')},1)});
|
||||
completeChars = this.getCompleteChars();
|
||||
completeEndingChars = this.getCompleteEndingChars();
|
||||
setTimeout(function() { window.scroll(0,0) },50); // scroll IE to top
|
||||
},
|
||||
|
||||
// treat key bindings
|
||||
keyHandler : function(evt) {
|
||||
charCode = evt.keyCode;
|
||||
fromChar = String.fromCharCode(charCode);
|
||||
|
||||
if( (completeEndingChars.indexOf('|'+fromChar+'|')!= -1 || completeChars.indexOf('|'+fromChar+'|')!=-1 )&& CodePress.autocomplete) { // auto complete
|
||||
if(!CodePress.completeEnding(fromChar))
|
||||
CodePress.complete(fromChar);
|
||||
}
|
||||
else if(chars.indexOf('|'+charCode+'|')!=-1||charCode==13) { // syntax highlighting
|
||||
CodePress.syntaxHighlight('generic');
|
||||
}
|
||||
},
|
||||
|
||||
metaHandler : function(evt) {
|
||||
keyCode = evt.keyCode;
|
||||
|
||||
if(keyCode==9 || evt.tabKey) {
|
||||
CodePress.snippets();
|
||||
}
|
||||
else if((keyCode==122||keyCode==121||keyCode==90) && evt.ctrlKey) { // undo and redo
|
||||
(keyCode==121||evt.shiftKey) ? CodePress.actions.redo() : CodePress.actions.undo();
|
||||
evt.returnValue = false;
|
||||
}
|
||||
else if(keyCode==34||keyCode==33) { // handle page up/down for IE
|
||||
self.scrollBy(0, (keyCode==34) ? 200 : -200);
|
||||
evt.returnValue = false;
|
||||
}
|
||||
else if(keyCode==46||keyCode==8) { // save to history when delete or backspace pressed
|
||||
CodePress.actions.history[CodePress.actions.next()] = editor.innerHTML;
|
||||
}
|
||||
else if((evt.ctrlKey || evt.metaKey) && evt.shiftKey && keyCode!=90) { // shortcuts = ctrl||appleKey+shift+key!=z(undo)
|
||||
CodePress.shortcuts(keyCode);
|
||||
evt.returnValue = false;
|
||||
}
|
||||
else if(keyCode==86 && evt.ctrlKey) { // handle paste
|
||||
window.clipboardData.setData('Text',window.clipboardData.getData('Text').replace(/\t/g,'\u2008'));
|
||||
top.setTimeout(function(){CodePress.syntaxHighlight('paste');},10);
|
||||
}
|
||||
else if(keyCode==67 && evt.ctrlKey) { // handle cut
|
||||
// window.clipboardData.setData('Text',x[0]);
|
||||
// code = window.clipboardData.getData('Text');
|
||||
}
|
||||
},
|
||||
|
||||
// put cursor back to its original position after every parsing
|
||||
|
||||
|
||||
findString : function() {
|
||||
range = self.document.body.createTextRange();
|
||||
if(range.findText(cc)){
|
||||
range.select();
|
||||
range.text = '';
|
||||
}
|
||||
},
|
||||
|
||||
// split big files, highlighting parts of it
|
||||
split : function(code,flag) {
|
||||
if(flag=='scroll') {
|
||||
this.scrolling = true;
|
||||
return code;
|
||||
}
|
||||
else {
|
||||
this.scrolling = false;
|
||||
mid = code.indexOf(cc);
|
||||
if(mid-2000<0) {ini=0;end=4000;}
|
||||
else if(mid+2000>code.length) {ini=code.length-4000;end=code.length;}
|
||||
else {ini=mid-2000;end=mid+2000;}
|
||||
code = code.substring(ini,end);
|
||||
return code.substring(code.indexOf('<P>'),code.lastIndexOf('</P>')+4);
|
||||
}
|
||||
},
|
||||
|
||||
// syntax highlighting parser
|
||||
syntaxHighlight : function(flag) {
|
||||
if(flag!='init') document.selection.createRange().text = cc;
|
||||
o = editor.innerHTML;
|
||||
if(flag=='paste') { // fix pasted text
|
||||
o = o.replace(/<BR>/g,'\r\n');
|
||||
o = o.replace(/\u2008/g,'\t');
|
||||
}
|
||||
o = o.replace(/<P>/g,'\n');
|
||||
o = o.replace(/<\/P>/g,'\r');
|
||||
o = o.replace(/<.*?>/g,'');
|
||||
o = o.replace(/ /g,'');
|
||||
o = '<PRE><P>'+o+'</P></PRE>';
|
||||
o = o.replace(/\n\r/g,'<P></P>');
|
||||
o = o.replace(/\n/g,'<P>');
|
||||
o = o.replace(/\r/g,'<\/P>');
|
||||
o = o.replace(/<P>(<P>)+/,'<P>');
|
||||
o = o.replace(/<\/P>(<\/P>)+/,'</P>');
|
||||
o = o.replace(/<P><\/P>/g,'<P><BR/></P>');
|
||||
x = z = this.split(o,flag);
|
||||
|
||||
if(arguments[1]&&arguments[2]) x = x.replace(arguments[1],arguments[2]);
|
||||
|
||||
for(i=0;i<Language.syntax.length;i++)
|
||||
x = x.replace(Language.syntax[i].input,Language.syntax[i].output);
|
||||
|
||||
editor.innerHTML = this.actions.history[this.actions.next()] = (flag=='scroll') ? x : o.replace(z,x);
|
||||
if(flag!='init') this.findString();
|
||||
},
|
||||
|
||||
snippets : function(evt) {
|
||||
var snippets = Language.snippets;
|
||||
var trigger = this.getLastWord();
|
||||
for (var i=0; i<snippets.length; i++) {
|
||||
if(snippets[i].input == trigger) {
|
||||
var content = snippets[i].output.replace(/</g,'<');
|
||||
content = content.replace(/>/g,'>');
|
||||
if(content.indexOf('$0')<0) content += cc;
|
||||
else content = content.replace(/\$0/,cc);
|
||||
content = content.replace(/\n/g,'</P><P>');
|
||||
var pattern = new RegExp(trigger+cc,"gi");
|
||||
this.syntaxHighlight('snippets',pattern,content);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
readOnly : function() {
|
||||
editor.contentEditable = (arguments[0]) ? 'false' : 'true';
|
||||
},
|
||||
|
||||
complete : function(trigger) {
|
||||
var complete = Language.complete;
|
||||
for (var i=0; i<complete.length; i++) {
|
||||
if(complete[i].input == trigger) {
|
||||
var pattern = new RegExp('\\'+trigger+cc);
|
||||
var content = complete[i].output.replace(/\$0/g,cc);
|
||||
setTimeout(function () { CodePress.syntaxHighlight('complete',pattern,content)},0); // wait for char to appear on screen
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getCompleteChars : function() {
|
||||
var cChars = '';
|
||||
for(var i=0;i<Language.complete.length;i++)
|
||||
cChars += '|'+Language.complete[i].input;
|
||||
return cChars+'|';
|
||||
},
|
||||
|
||||
getCompleteEndingChars : function() {
|
||||
var cChars = '';
|
||||
for(var i=0;i<Language.complete.length;i++)
|
||||
cChars += '|'+Language.complete[i].output.charAt(Language.complete[i].output.length-1);
|
||||
return cChars+'|';
|
||||
},
|
||||
|
||||
completeEnding : function(trigger) {
|
||||
var range = document.selection.createRange();
|
||||
try {
|
||||
range.moveEnd('character', 1)
|
||||
}
|
||||
catch(e) {
|
||||
return false;
|
||||
}
|
||||
var next_character = range.text
|
||||
range.moveEnd('character', -1)
|
||||
if(next_character != trigger ) return false;
|
||||
else {
|
||||
range.moveEnd('character', 1)
|
||||
range.text=''
|
||||
return true;
|
||||
}
|
||||
},
|
||||
|
||||
shortcuts : function() {
|
||||
var cCode = arguments[0];
|
||||
if(cCode==13) cCode = '[enter]';
|
||||
else if(cCode==32) cCode = '[space]';
|
||||
else cCode = '['+String.fromCharCode(keyCode).toLowerCase()+']';
|
||||
for(var i=0;i<Language.shortcuts.length;i++)
|
||||
if(Language.shortcuts[i].input == cCode)
|
||||
this.insertCode(Language.shortcuts[i].output,false);
|
||||
},
|
||||
|
||||
getLastWord : function() {
|
||||
var rangeAndCaret = CodePress.getRangeAndCaret();
|
||||
words = rangeAndCaret[0].substring(rangeAndCaret[1]-40,rangeAndCaret[1]);
|
||||
words = words.replace(/[\s\n\r\);\W]/g,'\n').split('\n');
|
||||
return words[words.length-1].replace(/[\W]/gi,'').toLowerCase();
|
||||
},
|
||||
|
||||
getRangeAndCaret : function() {
|
||||
var range = document.selection.createRange();
|
||||
var caret = Math.abs(range.moveStart('character', -1000000)+1);
|
||||
range = this.getCode();
|
||||
range = range.replace(/\n\r/gi,' ');
|
||||
range = range.replace(/\n/gi,'');
|
||||
return [range.toString(),caret];
|
||||
},
|
||||
|
||||
insertCode : function(code,replaceCursorBefore) {
|
||||
var repdeb = '';
|
||||
var repfin = '';
|
||||
|
||||
if(replaceCursorBefore) { repfin = code; }
|
||||
else { repdeb = code; }
|
||||
|
||||
if(typeof document.selection != 'undefined') {
|
||||
var range = document.selection.createRange();
|
||||
range.text = repdeb + repfin;
|
||||
range = document.selection.createRange();
|
||||
range.move('character', -repfin.length);
|
||||
range.select();
|
||||
}
|
||||
},
|
||||
|
||||
// get code from editor
|
||||
getCode : function() {
|
||||
var code = editor.innerHTML;
|
||||
code = code.replace(/<br>/g,'\n');
|
||||
code = code.replace(/<\/p>/gi,'\r');
|
||||
code = code.replace(/<p>/i,''); // IE first line fix
|
||||
code = code.replace(/<p>/gi,'\n');
|
||||
code = code.replace(/ /gi,'');
|
||||
code = code.replace(/\u2009/g,'');
|
||||
code = code.replace(/<.*?>/g,'');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
code = code.replace(/&/gi,'&');
|
||||
return code;
|
||||
},
|
||||
|
||||
// put code inside editor
|
||||
setCode : function() {
|
||||
var code = arguments[0];
|
||||
code = code.replace(/\u2009/gi,'');
|
||||
code = code.replace(/&/gi,'&');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
editor.innerHTML = '<pre>'+code+'</pre>';
|
||||
},
|
||||
|
||||
|
||||
// undo and redo methods
|
||||
actions : {
|
||||
pos : -1, // actual history position
|
||||
history : [], // history vector
|
||||
|
||||
undo : function() {
|
||||
if(editor.innerHTML.indexOf(cc)==-1){
|
||||
document.selection.createRange().text = cc;
|
||||
this.history[this.pos] = editor.innerHTML;
|
||||
}
|
||||
this.pos--;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos++;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
redo : function() {
|
||||
this.pos++;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos--;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
next : function() { // get next vector position and clean old ones
|
||||
if(this.pos>20) this.history[this.pos-21] = undefined;
|
||||
return ++this.pos;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Language={};
|
||||
window.attachEvent('onload', function() { CodePress.initialize('new');});
|
0
thirdparty/tinymce-advcode/js/codepress/engines/older.js
vendored
Normal file
0
thirdparty/tinymce-advcode/js/codepress/engines/older.js
vendored
Normal file
260
thirdparty/tinymce-advcode/js/codepress/engines/opera.js
vendored
Normal file
260
thirdparty/tinymce-advcode/js/codepress/engines/opera.js
vendored
Normal file
@ -0,0 +1,260 @@
|
||||
/*
|
||||
* CodePress - Real Time Syntax Highlighting Editor written in JavaScript - http://codepress.org/
|
||||
*
|
||||
* Copyright (C) 2007 Fernando M.A.d.S. <fermads@gmail.com>
|
||||
*
|
||||
* Contributors :
|
||||
*
|
||||
* Michael Hurni <michael.hurni@gmail.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Lesser General Public License as published by the Free Software Foundation.
|
||||
*
|
||||
* Read the full licence: http://www.opensource.org/licenses/lgpl-license.php
|
||||
*/
|
||||
|
||||
|
||||
CodePress = {
|
||||
scrolling : false,
|
||||
autocomplete : true,
|
||||
|
||||
// set initial vars and start sh
|
||||
initialize : function() {
|
||||
if(typeof(editor)=='undefined' && !arguments[0]) return;
|
||||
chars = '|32|46|62|'; // charcodes that trigger syntax highlighting
|
||||
cc = '\u2009'; // control char
|
||||
editor = document.getElementsByTagName('body')[0];
|
||||
document.designMode = 'on';
|
||||
document.addEventListener('keyup', this.keyHandler, true);
|
||||
window.addEventListener('scroll', function() { if(!CodePress.scrolling) CodePress.syntaxHighlight('scroll') }, false);
|
||||
completeChars = this.getCompleteChars();
|
||||
// CodePress.syntaxHighlight('init');
|
||||
},
|
||||
|
||||
// treat key bindings
|
||||
keyHandler : function(evt) {
|
||||
keyCode = evt.keyCode;
|
||||
charCode = evt.charCode;
|
||||
|
||||
if((evt.ctrlKey || evt.metaKey) && evt.shiftKey && charCode!=90) { // shortcuts = ctrl||appleKey+shift+key!=z(undo)
|
||||
CodePress.shortcuts(charCode?charCode:keyCode);
|
||||
}
|
||||
else if(completeChars.indexOf('|'+String.fromCharCode(charCode)+'|')!=-1 && CodePress.autocomplete) { // auto complete
|
||||
CodePress.complete(String.fromCharCode(charCode));
|
||||
}
|
||||
else if(chars.indexOf('|'+charCode+'|')!=-1||keyCode==13) { // syntax highlighting
|
||||
CodePress.syntaxHighlight('generic');
|
||||
}
|
||||
else if(keyCode==9 || evt.tabKey) { // snippets activation (tab)
|
||||
CodePress.snippets(evt);
|
||||
}
|
||||
else if(keyCode==46||keyCode==8) { // save to history when delete or backspace pressed
|
||||
CodePress.actions.history[CodePress.actions.next()] = editor.innerHTML;
|
||||
}
|
||||
else if((charCode==122||charCode==121||charCode==90) && evt.ctrlKey) { // undo and redo
|
||||
(charCode==121||evt.shiftKey) ? CodePress.actions.redo() : CodePress.actions.undo();
|
||||
evt.preventDefault();
|
||||
}
|
||||
else if(keyCode==86 && evt.ctrlKey) { // paste
|
||||
// TODO: pasted text should be parsed and highlighted
|
||||
}
|
||||
},
|
||||
|
||||
// put cursor back to its original position after every parsing
|
||||
findString : function() {
|
||||
var sel = window.getSelection();
|
||||
var range = window.document.createRange();
|
||||
var span = window.document.getElementsByTagName('span')[0];
|
||||
|
||||
range.selectNode(span);
|
||||
sel.removeAllRanges();
|
||||
sel.addRange(range);
|
||||
span.parentNode.removeChild(span);
|
||||
//if(self.find(cc))
|
||||
//window.getSelection().getRangeAt(0).deleteContents();
|
||||
},
|
||||
|
||||
// split big files, highlighting parts of it
|
||||
split : function(code,flag) {
|
||||
if(flag=='scroll') {
|
||||
this.scrolling = true;
|
||||
return code;
|
||||
}
|
||||
else {
|
||||
this.scrolling = false;
|
||||
mid = code.indexOf('<SPAN>');
|
||||
if(mid-2000<0) {ini=0;end=4000;}
|
||||
else if(mid+2000>code.length) {ini=code.length-4000;end=code.length;}
|
||||
else {ini=mid-2000;end=mid+2000;}
|
||||
code = code.substring(ini,end);
|
||||
return code;
|
||||
}
|
||||
},
|
||||
|
||||
// syntax highlighting parser
|
||||
syntaxHighlight : function(flag) {
|
||||
//if(document.designMode=='off') document.designMode='on'
|
||||
if(flag!='init') {
|
||||
var span = document.createElement('span');
|
||||
window.getSelection().getRangeAt(0).insertNode(span);
|
||||
}
|
||||
|
||||
o = editor.innerHTML;
|
||||
// o = o.replace(/<br>/g,'\r\n');
|
||||
// o = o.replace(/<(b|i|s|u|a|em|tt|ins|big|cite|strong)?>/g,'');
|
||||
//alert(o)
|
||||
o = o.replace(/<(?!span|\/span|br).*?>/gi,'');
|
||||
// alert(o)
|
||||
// x = o;
|
||||
x = z = this.split(o,flag);
|
||||
//alert(z)
|
||||
// x = x.replace(/\r\n/g,'<br>');
|
||||
x = x.replace(/\t/g, ' ');
|
||||
|
||||
|
||||
if(arguments[1]&&arguments[2]) x = x.replace(arguments[1],arguments[2]);
|
||||
|
||||
for(i=0;i<Language.syntax.length;i++)
|
||||
x = x.replace(Language.syntax[i].input,Language.syntax[i].output);
|
||||
|
||||
editor.innerHTML = this.actions.history[this.actions.next()] = (flag=='scroll') ? x : o.split(z).join(x);
|
||||
|
||||
if(flag!='init') this.findString();
|
||||
},
|
||||
|
||||
getLastWord : function() {
|
||||
var rangeAndCaret = CodePress.getRangeAndCaret();
|
||||
words = rangeAndCaret[0].substring(rangeAndCaret[1]-40,rangeAndCaret[1]);
|
||||
words = words.replace(/[\s\n\r\);\W]/g,'\n').split('\n');
|
||||
return words[words.length-1].replace(/[\W]/gi,'').toLowerCase();
|
||||
},
|
||||
|
||||
snippets : function(evt) {
|
||||
var snippets = Language.snippets;
|
||||
var trigger = this.getLastWord();
|
||||
for (var i=0; i<snippets.length; i++) {
|
||||
if(snippets[i].input == trigger) {
|
||||
var content = snippets[i].output.replace(/</g,'<');
|
||||
content = content.replace(/>/g,'>');
|
||||
if(content.indexOf('$0')<0) content += cc;
|
||||
else content = content.replace(/\$0/,cc);
|
||||
content = content.replace(/\n/g,'<br>');
|
||||
var pattern = new RegExp(trigger+cc,'gi');
|
||||
evt.preventDefault(); // prevent the tab key from being added
|
||||
this.syntaxHighlight('snippets',pattern,content);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
readOnly : function() {
|
||||
document.designMode = (arguments[0]) ? 'off' : 'on';
|
||||
},
|
||||
|
||||
complete : function(trigger) {
|
||||
window.getSelection().getRangeAt(0).deleteContents();
|
||||
var complete = Language.complete;
|
||||
for (var i=0; i<complete.length; i++) {
|
||||
if(complete[i].input == trigger) {
|
||||
var pattern = new RegExp('\\'+trigger+cc);
|
||||
var content = complete[i].output.replace(/\$0/g,cc);
|
||||
parent.setTimeout(function () { CodePress.syntaxHighlight('complete',pattern,content)},0); // wait for char to appear on screen
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getCompleteChars : function() {
|
||||
var cChars = '';
|
||||
for(var i=0;i<Language.complete.length;i++)
|
||||
cChars += '|'+Language.complete[i].input;
|
||||
return cChars+'|';
|
||||
},
|
||||
|
||||
shortcuts : function() {
|
||||
var cCode = arguments[0];
|
||||
if(cCode==13) cCode = '[enter]';
|
||||
else if(cCode==32) cCode = '[space]';
|
||||
else cCode = '['+String.fromCharCode(charCode).toLowerCase()+']';
|
||||
for(var i=0;i<Language.shortcuts.length;i++)
|
||||
if(Language.shortcuts[i].input == cCode)
|
||||
this.insertCode(Language.shortcuts[i].output,false);
|
||||
},
|
||||
|
||||
getRangeAndCaret : function() {
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
var range2 = range.cloneRange();
|
||||
var node = range.endContainer;
|
||||
var caret = range.endOffset;
|
||||
range2.selectNode(node);
|
||||
return [range2.toString(),caret];
|
||||
},
|
||||
|
||||
insertCode : function(code,replaceCursorBefore) {
|
||||
var range = window.getSelection().getRangeAt(0);
|
||||
var node = window.document.createTextNode(code);
|
||||
var selct = window.getSelection();
|
||||
var range2 = range.cloneRange();
|
||||
// Insert text at cursor position
|
||||
selct.removeAllRanges();
|
||||
range.deleteContents();
|
||||
range.insertNode(node);
|
||||
// Move the cursor to the end of text
|
||||
range2.selectNode(node);
|
||||
range2.collapse(replaceCursorBefore);
|
||||
selct.removeAllRanges();
|
||||
selct.addRange(range2);
|
||||
},
|
||||
|
||||
// get code from editor
|
||||
getCode : function() {
|
||||
var code = editor.innerHTML;
|
||||
code = code.replace(/<br>/g,'\n');
|
||||
code = code.replace(/\u2009/g,'');
|
||||
code = code.replace(/<.*?>/g,'');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
code = code.replace(/&/gi,'&');
|
||||
return code;
|
||||
},
|
||||
|
||||
// put code inside editor
|
||||
setCode : function() {
|
||||
var code = arguments[0];
|
||||
code = code.replace(/\u2009/gi,'');
|
||||
code = code.replace(/&/gi,'&');
|
||||
code = code.replace(/</g,'<');
|
||||
code = code.replace(/>/g,'>');
|
||||
editor.innerHTML = code;
|
||||
},
|
||||
|
||||
// undo and redo methods
|
||||
actions : {
|
||||
pos : -1, // actual history position
|
||||
history : [], // history vector
|
||||
|
||||
undo : function() {
|
||||
if(editor.innerHTML.indexOf(cc)==-1){
|
||||
window.getSelection().getRangeAt(0).insertNode(document.createTextNode(cc));
|
||||
this.history[this.pos] = editor.innerHTML;
|
||||
}
|
||||
this.pos--;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos++;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
redo : function() {
|
||||
this.pos++;
|
||||
if(typeof(this.history[this.pos])=='undefined') this.pos--;
|
||||
editor.innerHTML = this.history[this.pos];
|
||||
CodePress.findString();
|
||||
},
|
||||
|
||||
next : function() { // get next vector position and clean old ones
|
||||
if(this.pos>20) this.history[this.pos-21] = undefined;
|
||||
return ++this.pos;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Language={};
|
||||
window.addEventListener('load', function() { CodePress.initialize('new'); }, true);
|
BIN
thirdparty/tinymce-advcode/js/codepress/images/line-numbers.png
vendored
Normal file
BIN
thirdparty/tinymce-advcode/js/codepress/images/line-numbers.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
443
thirdparty/tinymce-advcode/js/codepress/index.html
vendored
Normal file
443
thirdparty/tinymce-advcode/js/codepress/index.html
vendored
Normal file
@ -0,0 +1,443 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>CodePress - Real Time Syntax Highlighting Editor written in JavaScript</title>
|
||||
|
||||
<style>
|
||||
body {color:#000;background-color:white;font:15px georgia, "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif; letter-spacing:0.01em;margin:15px;}
|
||||
p {margin:0 0 15px 0;}
|
||||
a,a:visited {color:#7f0055;}
|
||||
select {background:#ffffe1;}
|
||||
button {margin-top:5px;}
|
||||
button.actions {width:171px;font-family:arial;}
|
||||
h1 {color:#7f0055;margin:0;padding:0;font-size:42px;font-weight:normal;}
|
||||
h1 a {text-decoration:none;}
|
||||
h2 {margin:0;}
|
||||
h2 a {text-decoration:none;font-weight:normal;font-size:22px;color:black !important;}
|
||||
h3 {font-size:20px;font-weight:normal;padding:0;margin:25px 0 5px 0;color:#7f0055;font-weight:bold;border-bottom:2px dotted #d8d8d8;}
|
||||
h4 {font-size:18px;font-weight:normal;z-index:0;}
|
||||
code {color:#0080c0;font-size:13px;font-weight:bold;}
|
||||
ol, ul {padding:5px 0 5px 25px;margin:0;}
|
||||
ol li, ul li {margin:8px 0 8px 0;}
|
||||
|
||||
#logo {text-align:center;background-color:#d6d6d6;padding:10px;-moz-border-radius:5px;border:1px solid silver;}
|
||||
#container {width:700px;margin:20px auto;padding:25px;border:3px solid #d9d9d9;-moz-border-radius:10px;background:#f8f8f8;}
|
||||
#languages {margin:5px 0;}
|
||||
|
||||
#menu {width:100%;background:#7f0055;-moz-border-radius:4px;}
|
||||
#menu a {font:bold 17px georgia;color:white;padding:4px;display:block;border-left:1px solid white;text-align:center;text-decoration:none;}
|
||||
#menu a:hover {background:#b9669e;}
|
||||
|
||||
.hidden-code {display:none;}
|
||||
.copycode {border:1px dotted gray;padding:10px;background:white;font-family:monospace;color:gray}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="container">
|
||||
|
||||
<div id="logo">
|
||||
<h1><a href="http://codepress.org/">CodePress</a></h1>
|
||||
<h2><a href="http://codepress.org/">Online Real Time Syntax Highlighting Editor</a></h2>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<table cellpadding="0" cellspacing="0" id="menu">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="http://www.codepress.org/index.php">Home/Download</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://www.codepress.org/install.php"> Install </a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://www.codepress.org/to-do.php"> To-do </a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="http://www.codepress.org/about.php" id="about"> About </a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h4>
|
||||
CodePress is web-based source code editor with syntax highlighting written in JavaScript that colors text in real time while it's being typed in the browser.
|
||||
</h4>
|
||||
|
||||
<p>
|
||||
Go to <strong><a href="http://codepress.org/">http://codepress.org/</a></strong> for updates.
|
||||
</p>
|
||||
|
||||
<h3>Demo</h3>
|
||||
<div id="languages">
|
||||
<em>choose example in:</em>
|
||||
<button onclick="cp1.edit('cp-php','php')">PHP</button>
|
||||
<button onclick="cp1.edit('cp-javascript','javascript')">JavaScript</button>
|
||||
<button onclick="cp1.edit('cp-java','java')">Java</button>
|
||||
<button onclick="cp1.edit('cp-perl','perl')">Perl</button>
|
||||
<button onclick="cp1.edit('cp-sql','sql')">SQL</button>
|
||||
<button onclick="cp1.edit('cp-html','html')">HTML</button>
|
||||
<button onclick="cp1.edit('cp-css','css')">CSS</button>
|
||||
</div>
|
||||
|
||||
<textarea id="cp1" class="codepress php" style="width:700px;height:300px;" wrap="off">
|
||||
<?php
|
||||
// Very simple implementation of server side script
|
||||
|
||||
if(isset($_GET['file'])) {
|
||||
$file = basename($_GET['file']);
|
||||
$full_file = $path['server'].'/'.$path['webdocs'].'/'.$path['files']."/".$file;
|
||||
if(file_exists($full_file)) {
|
||||
$code = file_get_contents($full_file);
|
||||
$code = preg_replace("/>/","&gt;",$code);
|
||||
$code = preg_replace("/</","&lt;",$code);
|
||||
$language = getLanguage($file);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>CodePress - Real Time Syntax Highlighting Editor written in JavaScript</title>
|
||||
<link type="text/css" href="languages/codepress-<?=$language?>.css" rel="stylesheet" id="cp-lang-style" />
|
||||
<script type="text/javascript" src="codepress.js"></script>
|
||||
<script type="text/javascript">
|
||||
CodePress.language = '<?=$language?>';
|
||||
</script>
|
||||
</head>
|
||||
<body id="ffedt"><pre id="ieedt"><?=$code?></pre></body>
|
||||
</html>
|
||||
</textarea>
|
||||
|
||||
<br /><br />
|
||||
|
||||
<textarea id="codepress2" class="codepress javascript linenumbers-off" style="width:700px;height:200px;" wrap="off">
|
||||
//set language
|
||||
this.setLanguage = function() {
|
||||
if(arguments[0]) {
|
||||
language = (typeof(Content.languages[arguments[0]])!='undefined') ? arguments[0] : this.setLanguage();
|
||||
cpLanguage.innerHTML = Content.languages[language].name;
|
||||
if(cpBody.document.designMode=='on') cpBody.document.designMode = 'off';
|
||||
CodePress.loadScript(cpBody.document, '../languages/'+language+'.js', function () { cpBody.CodePress.syntaxHighlight('init'); })
|
||||
cpBody.document.getElementById('cp-lang-style').href = '../languages/'+language+'.css';
|
||||
this.hideMenu();
|
||||
}
|
||||
else {
|
||||
var extension = filename.replace(/.*\.([^\.]+)$/,'$1');
|
||||
var aux = false;
|
||||
for(lang in Content.languages) {
|
||||
extensions = ','+Content.languages[lang].extensions+',';
|
||||
if(extensions.match(','+extension+',')) aux = lang;
|
||||
}
|
||||
language = (aux) ? aux : 'generic';
|
||||
}
|
||||
}
|
||||
</textarea>
|
||||
|
||||
<p>
|
||||
<button class="actions" onclick="alert(codepress2.getCode())">get code from editor</button>
|
||||
<button class="actions" onclick="codepress2.toggleEditor()">turn on/off CodePress</button>
|
||||
<button class="actions" onclick="codepress2.toggleLineNumbers()">show/hide line numbers</button>
|
||||
<button class="actions" onclick="codepress2.toggleAutoComplete()">turn on/off auto-complete</button>
|
||||
<button class="actions" onclick="codepress2.toggleReadOnly()">turn on/off read only</button>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3>Installation</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<p>
|
||||
<a href="http://codepress.org/">Download</a> and uncompress CodePress under a directory inside your webserver.<br>
|
||||
Example:<strong> http://yourserver/codepress/</strong><br />
|
||||
Since CodePress is pure JavaScript and HTML, you can also test it without a webserver.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
Insert CodePress script somewhere in your page inside the <code><head></code> or above the <code></body></code> tag.
|
||||
</p>
|
||||
|
||||
<p class="copycode">
|
||||
<script src="/codepress/codepress.js" type="text/javascript"></script>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>
|
||||
Add the <code><textarea></code> tag to the place on your page you want CodePress to appear. CodePress will inherit the width and height of your textarea.
|
||||
When the page loads, it will automatically replace your textarea with a CodePress window.
|
||||
</p>
|
||||
<p class="copycode">
|
||||
<textarea id="myCpWindow" class="codepress javascript linenumbers-off"><br />
|
||||
// your code here<br />
|
||||
</textarea>
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
The <code>javascript</code> portion of the class="" means that the language being edited is JavaScript.
|
||||
</li>
|
||||
<li>
|
||||
The <code>codepress</code> portion of the class="" is mandatory and indicates a textarea to be replaced for a CodePress window.
|
||||
</li>
|
||||
<li>
|
||||
Other class options are <code>linenumbers-off</code>, <code>autocomplete-off</code> and <code>readonly-on</code>.
|
||||
</li>
|
||||
<li>
|
||||
Careful not to use the same id for two different CodePress windows (<code><textarea id="<strong>xx</strong>"...></code>)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h3>You also can...</h3>
|
||||
<ol>
|
||||
<li>
|
||||
Open/edit code from a different textarea.<br />
|
||||
Example: <code>textarea_id.edit('other_textarea_id','language')</code><br>
|
||||
</li>
|
||||
<li>
|
||||
Get code from CodePress window.<br />
|
||||
Example: <code>textarea_id.getCode()</code><br>
|
||||
</li>
|
||||
<li>
|
||||
Turn on/off CodePress editor and return to the regular textarea.<br />
|
||||
Example: <code>textarea_id.toggleEditor()</code><br>
|
||||
</li>
|
||||
<li>
|
||||
Turn on/off line numbers.<br />
|
||||
Example: <code>textarea_id.toggleLineNumbers()</code><br>
|
||||
</li>
|
||||
<li>
|
||||
Turn on/off read only.<br />
|
||||
Example: <code>textarea_id.toggleReadOnly()</code><br>
|
||||
</li>
|
||||
<li>
|
||||
Turn on/off auto-complete.<br />
|
||||
Example: <code>textarea_id.toggleAutoComplete()</code><br>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<!-- p>
|
||||
You may want to use [id].getCode() to get the content code from CodePress window and save it to your server since CodePress only edit files and do not save them.
|
||||
</p>
|
||||
<p>
|
||||
You may also want to open files from server. You'll have to write a server side script and replace the JavaScript call on codepress.js from codepress.html to codepress.php (if your server side language is PHP, of course).
|
||||
</p -->
|
||||
|
||||
<h3>License</h3>
|
||||
<p>
|
||||
CodePress is distributed under the <a href="http://www.opensource.org/licenses/lgpl-license.php">LGPL</a>. If your software is <a href="http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses">compatible</a> with this licence or it is under <a href="http://creativecommons.org/">Creative Commons</a>, you can use it as you want. Just keep the credits somewhere around.
|
||||
</p>
|
||||
|
||||
|
||||
</div><!--/container-->
|
||||
|
||||
|
||||
|
||||
<!-- hidden codes for loading -->
|
||||
<textarea id="cp-php" class="hidden-code">
|
||||
<?php
|
||||
// Very simple implementation of server side script
|
||||
|
||||
if(isset($_GET['file'])) {
|
||||
$file = basename($_GET['file']);
|
||||
$full_file = $path['server'].'/'.$path['webdocs'].'/'.$path['files']."/".$file;
|
||||
if(file_exists($full_file)) {
|
||||
$code = file_get_contents($full_file);
|
||||
$code = preg_replace("/>/","&gt;",$code);
|
||||
$code = preg_replace("/</","&lt;",$code);
|
||||
$language = getLanguage($file);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>CodePress - Real Time Syntax Highlighting Editor written in JavaScript</title>
|
||||
<link type="text/css" href="languages/codepress-<?=$language?>.css" rel="stylesheet" id="cp-lang-style" />
|
||||
<script type="text/javascript" src="codepress.js"></script>
|
||||
<script type="text/javascript">
|
||||
CodePress.language = '<?=$language?>';
|
||||
</script>
|
||||
</head>
|
||||
<body id="ffedt"><pre id="ieedt"><?=$code?></pre></body>
|
||||
</html>
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-javascript" class="hidden-code">
|
||||
CodePress = function(obj) {
|
||||
var self = document.createElement('iframe');
|
||||
self.textarea = obj;
|
||||
self.textarea.disabled = true;
|
||||
self.style.height = self.textarea.clientHeight +'px';
|
||||
self.style.width = self.textarea.clientWidth +'px';
|
||||
|
||||
self.initialize = function() {
|
||||
self.editor = self.contentWindow.CodePress;
|
||||
self.editor.body = self.contentWindow.document.getElementsByTagName('body')[0];
|
||||
self.editor.setCode(self.textarea.value);
|
||||
self.editor.syntaxHighlight('init');
|
||||
}
|
||||
|
||||
self.edit = function(id,language) {
|
||||
self.language = (language) ? language : self.textarea.className.replace(/ ?codepress ?/,'');
|
||||
self.src = cpPath+'modules/codepress.html?engine='+self.getEngine()+'&language='+self.language;
|
||||
if(self.attachEvent) self.attachEvent('onload',self.initialize);
|
||||
else self.addEventListener('load',self.initialize,false);
|
||||
}
|
||||
}
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-autoit" class="hidden-code">
|
||||
#include
|
||||
IsNumber(15)
|
||||
@Macro
|
||||
;comment
|
||||
$var = "string"
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-java" class="hidden-code">
|
||||
import java.io.FileFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
* Project ECCO - File manager class
|
||||
* @author Fernando M.A.d.S.
|
||||
*/
|
||||
public class FileManager extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static String login = "feanndor"; // session var should come here
|
||||
private static String usersPath = System.getProperty("user.dir")+File.separator+"htdocs"+File.separator+"ecco"+File.separator+"users"+File.separator;
|
||||
private static File dir = new File(usersPath+login+File.separator);
|
||||
static boolean existDirectories = false;
|
||||
static int isDirectory = 0;
|
||||
|
||||
public FileFilter filterFiles(File dir) {
|
||||
return (new FileFilter() {
|
||||
public boolean accept(File pathname) {
|
||||
return !(pathname.isDirectory());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-perl" class="hidden-code">
|
||||
#!/usr/bin/perl
|
||||
# The first line of the script envokes Perl
|
||||
|
||||
# Scalar variables
|
||||
$var1 = "Hello World";
|
||||
$var2 = 14.6;
|
||||
|
||||
# Array variables
|
||||
@arr1 = ("zero","one","two","three","four");
|
||||
|
||||
# Hash variable, or associative array
|
||||
%hash1 = ("one","Monday","two", "Tuesday","three", "Wednesday","four","Thursday");
|
||||
|
||||
# Some simple printing
|
||||
print $var1;
|
||||
|
||||
# Subroutine
|
||||
sub test() {
|
||||
print "ok";
|
||||
}
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-sql" class="hidden-code">
|
||||
--
|
||||
-- simple select example
|
||||
--
|
||||
SELECT * FROM books
|
||||
WHERE price > 100.00 and price < 150.00
|
||||
ORDER BY title
|
||||
|
||||
SELECT books.title, count(*) AS Authors
|
||||
FROM books
|
||||
JOIN book_authors
|
||||
ON books.book_number = book_authors.book_number
|
||||
GROUP BY books.title
|
||||
|
||||
-- insert, update and delete examples
|
||||
|
||||
INSERT INTO my_table (field1, field2, field3) VALUES ('test', 'N', NULL);
|
||||
|
||||
BEGIN WORK;
|
||||
UPDATE inventory SET quantity = quantity - 3 WHERE item = 'pants';
|
||||
COMMIT;
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-html" class="hidden-code">
|
||||
<html>
|
||||
<head>
|
||||
<title>CodePress - Online Real Time Syntax Highlighting Editor</title>
|
||||
|
||||
<style type="text/css">
|
||||
@import url(styles.css);
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function getCode() {
|
||||
alert(textWithoutHighlighting);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="logo">
|
||||
<h1><a href="http://codepress.org/">CodePress</a></h1>
|
||||
<h2>Online Real Time Syntax Highlighting Editor</h2>
|
||||
<img src="testimage.gif" />
|
||||
</div>
|
||||
<div id="languages">
|
||||
<em>choose language:</em>
|
||||
<button onclick="edit('codepress.php',this)" id="default">PHP</button>
|
||||
<button onclick="edit('FileManager.java',this)">Java</button>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</textarea>
|
||||
|
||||
<textarea id="cp-css" class="hidden-code">
|
||||
/* CSS comment */
|
||||
|
||||
body {
|
||||
color:#000;
|
||||
background-color:white;
|
||||
font:15px Georgia, "Lucida Grande", Arial, sans-serif;
|
||||
letter-spacing:0.01em;
|
||||
margin:15px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin:0 0 15px 0;
|
||||
}
|
||||
|
||||
a,a:visited {
|
||||
color:#7f0055;
|
||||
}
|
||||
|
||||
select {
|
||||
background:#ffffe1;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color:#7f0055;
|
||||
margin:0;
|
||||
padding:0;
|
||||
font-size:42px;
|
||||
}
|
||||
</textarea>
|
||||
|
||||
|
||||
<script src="codepress.js" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
71
thirdparty/tinymce-advcode/js/codepress/languages/asp.css
vendored
Normal file
71
thirdparty/tinymce-advcode/js/codepress/languages/asp.css
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* CodePress color styles for ASP-VB syntax highlighting
|
||||
* By Martin D. Kirk
|
||||
*/
|
||||
/* tags */
|
||||
|
||||
b {
|
||||
color:#000080;
|
||||
}
|
||||
/* comments */
|
||||
big, big b, big em, big ins, big s, strong i, strong i b, strong i s, strong i u, strong i a, strong i a u, strong i s u {
|
||||
color:gray;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* ASP comments */
|
||||
strong dfn, strong dfn a,strong dfn var, strong dfn a u, strong dfn u{
|
||||
color:gray;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* attributes */
|
||||
s, s b, span s u, span s cite, strong span s {
|
||||
color:#5656fa ;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* strings */
|
||||
strong s,strong s b, strong s u, strong s cite {
|
||||
color:#009900;
|
||||
font-weight:normal;
|
||||
}
|
||||
strong ins{
|
||||
color:#000000;
|
||||
font-weight:bold;
|
||||
}
|
||||
/* Syntax */
|
||||
strong a, strong a u {
|
||||
color:#0000FF;
|
||||
font-weight:;
|
||||
}
|
||||
/* Native Keywords */
|
||||
strong u {
|
||||
color:#990099;
|
||||
font-weight:bold;
|
||||
}
|
||||
/* Numbers */
|
||||
strong var{
|
||||
color:#FF0000;
|
||||
}
|
||||
/* ASP Language */
|
||||
span{
|
||||
color:#990000;
|
||||
font-weight:bold;
|
||||
}
|
||||
strong i,strong a i, strong u i {
|
||||
color:#009999;
|
||||
}
|
||||
/* style */
|
||||
em {
|
||||
color:#800080;
|
||||
font-style:normal;
|
||||
}
|
||||
/* script */
|
||||
ins {
|
||||
color:#800000;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* <?php and ?> */
|
||||
cite, s cite {
|
||||
color:red;
|
||||
font-weight:bold;
|
||||
}
|
117
thirdparty/tinymce-advcode/js/codepress/languages/asp.js
vendored
Normal file
117
thirdparty/tinymce-advcode/js/codepress/languages/asp.js
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
/*
|
||||
* CodePress regular expressions for ASP-vbscript syntax highlighting
|
||||
*/
|
||||
|
||||
// ASP VBScript
|
||||
Language.syntax = [
|
||||
// all tags
|
||||
{ input : /(<[^!%|!%@]*?>)/g, output : '<b>$1</b>' },
|
||||
// style tags
|
||||
{ input : /(<style.*?>)(.*?)(<\/style>)/g, output : '<em>$1</em><em>$2</em><em>$3</em>' },
|
||||
// script tags
|
||||
{ input : /(<script.*?>)(.*?)(<\/script>)/g, output : '<ins>$1</ins><ins>$2</ins><ins>$3</ins>' },
|
||||
// strings "" and attributes
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' },
|
||||
// ASP Comment
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<dfn>\'$1$2</dfn>'},
|
||||
// <%.*
|
||||
{ input : /(<%)/g, output : '<strong>$1' },
|
||||
// .*%>
|
||||
{ input : /(%>)/g, output : '$1</strong>' },
|
||||
// <%@...%>
|
||||
{ input : /(<%@)(.+?)(%>)/gi, output : '$1<span>$2</span>$3' },
|
||||
//Numbers
|
||||
{ input : /\b([\d]+)\b/g, output : '<var>$1</var>' },
|
||||
// Reserved Words 1 (Blue)
|
||||
{ input : /\b(And|As|ByRef|ByVal|Call|Case|Class|Const|Dim|Do|Each|Else|ElseIf|Empty|End|Eqv|Exit|False|For|Function)\b/gi, output : '<a>$1</a>' },
|
||||
{ input : /\b(Get|GoTo|If|Imp|In|Is|Let|Loop|Me|Mod|Enum|New|Next|Not|Nothing|Null|On|Option|Or|Private|Public|ReDim|Rem)\b/gi, output : '<a>$1</a>' },
|
||||
{ input : /\b(Resume|Select|Set|Stop|Sub|Then|To|True|Until|Wend|While|With|Xor|Execute|Randomize|Erase|ExecuteGlobal|Explicit|step)\b/gi, output : '<a>$1</a>' },
|
||||
// Reserved Words 2 (Purple)
|
||||
{ input : /\b(Abandon|Abs|AbsolutePage|AbsolutePosition|ActiveCommand|ActiveConnection|ActualSize|AddHeader|AddNew|AppendChunk)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(AppendToLog|Application|Array|Asc|Atn|Attributes|BeginTrans|BinaryRead|BinaryWrite|BOF|Bookmark|Boolean|Buffer|Byte)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(CacheControl|CacheSize|Cancel|CancelBatch|CancelUpdate|CBool|CByte|CCur|CDate|CDbl|Charset|Chr|CInt|Clear)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(ClientCertificate|CLng|Clone|Close|CodePage|CommandText|CommandType|CommandTimeout|CommitTrans|CompareBookmarks|ConnectionString|ConnectionTimeout)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Contents|ContentType|Cookies|Cos|CreateObject|CreateParameter|CSng|CStr|CursorLocation|CursorType|DataMember|DataSource|Date|DateAdd|DateDiff)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(DatePart|DateSerial|DateValue|Day|DefaultDatabase|DefinedSize|Delete|Description|Double|EditMode|Eof|EOF|err|Error)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Exp|Expires|ExpiresAbsolute|Filter|Find|Fix|Flush|Form|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(GetChunk|GetLastError|GetRows|GetString|Global|HelpContext|HelpFile|Hex|Hour|HTMLEncode|IgnoreCase|Index|InStr|InStrRev)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Int|Integer|IsArray|IsClientConnected|IsDate|IsolationLevel|Join|LBound|LCase|LCID|Left|Len|Lock|LockType|Log|Long|LTrim)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(MapPath|MarshalOptions|MaxRecords|Mid|Minute|Mode|Month|MonthName|Move|MoveFirst|MoveLast|MoveNext|MovePrevious|Name|NextRecordset)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Now|Number|NumericScale|ObjectContext|Oct|Open|OpenSchema|OriginalValue|PageCount|PageSize|Pattern|PICS|Precision|Prepared|Property)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Provider|QueryString|RecordCount|Redirect|RegExp|Remove|RemoveAll|Replace|Requery|Request|Response|Resync|Right|Rnd)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(RollbackTrans|RTrim|Save|ScriptTimeout|Second|Seek|Server|ServerVariables|Session|SessionID|SetAbort|SetComplete|Sgn)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Sin|Size|Sort|Source|Space|Split|Sqr|State|StaticObjects|Status|StayInSync|StrComp|String|StrReverse|Supports|Tan|Time)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Timeout|Timer|TimeSerial|TimeValue|TotalBytes|Transfer|Trim|Type|Type|UBound|UCase|UnderlyingValue|UnLock|Update|UpdateBatch)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(URLEncode|Value|Value|Version|Weekday|WeekdayName|Write|Year)\b/gi, output : '<u>$1</u>' },
|
||||
// Reserved Words 3 (Turquis)
|
||||
{ input : /\b(vbBlack|vbRed|vbGreen|vbYellow|vbBlue|vbMagenta|vbCyan|vbWhite|vbBinaryCompare|vbTextCompare)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbSunday|vbMonday|vbTuesday|vbWednesday|vbThursday|vbFriday|vbSaturday|vbUseSystemDayOfWeek)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbFirstJan1|vbFirstFourDays|vbFirstFullWeek|vbGeneralDate|vbLongDate|vbShortDate|vbLongTime|vbShortTime)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbObjectError|vbCr|VbCrLf|vbFormFeed|vbLf|vbNewLine|vbNullChar|vbNullString|vbTab|vbVerticalTab|vbUseDefault|vbTrue)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbFalse|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbDataObject|vbDecimal|vbByte|vbArray)\b/gi, output : '<i>$1</i>' },
|
||||
// html comments
|
||||
{ input : /(<!--.*?-->.)/g, output : '<big>$1</big>' }
|
||||
]
|
||||
|
||||
Language.Functions = [
|
||||
// Output at index 0, must be the desired tagname surrounding a $1
|
||||
// Name is the index from the regex that marks the functionname
|
||||
{input : /(function|sub)([ ]*?)(\w+)([ ]*?\()/gi , output : '<ins>$1</ins>', name : '$3'}
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
//Conditional
|
||||
{ input : 'if', output : 'If $0 Then\n\t\nEnd If' },
|
||||
{ input : 'ifelse', output : 'If $0 Then\n\t\n\nElse\n\t\nEnd If' },
|
||||
{ input : 'case', output : 'Select Case $0\n\tCase ?\n\tCase Else\nEnd Select'},
|
||||
//Response
|
||||
{ input : 'rw', output : 'Response.Write( $0 )' },
|
||||
{ input : 'resc', output : 'Response.Cookies( $0 )' },
|
||||
{ input : 'resb', output : 'Response.Buffer'},
|
||||
{ input : 'resflu', output : 'Response.Flush()'},
|
||||
{ input : 'resend', output : 'Response.End'},
|
||||
//Request
|
||||
{ input : 'reqc', output : 'Request.Cookies( $0 )' },
|
||||
{ input : 'rq', output : 'Request.Querystring("$0")' },
|
||||
{ input : 'rf', output : 'Request.Form("$0")' },
|
||||
//FSO
|
||||
{ input : 'fso', output : 'Set fso = Server.CreateObject("Scripting.FileSystemObject")\n$0' },
|
||||
{ input : 'setfo', output : 'Set fo = fso.getFolder($0)' },
|
||||
{ input : 'setfi', output : 'Set fi = fso.getFile($0)' },
|
||||
{ input : 'twr', output : 'Set f = fso.CreateTextFile($0,true)\'overwrite\nf.WriteLine()\nf.Close'},
|
||||
{ input : 'tre', output : 'Set f = fso.OpenTextFile($0, 1)\nf.ReadAll\nf.Close'},
|
||||
//Server
|
||||
{ input : 'mapp', output : 'Server.Mappath($0)' },
|
||||
//Loops
|
||||
{ input : 'foreach', output : 'For Each $0 in ?\n\t\nNext' },
|
||||
{ input : 'for', output : 'For $0 to ? step ?\n\t\nNext' },
|
||||
{ input : 'do', output : 'Do While($0)\n\t\nLoop' },
|
||||
{ input : 'untilrs', output : 'do until rs.eof\n\t\nrs.movenext\nloop' },
|
||||
//ADO
|
||||
{ input : 'adorec', output : 'Set rs = Server.CreateObject("ADODB.Recordset")' },
|
||||
{ input : 'adocon', output : 'Set Conn = Server.CreateObject("ADODB.Connection")' },
|
||||
{ input : 'adostr', output : 'Set oStr = Server.CreateObject("ADODB.Stream")' },
|
||||
//Http Request
|
||||
{ input : 'xmlhttp', output : 'Set xmlHttp = Server.CreateObject("Microsoft.XMLHTTP")\nxmlHttp.open("GET", $0, false)\nxmlHttp.send()\n?=xmlHttp.responseText' },
|
||||
{ input : 'xmldoc', output : 'Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")\nxmldoc.async=false\nxmldoc.load(request)'},
|
||||
//Functions
|
||||
{ input : 'func', output : 'Function $0()\n\t\n\nEnd Function'},
|
||||
{ input : 'sub', output : 'Sub $0()\n\t\nEnd Sub'}
|
||||
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
//{ input : '\'', output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = [
|
||||
{ input : '[space]', output : ' ' },
|
||||
{ input : '[enter]', output : '<br />' } ,
|
||||
{ input : '[j]', output : 'testing' },
|
||||
{ input : '[7]', output : '&' }
|
||||
]
|
13
thirdparty/tinymce-advcode/js/codepress/languages/autoit.css
vendored
Normal file
13
thirdparty/tinymce-advcode/js/codepress/languages/autoit.css
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* CodePress color styles for AutoIt syntax highlighting
|
||||
*/
|
||||
|
||||
u {font-style:normal;color:#000090;font-weight:bold;font-family:Monospace;}
|
||||
var {color:#AA0000;font-weight:bold;font-style:normal;}
|
||||
em {color:#FF33FF;}
|
||||
ins {color:#AC00A9;}
|
||||
i {color:#F000FF;}
|
||||
b {color:#FF0000;}
|
||||
a {color:#0080FF;font-weight:bold;}
|
||||
s, s u, s b {color:#9999CC;font-weight:normal;}
|
||||
cite, cite *{color:#009933;font-weight:normal;}
|
32
thirdparty/tinymce-advcode/js/codepress/languages/autoit.js
vendored
Normal file
32
thirdparty/tinymce-advcode/js/codepress/languages/autoit.js
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
/**
|
||||
* CodePress regular expressions for AutoIt syntax highlighting
|
||||
* @author: James Brooks, Michael HURNI
|
||||
*/
|
||||
|
||||
// AutoIt
|
||||
Language.syntax = [
|
||||
{ input : /({|}|\(|\))/g, output : '<b>$1</b>' }, // Brackets
|
||||
{ input : /(\*|\+|-)/g, output : '<b>$1</b>' }, // Operator
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : "<s>\"$1$2</s>" }, // strings double
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single
|
||||
{ input : /\b([\d]+)\b/g, output : '<ins>$1</ins>' }, // Numbers
|
||||
{ input : /#(.*?)(<br>|<\/P>)/g, output : '<i>#$1</i>$2' }, // Directives and Includes
|
||||
{ input : /(\$[\w\.]*)/g, output : '<var>$1</var>' }, // vars
|
||||
{ input : /(_[\w\.]*)/g, output : '<a>$1</a>' }, // underscored word
|
||||
{ input : /(\@[\w\.]*)/g, output : '<em>$1</em>' }, // Macros
|
||||
{ input : /\b(Abs|ACos|AdlibDisable|AdlibEnable|Asc|AscW|ASin|Assign|ATan|AutoItSetOption|AutoItWinGetTitle|AutoItWinSetTitle|Beep|Binary|BinaryLen|BinaryMid|BinaryToString|BitAND|BitNOT|BitOR|BitSHIFT|BitXOR|BlockInput|Break|Call|CDTray|Ceiling|Chr|ChrW|ClipGet|ClipPut|ConsoleRead|ConsoleWrite|ConsoleWriteError|ControlClick|ControlCommand|ControlDisable|ControlEnable|ControlFocus|ControlGetFocus|ControlGetHandle|ControlGetPos|ControlGetText|ControlHide|ControlListView|ControlMove|ControlSend|ControlSetText|ControlShow|Cos|Dec|DirCopy|DirCreate|DirGetSize|DirMove|DirRemove|DllCall|DllCall|DllClose|DllOpen|DllStructCreate|DllStructGetData|DllStructGetPtr|DllStructGetSize|DllStructSetData|DriveGetDrive|DriveGetFileSystem|DriveGetLabel|DriveGetSerial|DriveGetType|DriveMapAdd|DriveMapDel|DriveMapGet|DriveSetLabel|DriveSpaceFree|DriveSpaceTotal|DriveStatus|EnvGet|EnvSet|EnvUpdate|Eval|Execute|Exp|FileChangeDir|FileClose|FileCopy|FileCreateNTFS|FileCreateShortcut|FileDelete|FileExists|FileFindFirstFile|FileFindNextFile|FileGetAttrib|FileGetLongName|FileGetShortcut|FileGetShortName|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileOpen|FileOpenDialog|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileSaveDialog|FileSelectFolder|FileSetAttrib|FileSetTime|FileWrite|FileWriteLine|Floor|FtpSetProxy|GuiCreate|GuiCtrlCreateAvi|GuiCtrlCreateButton|GuiCtrlCreateCheckbox|GuiCtrlCreateCombo|GuiCtrlCreateContextMenu|GuiCtrlCreateDate|GuiCtrlCreateDummy|GuiCtrlCreateEdit|GuiCtrlCreateGraphic|GuiCtrlCreateGroup|GuiCtrlCreateIcon|GuiCtrlCreateInput|GuiCtrlCreateLabel|GuiCtrlCreateList|GuiCtrlCreateListView|GuiCtrlCreateListViewItem|GuiCtrlCreateMenu|GuiCtrlCreateMenuItem|GuiCtrlCreateMonthCal|GuiCtrlCreateObj|GuiCtrlCreatePic|GuiCtrlCreateProgress|GuiCtrlCreateRadio|GuiCtrlCreateSlider|GuiCtrlCreateTab|GuiCtrlCreateTabItem|GuiCtrlCreateUpdown|GuiCtrlDelete|GuiCtrlGetHandle|GuiCtrlGetState|GuiCtrlRead|GuiCtrlRecvMsg|GuiCtrlSentMsg|GuiCtrlSendToDummy|GuiCtrlSetBkColor|GuiCtrlSetColor|GuiCtrlSetCursor|GuiCtrlSetData|GuiCtrlSetFont|GuiCtrlSetGraphic|GuiCtrlSetImage|GuiCtrlSetLimit|GuiCtrlSetOnEvent|GuiCtrlSetPos|GuiCtrlResizing|GuiCtrlSetState|GuiCtrlSetTip|GuiDelete|GuiGetCursorInfo|GuiGetMsg|GuiGetStyle|GuiRegisterMsg|GuiSetBkColor|GuiSetCoord|GuiSetCursor|GuiSetFont|GuiSetHelp|GuiSetIcon|GuiSetOnEvent|GuiSetStat|GuiSetStyle|GuiStartGroup|GuiSwitch|Hex|HotKeySet|HttpSetProxy|HWnd|InetGet|InetGetSize|IniDelete|IniRead|IniReadSection|IniReadSectionNames|IniRenameSection|IniWrite|IniWriteSection|InputBox|Int|IsAdmin|IsArray|IsBinary|IsBool|IsDeclared|IsDllStruct|IsFloat|IsHWnd|IsInt|IsKeyword|IsNumber|IsObj|IsString|Log|MemGetStats|Mod|MouseClick|MouseClickDrag|MouseDown|MouseGetCursor|MouseGetPos|MouseMove|MouseUp|MouseWheel|MsgBox|Number|ObjCreate|ObjEvent|ObjGet|ObjName|Ping|PixelCheckSum|PixelGetColor|PixelSearch|ProcessClose|ProcessExists|ProcessList|ProcessSetPriority|ProcessWait|ProcessWaitClose|ProgressOff|ProcessOn|ProgressSet|Random|RegDelete|RegEnumKey|RegEnumVal|RegRead|RegWrite|Round|Run|RunAsSet|RunWait|Send|SetError|SetExtended|ShellExecute|ShellExecuteWait|Shutdown|Sin|Sleep|SoundPlay|SoundSetWaveVolume|SplashImageOn|SplashOff|SplashTextOn|Sqrt|SRandom|StatusbarGetText|StderrRead|StdinWrite|StdoutRead|String|StringAddCR|StringCompare|StringFormat|StringInStr|StringIsAlNum|StringIsAlpha|StringIsASCII|StringIsDigit|StringIsFloat|StringIsInt|StringIsLower|StringIsSpace|StringIsUpper|StringIsXDigit|StringLeft|StringLen|StringLower|StringMid|StringRegExp|StringRegExpReplace|StringReplace|StringRight|StringSplit|StringStripCR|StringStripWS|StringToBinary|StringTrimLeft|StringTrimRight|StringUpper|Tan|TCPAccept|TCPCloseSocket|TCPConnect|TCPListen|TCPNameToIP|TCPrecv|TCPSend|TCPShutdown|TCPStartup|TimerDiff|TimerInit|ToolTip|TrayCreateItem|TrayCreateMenu|TrayGetMenu|TrayGetMsg|TrayItemDelete|TrayItemGetHandle|TrayItemGetState|TrayItemGetText|TrayItemSetOnEvent|TrayItemSetState|TrayItemSetText|TraySetClick|TraySetIcon|TraySetOnEvent|TraySetPauseIcon|TraySetState|TraySetToolTip|TrayTip|UBound|UDPBind|UDPCloseSocket|UDPOpen|UDPRecv|UDPSend|WinActivate|WinActive|WinClose|WinExists|WinFlash|WinGetCaretPos|WinGetClassList|WinGetClientSize|WinGetHandle|WinGetPos|WinGetProcess|WinGetState|WinGetText|WinGetTitle|WinKill|WinList|WinMenuSelectItem|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinSetOnTop|WinSetState|WinSetTitle|WinSetTrans|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/g, output : '<u>$1</u>' } ,// reserved words
|
||||
{ input : /\B;(.*?)(<br>|<\/P>)/g, output : '<cite>;$1</cite>$2' }, // comments
|
||||
{ input : /#CS(.*?)#CE/g, output : '<cite>#CS$1#CE</cite>' } // Block Comments
|
||||
]
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
9
thirdparty/tinymce-advcode/js/codepress/languages/csharp.css
vendored
Normal file
9
thirdparty/tinymce-advcode/js/codepress/languages/csharp.css
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* CodePress color styles for Java syntax highlighting
|
||||
* By Edwin de Jonge
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;font-style:normal;} /* reserved words */
|
||||
a {color:#2A0088;font-weight:bold;font-style:normal;} /* types */
|
||||
i, i b, i s {color:#3F7F5F;font-weight:bold;} /* comments */
|
||||
s, s b {color:#2A00FF;font-weight:normal;} /* strings */
|
25
thirdparty/tinymce-advcode/js/codepress/languages/csharp.js
vendored
Normal file
25
thirdparty/tinymce-advcode/js/codepress/languages/csharp.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* CodePress regular expressions for C# syntax highlighting
|
||||
* By Edwin de Jonge
|
||||
*/
|
||||
|
||||
Language.syntax = [ // C#
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /\b(abstract|as|base|break|case|catch|checked|continue|default|delegate|do|else|event|explicit|extern|false|finally|fixed|for|foreach|get|goto|if|implicit|in|interface|internal|is|lock|namespace|new|null|object|operator|out|override|params|partial|private|protected|public|readonly|ref|return|set|sealed|sizeof|static|stackalloc|switch|this|throw|true|try|typeof|unchecked|unsafe|using|value|virtual|while)\b/g, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /\b(bool|byte|char|class|double|float|int|interface|long|string|struct|void)\b/g, output : '<a>$1</a>' }, // types
|
||||
{ input : /([^:]|^)\/\/(.*?)(<br|<\/P)/g, output : '$1<i>//$2</i>$3' }, // comments //
|
||||
{ input : /\/\*(.*?)\*\//g, output : '<i>/*$1*/</i>' } // comments /* */
|
||||
];
|
||||
|
||||
Language.snippets = [];
|
||||
|
||||
Language.complete = [ // Auto complete only for 1 character
|
||||
{input : '\'',output : '\'$0\'' },
|
||||
{input : '"', output : '"$0"' },
|
||||
{input : '(', output : '\($0\)' },
|
||||
{input : '[', output : '\[$0\]' },
|
||||
{input : '{', output : '{\n\t$0\n}' }
|
||||
];
|
||||
|
||||
Language.shortcuts = [];
|
10
thirdparty/tinymce-advcode/js/codepress/languages/css.css
vendored
Normal file
10
thirdparty/tinymce-advcode/js/codepress/languages/css.css
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* CodePress color styles for CSS syntax highlighting
|
||||
*/
|
||||
|
||||
b, b a, b u {color:#000080;} /* tags, ids, classes */
|
||||
i, i b, i s, i a, i u {color:gray;} /* comments */
|
||||
s, s b {color:#a0a0dd;} /* parameters */
|
||||
a {color:#0000ff;} /* keys */
|
||||
u {color:red;} /* values */
|
||||
|
23
thirdparty/tinymce-advcode/js/codepress/languages/css.js
vendored
Normal file
23
thirdparty/tinymce-advcode/js/codepress/languages/css.js
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* CodePress regular expressions for CSS syntax highlighting
|
||||
*/
|
||||
|
||||
// CSS
|
||||
Language.syntax = [
|
||||
{ input : /(.*?){(.*?)}/g,output : '<b>$1</b>{<u>$2</u>}' }, // tags, ids, classes, values
|
||||
{ input : /([\w-]*?):([^\/])/g,output : '<a>$1</a>:$2' }, // keys
|
||||
{ input : /\((.*?)\)/g,output : '(<s>$1</s>)' }, // parameters
|
||||
{ input : /\/\*(.*?)\*\//g,output : '<i>/*$1*/</i>'} // comments
|
||||
]
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
9
thirdparty/tinymce-advcode/js/codepress/languages/generic.css
vendored
Normal file
9
thirdparty/tinymce-advcode/js/codepress/languages/generic.css
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* CodePress color styles for generic syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;} /* reserved words */
|
||||
u {color:darkblue;font-weight:bold;} /* special words */
|
||||
i, i b, i s, i u, i em {color:green;font-weight:normal;} /* comments */
|
||||
s, s b, s em {color:#2A00FF;font-weight:normal;} /* strings */
|
||||
em {font-weight:bold;} /* special chars */
|
25
thirdparty/tinymce-advcode/js/codepress/languages/generic.js
vendored
Normal file
25
thirdparty/tinymce-advcode/js/codepress/languages/generic.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* CodePress regular expressions for generic syntax highlighting
|
||||
*/
|
||||
|
||||
// generic languages
|
||||
Language.syntax = [
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /\b(abstract|continue|for|new|switch|default|goto|boolean|do|if|private|this|break|double|protected|throw|byte|else|import|public|throws|case|return|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|const|float|while|function|label)\b/g, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /([\(\){}])/g, output : '<em>$1</em>' }, // special chars;
|
||||
{ input : /([^:]|^)\/\/(.*?)(<br|<\/P)/g, output : '$1<i>//$2</i>$3' }, // comments //
|
||||
{ input : /\/\*(.*?)\*\//g, output : '<i>/*$1*/</i>' } // comments /* */
|
||||
]
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'', output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
13
thirdparty/tinymce-advcode/js/codepress/languages/html.css
vendored
Normal file
13
thirdparty/tinymce-advcode/js/codepress/languages/html.css
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
/*
|
||||
* CodePress color styles for HTML syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#000080;} /* tags */
|
||||
ins, ins b, ins s, ins em {color:gray;} /* comments */
|
||||
s, s b {color:#7777e4;} /* attribute values */
|
||||
a {color:green;} /* links */
|
||||
u {color:#E67300;} /* forms */
|
||||
big {color:#db0000;} /* images */
|
||||
em, em b {color:#800080;} /* style */
|
||||
strong {color:#800000;} /* script */
|
||||
tt i {color:darkblue;font-weight:bold;} /* script reserved words */
|
59
thirdparty/tinymce-advcode/js/codepress/languages/html.js
vendored
Normal file
59
thirdparty/tinymce-advcode/js/codepress/languages/html.js
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* CodePress regular expressions for HTML syntax highlighting
|
||||
*/
|
||||
|
||||
// HTML
|
||||
Language.syntax = [
|
||||
{ input : /(<[^!]*?>)/g, output : '<b>$1</b>' }, // all tags
|
||||
{ input : /(<a .*?>|<\/a>)/g, output : '<a>$1</a>' }, // links
|
||||
{ input : /(<img .*?>)/g, output : '<big>$1</big>' }, // images
|
||||
{ input : /(<\/?(button|textarea|form|input|select|option|label).*?>)/g, output : '<u>$1</u>' }, // forms
|
||||
{ input : /(<style.*?>)(.*?)(<\/style>)/g, output : '<em>$1</em><em>$2</em><em>$3</em>' }, // style tags
|
||||
{ input : /(<script.*?>)(.*?)(<\/script>)/g, output : '<strong>$1</strong><tt>$2</tt><strong>$3</strong>' }, // script tags
|
||||
{ input : /=(".*?")/g, output : '=<s>$1</s>' }, // atributes double quote
|
||||
{ input : /=('.*?')/g, output : '=<s>$1</s>' }, // atributes single quote
|
||||
{ input : /(<!--.*?-->.)/g, output : '<ins>$1</ins>' }, // comments
|
||||
{ input : /\b(alert|window|document|break|continue|do|for|new|this|void|case|default|else|function|return|typeof|while|if|label|switch|var|with|catch|boolean|int|try|false|throws|null|true|goto)\b/g, output : '<i>$1</i>' } // script reserved words
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
{ input : 'aref', output : '<a href="$0"></a>' },
|
||||
{ input : 'h1', output : '<h1>$0</h1>' },
|
||||
{ input : 'h2', output : '<h2>$0</h2>' },
|
||||
{ input : 'h3', output : '<h3>$0</h3>' },
|
||||
{ input : 'h4', output : '<h4>$0</h4>' },
|
||||
{ input : 'h5', output : '<h5>$0</h5>' },
|
||||
{ input : 'h6', output : '<h6>$0</h6>' },
|
||||
{ input : 'html', output : '<html>\n\t$0\n</html>' },
|
||||
{ input : 'head', output : '<head>\n\t<meta http-equiv="content-type" content="text/html; charset=utf-8" />\n\t<title>$0</title>\n\t\n</head>' },
|
||||
{ input : 'img', output : '<img src="$0" alt="" />' },
|
||||
{ input : 'input', output : '<input name="$0" id="" type="" value="" />' },
|
||||
{ input : 'label', output : '<label for="$0"></label>' },
|
||||
{ input : 'legend', output : '<legend>\n\t$0\n</legend>' },
|
||||
{ input : 'link', output : '<link rel="stylesheet" href="$0" type="text/css" media="screen" charset="utf-8" />' },
|
||||
{ input : 'base', output : '<base href="$0" />' },
|
||||
{ input : 'body', output : '<body>\n\t$0\n</body>' },
|
||||
{ input : 'css', output : '<link rel="stylesheet" href="$0" type="text/css" media="screen" charset="utf-8" />' },
|
||||
{ input : 'div', output : '<div>\n\t$0\n</div>' },
|
||||
{ input : 'divid', output : '<div id="$0">\n\t\n</div>' },
|
||||
{ input : 'dl', output : '<dl>\n\t<dt>\n\t\t$0\n\t</dt>\n\t<dd></dd>\n</dl>' },
|
||||
{ input : 'fieldset', output : '<fieldset>\n\t$0\n</fieldset>' },
|
||||
{ input : 'form', output : '<form action="$0" method="" name="">\n\t\n</form>' },
|
||||
{ input : 'meta', output : '<meta name="$0" content="" />' },
|
||||
{ input : 'p', output : '<p>$0</p>' },
|
||||
{ input : 'script', output : '<script type="text/javascript" language="javascript" charset="utf-8">\n\t$0\t\n</script>' },
|
||||
{ input : 'scriptsrc', output : '<script src="$0" type="text/javascript" language="javascript" charset="utf-8"></script>' },
|
||||
{ input : 'span', output : '<span>$0</span>' },
|
||||
{ input : 'table', output : '<table border="$0" cellspacing="" cellpadding="">\n\t<tr><th></th></tr>\n\t<tr><td></td></tr>\n</table>' },
|
||||
{ input : 'style', output : '<style type="text/css" media="screen">\n\t$0\n</style>' }
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
7
thirdparty/tinymce-advcode/js/codepress/languages/java.css
vendored
Normal file
7
thirdparty/tinymce-advcode/js/codepress/languages/java.css
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/*
|
||||
* CodePress color styles for Java syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;font-style:normal;} /* reserved words */
|
||||
i, i b, i s {color:#3F7F5F;font-weight:bold;} /* comments */
|
||||
s, s b {color:#2A00FF;font-weight:normal;} /* strings */
|
24
thirdparty/tinymce-advcode/js/codepress/languages/java.js
vendored
Normal file
24
thirdparty/tinymce-advcode/js/codepress/languages/java.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* CodePress regular expressions for Java syntax highlighting
|
||||
*/
|
||||
|
||||
// Java
|
||||
Language.syntax = [
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>'}, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>'}, // strings single quote
|
||||
{ input : /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/g, output : '<b>$1</b>'}, // reserved words
|
||||
{ input : /([^:]|^)\/\/(.*?)(<br|<\/P)/g, output : '$1<i>//$2</i>$3'}, // comments //
|
||||
{ input : /\/\*(.*?)\*\//g, output : '<i>/*$1*/</i>' }// comments /* */
|
||||
]
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
8
thirdparty/tinymce-advcode/js/codepress/languages/javascript.css
vendored
Normal file
8
thirdparty/tinymce-advcode/js/codepress/languages/javascript.css
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/*
|
||||
* CodePress color styles for JavaScript syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;} /* reserved words */
|
||||
u {color:darkblue;font-weight:bold;} /* special words */
|
||||
i, i b, i s, i u {color:green;font-weight:normal;} /* comments */
|
||||
s, s b, s u {color:#2A00FF;font-weight:normal;} /* strings */
|
30
thirdparty/tinymce-advcode/js/codepress/languages/javascript.js
vendored
Normal file
30
thirdparty/tinymce-advcode/js/codepress/languages/javascript.js
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* CodePress regular expressions for JavaScript syntax highlighting
|
||||
*/
|
||||
|
||||
// JavaScript
|
||||
Language.syntax = [
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /\b(break|continue|do|for|new|this|void|case|default|else|function|return|typeof|while|if|label|switch|var|with|catch|boolean|int|try|false|throws|null|true|goto)\b/g, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /\b(alert|isNaN|parent|Array|parseFloat|parseInt|blur|clearTimeout|prompt|prototype|close|confirm|length|Date|location|Math|document|element|name|self|elements|setTimeout|navigator|status|String|escape|Number|submit|eval|Object|event|onblur|focus|onerror|onfocus|onclick|top|onload|toString|onunload|unescape|open|valueOf|window|onmouseover)\b/g, output : '<u>$1</u>' }, // special words
|
||||
{ input : /([^:]|^)\/\/(.*?)(<br|<\/P)/g, output : '$1<i>//$2</i>$3' }, // comments //
|
||||
{ input : /\/\*(.*?)\*\//g, output : '<i>/*$1*/</i>' } // comments /* */
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
{ input : 'dw', output : 'document.write(\'$0\');' },
|
||||
{ input : 'getid', output : 'document.getElementById(\'$0\')' },
|
||||
{ input : 'fun', output : 'function $0(){\n\t\n}' },
|
||||
{ input : 'func', output : 'function $0(){\n\t\n}' }
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
11
thirdparty/tinymce-advcode/js/codepress/languages/perl.css
vendored
Normal file
11
thirdparty/tinymce-advcode/js/codepress/languages/perl.css
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* CodePress color styles for Perl syntax highlighting
|
||||
* By J. Nick Koston
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;} /* reserved words */
|
||||
i, i b, i s, i em, i a, i u {color:gray;font-weight:normal;} /* comments */
|
||||
s, s b, s a, s em, s u {color:#2A00FF;font-weight:normal;} /* strings */
|
||||
a {color:#006700;font-weight:bold;} /* variables */
|
||||
em {color:darkblue;font-weight:bold;} /* functions */
|
||||
u {font-weight:bold;} /* special chars */
|
27
thirdparty/tinymce-advcode/js/codepress/languages/perl.js
vendored
Normal file
27
thirdparty/tinymce-advcode/js/codepress/languages/perl.js
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* CodePress regular expressions for Perl syntax highlighting
|
||||
* By J. Nick Koston
|
||||
*/
|
||||
|
||||
// Perl
|
||||
Language.syntax = [
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /([\$\@\%][\w\.]*)/g, output : '<a>$1</a>' }, // vars
|
||||
{ input : /(sub\s+)([\w\.]*)/g, output : '$1<em>$2</em>' }, // functions
|
||||
{ input : /\b(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|else|elsif|endgrent|endhostent|endnetent|endprotoent|endpwent|eof|eval|exec|exists|exit|fcntl|fileno|find|flock|for|foreach|fork|format|formlinegetc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyaddr|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|hostname|if|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|LoadExternals|local|localtime|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ordpack|package|pipe|pop|pos|print|printf|push|pwd|qq|quotemeta|qw|rand|read|readdir|readlink|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|stty|study|sub|substr|symlink|syscall|sysopen|sysread|system|syswritetell|telldir|tie|tied|time|times|tr|truncate|uc|ucfirst|umask|undef|unless|unlink|until|unpack|unshift|untie|use|utime|values|vec|waitpid|wantarray|warn|while|write)\b/g, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /([\(\){}])/g, output : '<u>$1</u>' }, // special chars
|
||||
{ input : /#(.*?)(<br>|<\/P>)/g, output : '<i>#$1</i>$2' } // comments
|
||||
]
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
12
thirdparty/tinymce-advcode/js/codepress/languages/php.css
vendored
Normal file
12
thirdparty/tinymce-advcode/js/codepress/languages/php.css
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* CodePress color styles for PHP syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#000080;} /* tags */
|
||||
big, big b, big em, big ins, big s, strong i, strong i b, strong i s, strong i u, strong i a, strong i a u, strong i s u {color:gray;font-weight:normal;} /* comments */
|
||||
s, s b, strong s u, strong s cite {color:#5656fa;font-weight:normal;} /* attributes and strings */
|
||||
strong a, strong a u {color:#006700;font-weight:bold;} /* variables */
|
||||
em {color:#800080;font-style:normal;} /* style */
|
||||
ins {color:#800000;} /* script */
|
||||
strong u {color:#7F0055;font-weight:bold;} /* reserved words */
|
||||
cite, s cite {color:red;font-weight:bold;} /* <?php and ?> */
|
61
thirdparty/tinymce-advcode/js/codepress/languages/php.js
vendored
Normal file
61
thirdparty/tinymce-advcode/js/codepress/languages/php.js
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* CodePress regular expressions for PHP syntax highlighting
|
||||
*/
|
||||
|
||||
// PHP
|
||||
Language.syntax = [
|
||||
{ input : /(<[^!\?]*?>)/g, output : '<b>$1</b>' }, // all tags
|
||||
{ input : /(<style.*?>)(.*?)(<\/style>)/g, output : '<em>$1</em><em>$2</em><em>$3</em>' }, // style tags
|
||||
{ input : /(<script.*?>)(.*?)(<\/script>)/g, output : '<ins>$1</ins><ins>$2</ins><ins>$3</ins>' }, // script tags
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>'}, // strings single quote
|
||||
{ input : /(<\?)/g, output : '<strong>$1' }, // <?.*
|
||||
{ input : /(\?>)/g, output : '$1</strong>' }, // .*?>
|
||||
{ input : /(<\?php|<\?=|<\?|\?>)/g, output : '<cite>$1</cite>' }, // php tags
|
||||
{ input : /(\$[\w\.]*)/g, output : '<a>$1</a>' }, // vars
|
||||
{ input : /\b(false|true|and|or|xor|__FILE__|exception|__LINE__|array|as|break|case|class|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|for|foreach|function|global|if|include|include_once|isset|list|new|print|require|require_once|return|static|switch|unset|use|while|__FUNCTION__|__CLASS__|__METHOD__|final|php_user_filter|interface|implements|extends|public|private|protected|abstract|clone|try|catch|throw|this)\b/g, output : '<u>$1</u>' }, // reserved words
|
||||
{ input : /([^:])\/\/(.*?)(<br|<\/P)/g, output : '$1<i>//$2</i>$3' }, // php comments //
|
||||
{ input : /([^:])#(.*?)(<br|<\/P)/g, output : '$1<i>#$2</i>$3' }, // php comments #
|
||||
{ input : /\/\*(.*?)\*\//g, output : '<i>/*$1*/</i>' }, // php comments /* */
|
||||
{ input : /(<!--.*?-->.)/g, output : '<big>$1</big>' } // html comments
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
{ input : 'if', output : 'if($0){\n\t\n}' },
|
||||
{ input : 'ifelse', output : 'if($0){\n\t\n}\nelse{\n\t\n}' },
|
||||
{ input : 'else', output : '}\nelse {\n\t' },
|
||||
{ input : 'elseif', output : '}\nelseif($0) {\n\t' },
|
||||
{ input : 'do', output : 'do{\n\t$0\n}\nwhile();' },
|
||||
{ input : 'inc', output : 'include_once("$0");' },
|
||||
{ input : 'fun', output : 'function $0(){\n\t\n}' },
|
||||
{ input : 'func', output : 'function $0(){\n\t\n}' },
|
||||
{ input : 'while', output : 'while($0){\n\t\n}' },
|
||||
{ input : 'for', output : 'for($0,,){\n\t\n}' },
|
||||
{ input : 'fore', output : 'foreach($0 as ){\n\t\n}' },
|
||||
{ input : 'foreach', output : 'foreach($0 as ){\n\t\n}' },
|
||||
{ input : 'echo', output : 'echo \'$0\';' },
|
||||
{ input : 'switch', output : 'switch($0) {\n\tcase "": break;\n\tdefault: ;\n}' },
|
||||
{ input : 'case', output : 'case "$0" : break;' },
|
||||
{ input : 'ret0', output : 'return false;' },
|
||||
{ input : 'retf', output : 'return false;' },
|
||||
{ input : 'ret1', output : 'return true;' },
|
||||
{ input : 'rett', output : 'return true;' },
|
||||
{ input : 'ret', output : 'return $0;' },
|
||||
{ input : 'def', output : 'define(\'$0\',\'\');' },
|
||||
{ input : '<?', output : 'php\n$0\n?>' }
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'', output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = [
|
||||
{ input : '[space]', output : ' ' },
|
||||
{ input : '[enter]', output : '<br />' } ,
|
||||
{ input : '[j]', output : 'testing' },
|
||||
{ input : '[7]', output : '&' }
|
||||
]
|
10
thirdparty/tinymce-advcode/js/codepress/languages/ruby.css
vendored
Normal file
10
thirdparty/tinymce-advcode/js/codepress/languages/ruby.css
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* CodePress color styles for Ruby syntax highlighting
|
||||
*/
|
||||
|
||||
b {color:#7F0055;font-weight:bold;} /* reserved words */
|
||||
i, i b, i s, i em, i a, i u {color:gray;font-weight:normal;} /* comments */
|
||||
s, s b, s a, s em, s u {color:#2A00FF;font-weight:normal;} /* strings */
|
||||
a {color:#006700;font-weight:bold;} /* variables */
|
||||
em {color:darkblue;font-weight:bold;} /* functions */
|
||||
u {font-weight:bold;} /* special chars */
|
26
thirdparty/tinymce-advcode/js/codepress/languages/ruby.js
vendored
Normal file
26
thirdparty/tinymce-advcode/js/codepress/languages/ruby.js
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* CodePress regular expressions for Perl syntax highlighting
|
||||
*/
|
||||
|
||||
// Ruby
|
||||
Language.syntax = [
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' }, // strings double quote
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /([\$\@\%]+)([\w\.]*)/g, output : '<a>$1$2</a>' }, // vars
|
||||
{ input : /(def\s+)([\w\.]*)/g, output : '$1<em>$2</em>' }, // functions
|
||||
{ input : /\b(alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\b/g, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /([\(\){}])/g, output : '<u>$1</u>' }, // special chars
|
||||
{ input : /#(.*?)(<br>|<\/P>)/g, output : '<i>#$1</i>$2' } // comments
|
||||
];
|
||||
|
||||
Language.snippets = []
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'',output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
10
thirdparty/tinymce-advcode/js/codepress/languages/sql.css
vendored
Normal file
10
thirdparty/tinymce-advcode/js/codepress/languages/sql.css
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* CodePress color styles for SQL syntax highlighting
|
||||
* By Merlin Moncure
|
||||
*/
|
||||
|
||||
b {color:#0000FF;font-style:normal;font-weight:bold;} /* reserved words */
|
||||
u {color:#FF0000;font-style:normal;} /* types */
|
||||
a {color:#CD6600;font-style:normal;font-weight:bold;} /* commands */
|
||||
i, i b, i u, i a, i s {color:#A9A9A9;font-weight:normal;font-style:italic;} /* comments */
|
||||
s, s b, s u, s a, s i {color:#2A00FF;font-weight:normal;} /* strings */
|
30
thirdparty/tinymce-advcode/js/codepress/languages/sql.js
vendored
Normal file
30
thirdparty/tinymce-advcode/js/codepress/languages/sql.js
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* CodePress regular expressions for SQL syntax highlighting
|
||||
* By Merlin Moncure
|
||||
*/
|
||||
|
||||
// SQL
|
||||
Language.syntax = [
|
||||
{ input : /\'(.*?)(\')/g, output : '<s>\'$1$2</s>' }, // strings single quote
|
||||
{ input : /\b(add|after|aggregate|alias|all|and|as|authorization|between|by|cascade|cache|cache|called|case|check|column|comment|constraint|createdb|createuser|cycle|database|default|deferrable|deferred|diagnostics|distinct|domain|each|else|elseif|elsif|encrypted|except|exception|for|foreign|from|from|full|function|get|group|having|if|immediate|immutable|in|increment|initially|increment|index|inherits|inner|input|intersect|into|invoker|is|join|key|language|left|like|limit|local|loop|match|maxvalue|minvalue|natural|nextval|no|nocreatedb|nocreateuser|not|null|of|offset|oids|on|only|operator|or|order|outer|owner|partial|password|perform|plpgsql|primary|record|references|replace|restrict|return|returns|right|row|rule|schema|security|sequence|session|sql|stable|statistics|table|temp|temporary|then|time|to|transaction|trigger|type|unencrypted|union|unique|user|using|valid|value|values|view|volatile|when|where|with|without|zone)\b/gi, output : '<b>$1</b>' }, // reserved words
|
||||
{ input : /\b(bigint|bigserial|bit|boolean|box|bytea|char|character|cidr|circle|date|decimal|double|float4|float8|inet|int2|int4|int8|integer|interval|line|lseg|macaddr|money|numeric|oid|path|point|polygon|precision|real|refcursor|serial|serial4|serial8|smallint|text|timestamp|varbit|varchar)\b/gi, output : '<u>$1</u>' }, // types
|
||||
{ input : /\b(abort|alter|analyze|begin|checkpoint|close|cluster|comment|commit|copy|create|deallocate|declare|delete|drop|end|execute|explain|fetch|grant|insert|listen|load|lock|move|notify|prepare|reindex|reset|restart|revoke|rollback|select|set|show|start|truncate|unlisten|update)\b/gi, output : '<a>$1</a>' }, // commands
|
||||
{ input : /([^:]|^)\-\-(.*?)(<br|<\/P)/g, output: '$1<i>--$2</i>$3' } // comments //
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
{ input : 'select', output : 'select $0 from where ' }
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
{ input : '\'', output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = []
|
||||
|
||||
|
||||
|
5
thirdparty/tinymce-advcode/js/codepress/languages/text.css
vendored
Normal file
5
thirdparty/tinymce-advcode/js/codepress/languages/text.css
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
/*
|
||||
* CodePress color styles for Text syntax highlighting
|
||||
*/
|
||||
|
||||
/* do nothing as expected */
|
9
thirdparty/tinymce-advcode/js/codepress/languages/text.js
vendored
Normal file
9
thirdparty/tinymce-advcode/js/codepress/languages/text.js
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* CodePress regular expressions for Text syntax highlighting
|
||||
*/
|
||||
|
||||
// plain text
|
||||
Language.syntax = []
|
||||
Language.snippets = []
|
||||
Language.complete = []
|
||||
Language.shortcuts = []
|
71
thirdparty/tinymce-advcode/js/codepress/languages/vbscript.css
vendored
Normal file
71
thirdparty/tinymce-advcode/js/codepress/languages/vbscript.css
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* CodePress color styles for ASP-VB syntax highlighting
|
||||
* By Martin D. Kirk
|
||||
*/
|
||||
|
||||
/* tags */
|
||||
b {
|
||||
color:#000080;
|
||||
}
|
||||
/* comments */
|
||||
big, big b, big em, big ins, big s, strong i, strong i b, strong i s, strong i u, strong i a, strong i a u, strong i s u {
|
||||
color:gray;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* ASP comments */
|
||||
strong dfn, strong dfn a,strong dfn var, strong dfn a u, strong dfn u{
|
||||
color:gray;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* attributes */
|
||||
s, s b, span s u, span s cite, strong span s {
|
||||
color:#5656fa ;
|
||||
font-weight:normal;
|
||||
}
|
||||
/* strings */
|
||||
strong s,strong s b, strong s u, strong s cite {
|
||||
color:#009900;
|
||||
font-weight:normal;
|
||||
}
|
||||
strong ins{
|
||||
color:#000000;
|
||||
font-weight:bold;
|
||||
}
|
||||
/* Syntax */
|
||||
strong a, strong a u {
|
||||
color:#0000FF;
|
||||
font-weight:;
|
||||
}
|
||||
/* Native Keywords */
|
||||
strong u {
|
||||
color:#990099;
|
||||
font-weight:bold;
|
||||
}
|
||||
/* Numbers */
|
||||
strong var{
|
||||
color:#FF0000;
|
||||
}
|
||||
/* ASP Language */
|
||||
span{
|
||||
color:#990000;
|
||||
font-weight:bold;
|
||||
}
|
||||
strong i,strong a i, strong u i {
|
||||
color:#009999;
|
||||
}
|
||||
/* style */
|
||||
em {
|
||||
color:#800080;
|
||||
font-style:normal;
|
||||
}
|
||||
/* script */
|
||||
ins {
|
||||
color:#800000;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* <?php and ?> */
|
||||
cite, s cite {
|
||||
color:red;
|
||||
font-weight:bold;
|
||||
}
|
117
thirdparty/tinymce-advcode/js/codepress/languages/vbscript.js
vendored
Normal file
117
thirdparty/tinymce-advcode/js/codepress/languages/vbscript.js
vendored
Normal file
@ -0,0 +1,117 @@
|
||||
/*
|
||||
* CodePress regular expressions for ASP-vbscript syntax highlighting
|
||||
*/
|
||||
|
||||
// ASP VBScript
|
||||
Language.syntax = [
|
||||
// all tags
|
||||
{ input : /(<[^!%|!%@]*?>)/g, output : '<b>$1</b>' },
|
||||
// style tags
|
||||
{ input : /(<style.*?>)(.*?)(<\/style>)/g, output : '<em>$1</em><em>$2</em><em>$3</em>' },
|
||||
// script tags
|
||||
{ input : /(<script.*?>)(.*?)(<\/script>)/g, output : '<ins>$1</ins><ins>$2</ins><ins>$3</ins>' },
|
||||
// strings "" and attributes
|
||||
{ input : /\"(.*?)(\"|<br>|<\/P>)/g, output : '<s>"$1$2</s>' },
|
||||
// ASP Comment
|
||||
{ input : /\'(.*?)(\'|<br>|<\/P>)/g, output : '<dfn>\'$1$2</dfn>'},
|
||||
// <%.*
|
||||
{ input : /(<%)/g, output : '<strong>$1' },
|
||||
// .*%>
|
||||
{ input : /(%>)/g, output : '$1</strong>' },
|
||||
// <%@...%>
|
||||
{ input : /(<%@)(.+?)(%>)/gi, output : '$1<span>$2</span>$3' },
|
||||
//Numbers
|
||||
{ input : /\b([\d]+)\b/g, output : '<var>$1</var>' },
|
||||
// Reserved Words 1 (Blue)
|
||||
{ input : /\b(And|As|ByRef|ByVal|Call|Case|Class|Const|Dim|Do|Each|Else|ElseIf|Empty|End|Eqv|Exit|False|For|Function)\b/gi, output : '<a>$1</a>' },
|
||||
{ input : /\b(Get|GoTo|If|Imp|In|Is|Let|Loop|Me|Mod|Enum|New|Next|Not|Nothing|Null|On|Option|Or|Private|Public|ReDim|Rem)\b/gi, output : '<a>$1</a>' },
|
||||
{ input : /\b(Resume|Select|Set|Stop|Sub|Then|To|True|Until|Wend|While|With|Xor|Execute|Randomize|Erase|ExecuteGlobal|Explicit|step)\b/gi, output : '<a>$1</a>' },
|
||||
// Reserved Words 2 (Purple)
|
||||
{ input : /\b(Abandon|Abs|AbsolutePage|AbsolutePosition|ActiveCommand|ActiveConnection|ActualSize|AddHeader|AddNew|AppendChunk)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(AppendToLog|Application|Array|Asc|Atn|Attributes|BeginTrans|BinaryRead|BinaryWrite|BOF|Bookmark|Boolean|Buffer|Byte)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(CacheControl|CacheSize|Cancel|CancelBatch|CancelUpdate|CBool|CByte|CCur|CDate|CDbl|Charset|Chr|CInt|Clear)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(ClientCertificate|CLng|Clone|Close|CodePage|CommandText|CommandType|CommandTimeout|CommitTrans|CompareBookmarks|ConnectionString|ConnectionTimeout)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Contents|ContentType|Cookies|Cos|CreateObject|CreateParameter|CSng|CStr|CursorLocation|CursorType|DataMember|DataSource|Date|DateAdd|DateDiff)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(DatePart|DateSerial|DateValue|Day|DefaultDatabase|DefinedSize|Delete|Description|Double|EditMode|Eof|EOF|err|Error)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Exp|Expires|ExpiresAbsolute|Filter|Find|Fix|Flush|Form|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(GetChunk|GetLastError|GetRows|GetString|Global|HelpContext|HelpFile|Hex|Hour|HTMLEncode|IgnoreCase|Index|InStr|InStrRev)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Int|Integer|IsArray|IsClientConnected|IsDate|IsolationLevel|Join|LBound|LCase|LCID|Left|Len|Lock|LockType|Log|Long|LTrim)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(MapPath|MarshalOptions|MaxRecords|Mid|Minute|Mode|Month|MonthName|Move|MoveFirst|MoveLast|MoveNext|MovePrevious|Name|NextRecordset)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Now|Number|NumericScale|ObjectContext|Oct|Open|OpenSchema|OriginalValue|PageCount|PageSize|Pattern|PICS|Precision|Prepared|Property)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Provider|QueryString|RecordCount|Redirect|RegExp|Remove|RemoveAll|Replace|Requery|Request|Response|Resync|Right|Rnd)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(RollbackTrans|RTrim|Save|ScriptTimeout|Second|Seek|Server|ServerVariables|Session|SessionID|SetAbort|SetComplete|Sgn)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Sin|Size|Sort|Source|Space|Split|Sqr|State|StaticObjects|Status|StayInSync|StrComp|String|StrReverse|Supports|Tan|Time)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(Timeout|Timer|TimeSerial|TimeValue|TotalBytes|Transfer|Trim|Type|Type|UBound|UCase|UnderlyingValue|UnLock|Update|UpdateBatch)\b/gi, output : '<u>$1</u>' },
|
||||
{ input : /\b(URLEncode|Value|Value|Version|Weekday|WeekdayName|Write|Year)\b/gi, output : '<u>$1</u>' },
|
||||
// Reserved Words 3 (Turquis)
|
||||
{ input : /\b(vbBlack|vbRed|vbGreen|vbYellow|vbBlue|vbMagenta|vbCyan|vbWhite|vbBinaryCompare|vbTextCompare)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbSunday|vbMonday|vbTuesday|vbWednesday|vbThursday|vbFriday|vbSaturday|vbUseSystemDayOfWeek)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbFirstJan1|vbFirstFourDays|vbFirstFullWeek|vbGeneralDate|vbLongDate|vbShortDate|vbLongTime|vbShortTime)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbObjectError|vbCr|VbCrLf|vbFormFeed|vbLf|vbNewLine|vbNullChar|vbNullString|vbTab|vbVerticalTab|vbUseDefault|vbTrue)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbFalse|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant)\b/gi, output : '<i>$1</i>' },
|
||||
{ input : /\b(vbDataObject|vbDecimal|vbByte|vbArray)\b/gi, output : '<i>$1</i>' },
|
||||
// html comments
|
||||
{ input : /(<!--.*?-->.)/g, output : '<big>$1</big>' }
|
||||
]
|
||||
|
||||
Language.Functions = [
|
||||
// Output at index 0, must be the desired tagname surrounding a $1
|
||||
// Name is the index from the regex that marks the functionname
|
||||
{input : /(function|sub)([ ]*?)(\w+)([ ]*?\()/gi , output : '<ins>$1</ins>', name : '$3'}
|
||||
]
|
||||
|
||||
Language.snippets = [
|
||||
//Conditional
|
||||
{ input : 'if', output : 'If $0 Then\n\t\nEnd If' },
|
||||
{ input : 'ifelse', output : 'If $0 Then\n\t\n\nElse\n\t\nEnd If' },
|
||||
{ input : 'case', output : 'Select Case $0\n\tCase ?\n\tCase Else\nEnd Select'},
|
||||
//Response
|
||||
{ input : 'rw', output : 'Response.Write( $0 )' },
|
||||
{ input : 'resc', output : 'Response.Cookies( $0 )' },
|
||||
{ input : 'resb', output : 'Response.Buffer'},
|
||||
{ input : 'resflu', output : 'Response.Flush()'},
|
||||
{ input : 'resend', output : 'Response.End'},
|
||||
//Request
|
||||
{ input : 'reqc', output : 'Request.Cookies( $0 )' },
|
||||
{ input : 'rq', output : 'Request.Querystring("$0")' },
|
||||
{ input : 'rf', output : 'Request.Form("$0")' },
|
||||
//FSO
|
||||
{ input : 'fso', output : 'Set fso = Server.CreateObject("Scripting.FileSystemObject")\n$0' },
|
||||
{ input : 'setfo', output : 'Set fo = fso.getFolder($0)' },
|
||||
{ input : 'setfi', output : 'Set fi = fso.getFile($0)' },
|
||||
{ input : 'twr', output : 'Set f = fso.CreateTextFile($0,true)\'overwrite\nf.WriteLine()\nf.Close'},
|
||||
{ input : 'tre', output : 'Set f = fso.OpenTextFile($0, 1)\nf.ReadAll\nf.Close'},
|
||||
//Server
|
||||
{ input : 'mapp', output : 'Server.Mappath($0)' },
|
||||
//Loops
|
||||
{ input : 'foreach', output : 'For Each $0 in ?\n\t\nNext' },
|
||||
{ input : 'for', output : 'For $0 to ? step ?\n\t\nNext' },
|
||||
{ input : 'do', output : 'Do While($0)\n\t\nLoop' },
|
||||
{ input : 'untilrs', output : 'do until rs.eof\n\t\nrs.movenext\nloop' },
|
||||
//ADO
|
||||
{ input : 'adorec', output : 'Set rs = Server.CreateObject("ADODB.Recordset")' },
|
||||
{ input : 'adocon', output : 'Set Conn = Server.CreateObject("ADODB.Connection")' },
|
||||
{ input : 'adostr', output : 'Set oStr = Server.CreateObject("ADODB.Stream")' },
|
||||
//Http Request
|
||||
{ input : 'xmlhttp', output : 'Set xmlHttp = Server.CreateObject("Microsoft.XMLHTTP")\nxmlHttp.open("GET", $0, false)\nxmlHttp.send()\n?=xmlHttp.responseText' },
|
||||
{ input : 'xmldoc', output : 'Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")\nxmldoc.async=false\nxmldoc.load(request)'},
|
||||
//Functions
|
||||
{ input : 'func', output : 'Function $0()\n\t\n\nEnd Function'},
|
||||
{ input : 'sub', output : 'Sub $0()\n\t\nEnd Sub'}
|
||||
|
||||
]
|
||||
|
||||
Language.complete = [
|
||||
//{ input : '\'', output : '\'$0\'' },
|
||||
{ input : '"', output : '"$0"' },
|
||||
{ input : '(', output : '\($0\)' },
|
||||
{ input : '[', output : '\[$0\]' },
|
||||
{ input : '{', output : '{\n\t$0\n}' }
|
||||
]
|
||||
|
||||
Language.shortcuts = [
|
||||
{ input : '[space]', output : ' ' },
|
||||
{ input : '[enter]', output : '<br />' } ,
|
||||
{ input : '[j]', output : 'testing' },
|
||||
{ input : '[7]', output : '&' }
|
||||
]
|
15
thirdparty/tinymce-advcode/js/codepress/languages/xsl.css
vendored
Normal file
15
thirdparty/tinymce-advcode/js/codepress/languages/xsl.css
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* CodePress color styles for HTML syntax highlighting
|
||||
* By RJ Bruneel
|
||||
*/
|
||||
|
||||
b {color:#000080;} /* tags */
|
||||
ins, ins b, ins s, ins em {color:gray;} /* comments */
|
||||
s, s b {color:#7777e4;} /* attribute values */
|
||||
a {color:#E67300;} /* links */
|
||||
u {color:#CC66CC;} /* forms */
|
||||
big {color:#db0000;} /* images */
|
||||
em, em b {color:#800080;} /* style */
|
||||
strong {color:#800000;} /* script */
|
||||
tt i {color:darkblue;font-weight:bold;} /* script reserved words */
|
||||
xsl {color:green;} /* xsl */
|
103
thirdparty/tinymce-advcode/js/codepress/languages/xsl.js
vendored
Normal file
103
thirdparty/tinymce-advcode/js/codepress/languages/xsl.js
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
/*
|
||||
* CodePress regular expressions for XSL syntax highlighting
|
||||
* By RJ Bruneel
|
||||
*/
|
||||
|
||||
Language.syntax = [ // XSL
|
||||
{
|
||||
input : /(<[^!]*?>)/g,
|
||||
output : '<b>$1</b>' // all tags
|
||||
},{
|
||||
input : /(<a.*?>|<\/a>)/g,
|
||||
output : '<a>$1</a>' // links
|
||||
},{
|
||||
input : /(<img .*?>)/g,
|
||||
output : '<big>$1</big>' // images
|
||||
},{
|
||||
input : /(<\/?(button|textarea|form|input|select|option|label).*?>)/g,
|
||||
output : '<u>$1</u>' // forms
|
||||
},{
|
||||
input : /(<style.*?>)(.*?)(<\/style>)/g,
|
||||
output : '<em>$1</em><em>$2</em><em>$3</em>' // style tags
|
||||
},{
|
||||
input : /(<script.*?>)(.*?)(<\/script>)/g,
|
||||
output : '<strong>$1</strong><tt>$2</tt><strong>$3</strong>' // script tags
|
||||
},{
|
||||
input : /(<xsl.*?>|<\/xsl.*?>)/g,
|
||||
output : '<xsl>$1</xsl>' // xsl
|
||||
},{
|
||||
input : /=(".*?")/g,
|
||||
output : '=<s>$1</s>' // atributes double quote
|
||||
},{
|
||||
input : /=('.*?')/g,
|
||||
output : '=<s>$1</s>' // atributes single quote
|
||||
},{
|
||||
input : /(<!--.*?-->.)/g,
|
||||
output : '<ins>$1</ins>' // comments
|
||||
},{
|
||||
input : /\b(alert|window|document|break|continue|do|for|new|this|void|case|default|else|function|return|typeof|while|if|label|switch|var|with|catch|boolean|int|try|false|throws|null|true|goto)\b/g,
|
||||
output : '<i>$1</i>' // script reserved words
|
||||
}
|
||||
];
|
||||
|
||||
Language.snippets = [
|
||||
{input : 'aref', output : '<a href="$0"></a>' },
|
||||
{input : 'h1', output : '<h1>$0</h1>' },
|
||||
{input : 'h2', output : '<h2>$0</h2>' },
|
||||
{input : 'h3', output : '<h3>$0</h3>' },
|
||||
{input : 'h4', output : '<h4>$0</h4>' },
|
||||
{input : 'h5', output : '<h5>$0</h5>' },
|
||||
{input : 'h6', output : '<h6>$0</h6>' },
|
||||
{input : 'html', output : '<html>\n\t$0\n</html>' },
|
||||
{input : 'head', output : '<head>\n\t<meta http-equiv="content-type" content="text/html; charset=utf-8" />\n\t<title>$0</title>\n\t\n</head>' },
|
||||
{input : 'img', output : '<img src="$0" width="" height="" alt="" border="0" />' },
|
||||
{input : 'input', output : '<input name="$0" id="" type="" value="" />' },
|
||||
{input : 'label', output : '<label for="$0"></label>' },
|
||||
{input : 'legend', output : '<legend>\n\t$0\n</legend>' },
|
||||
{input : 'link', output : '<link rel="stylesheet" href="$0" type="text/css" media="screen" charset="utf-8" />' },
|
||||
{input : 'base', output : '<base href="$0" />' },
|
||||
{input : 'body', output : '<body>\n\t$0\n</body>' },
|
||||
{input : 'css', output : '<link rel="stylesheet" href="$0" type="text/css" media="screen" charset="utf-8" />' },
|
||||
{input : 'div', output : '<div>\n\t$0\n</div>' },
|
||||
{input : 'divid', output : '<div id="$0">\n\t\n</div>' },
|
||||
{input : 'dl', output : '<dl>\n\t<dt>\n\t\t$0\n\t</dt>\n\t<dd></dd>\n</dl>' },
|
||||
{input : 'fieldset', output : '<fieldset>\n\t$0\n</fieldset>' },
|
||||
{input : 'form', output : '<form action="$0" method="" name="">\n\t\n</form>' },
|
||||
{input : 'meta', output : '<meta name="$0" content="" />' },
|
||||
{input : 'p', output : '<p>$0</p>' },
|
||||
{input : 'b', output : '<b>$0</b>' },
|
||||
{input : 'li', output : '<li>$0</li>' },
|
||||
{input : 'ul', output : '<ul>$0</ul>' },
|
||||
{input : 'ol', output : '<ol>$0</ol>' },
|
||||
{input : 'strong', output : '<strong>$0</strong>' },
|
||||
{input : 'br', output : '<br />' },
|
||||
{input : 'script', output : '<script type="text/javascript" language="javascript" charset="utf-8">\n\t$0\t\n</script>' },
|
||||
{input : 'scriptsrc', output : '<script src="$0" type="text/javascript" language="javascript" charset="utf-8"></script>' },
|
||||
{input : 'span', output : '<span>$0</span>' },
|
||||
{input : 'table', output : '<table border="$0" cellspacing="" cellpadding="">\n\t<tr><th></th></tr>\n\t<tr><td></td></tr>\n</table>' },
|
||||
{input : 'style', output : '<style type="text/css" media="screen">\n\t$0\n</style>' },
|
||||
{input : 'xsl:stylesheet', output : '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' },
|
||||
{input : 'xsl:template', output : '<xsl:template>$0</xsl:template>' },
|
||||
{input : 'xsl:for-each', output : '<xsl:for-each select="$0"></xsl:for-each>' },
|
||||
{input : 'xsl:choose', output : '<xsl:choose>$0<\xsl:choose>' },
|
||||
{input : 'xsl:param', output : '<xsl:param name="$0" />' },
|
||||
{input : 'xsl:variable', output : '<xsl:variable name="$0"></xsl:variable>' },
|
||||
{input : 'xsl:if', output : '<xsl:if test="$0"></xsl:if>' },
|
||||
{input : 'xsl:when', output : '<xsl:when test="$0"></xsl:when>' },
|
||||
{input : 'xsl:otherwise', output : '<xsl:otherwise>$0</xsl:otherwise>' },
|
||||
{input : 'xsl:attribute', output : '<xsl:attribute name="$0"></xsl:attribute>' },
|
||||
{input : 'xsl:value-of', output : '<xsl:value-of select="$0"/>' },
|
||||
{input : 'xsl:with-param', output : '<xsl:with-param name="$0" select="" />' },
|
||||
{input : 'xsl:call-template', output : '<xsl:call-template name="$0">' }
|
||||
|
||||
];
|
||||
|
||||
Language.complete = [ // Auto complete only for 1 character
|
||||
{input : '\'',output : '\'$0\'' },
|
||||
{input : '"', output : '"$0"' },
|
||||
{input : '(', output : '\($0\)' },
|
||||
{input : '[', output : '\[$0\]' },
|
||||
{input : '{', output : '{\n\t$0\n}' }
|
||||
];
|
||||
|
||||
Language.shortcuts = [];
|
458
thirdparty/tinymce-advcode/js/codepress/license.txt
vendored
Normal file
458
thirdparty/tinymce-advcode/js/codepress/license.txt
vendored
Normal file
@ -0,0 +1,458 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
17
thirdparty/tinymce-advcode/js/dialog.js
vendored
Normal file
17
thirdparty/tinymce-advcode/js/dialog.js
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
tinyMCEPopup.requireLangPack();
|
||||
|
||||
var CodeDialog = {
|
||||
init : function() {
|
||||
cp = document.getElementById('codepress') ? document.getElementById('codepress') : document.getElementById('codepress_cp');
|
||||
cp.value = tinyMCEPopup.editor.getContent();
|
||||
},
|
||||
|
||||
insert : function() {
|
||||
// Customized by SilverStripe 2009-01-05 - see dialog.html for details
|
||||
var content = (navigator.userAgent.match('KHTML')) ? document.getElementById('codepress').value : codepress.getCode();
|
||||
tinyMCEPopup.editor.setContent(content);
|
||||
tinyMCEPopup.close();
|
||||
}
|
||||
};
|
||||
|
||||
tinyMCEPopup.onInit.add(CodeDialog.init, CodeDialog);
|
3
thirdparty/tinymce-advcode/langs/en.js
vendored
Normal file
3
thirdparty/tinymce-advcode/langs/en.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
tinyMCE.addI18n('en.advcode',{
|
||||
desc : 'Edit HTML Source'
|
||||
})
|
4
thirdparty/tinymce-advcode/langs/en_dlg.js
vendored
Normal file
4
thirdparty/tinymce-advcode/langs/en_dlg.js
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
tinyMCE.addI18n('en.advcode_dlg',{
|
||||
title : 'HTML Source Editor',
|
||||
number_toggle : 'Line numbers'
|
||||
})
|
Loading…
Reference in New Issue
Block a user