diff options
Diffstat (limited to 'plugins/LocalFilesEditor/codemirror/mode/php')
-rw-r--r-- | plugins/LocalFilesEditor/codemirror/mode/php/index.html | 52 | ||||
-rw-r--r-- | plugins/LocalFilesEditor/codemirror/mode/php/php.js | 83 |
2 files changed, 0 insertions, 135 deletions
diff --git a/plugins/LocalFilesEditor/codemirror/mode/php/index.html b/plugins/LocalFilesEditor/codemirror/mode/php/index.html deleted file mode 100644 index 020e24898..000000000 --- a/plugins/LocalFilesEditor/codemirror/mode/php/index.html +++ /dev/null @@ -1,52 +0,0 @@ -<!doctype html> -<html> - <head> - <title>CodeMirror 2: PHP mode</title> - <link rel="stylesheet" href="../../lib/codemirror.css"> - <script src="../../lib/codemirror.js"></script> - <script src="../xml/xml.js"></script> - <link rel="stylesheet" href="../xml/xml.css"> - <script src="../javascript/javascript.js"></script> - <link rel="stylesheet" href="../javascript/javascript.css"> - <script src="../css/css.js"></script> - <link rel="stylesheet" href="../css/css.css"> - <script src="../clike/clike.js"></script> - <link rel="stylesheet" href="../clike/clike.css"> - <script src="php.js"></script> - <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style> - <link rel="stylesheet" href="../../css/docs.css"> - </head> - <body> - <h1>CodeMirror 2: PHP mode</h1> - -<form><textarea id="code" name="code"> -<?php -function hello($who) { - return "Hello " . $who; -} -?> -<p>The program says <?= hello("World") ?>.</p> -<script> - alert("And here is some JS code"); // also colored -</script> -</textarea></form> - - <script> - var editor = CodeMirror.fromTextArea(document.getElementById("code"), { - lineNumbers: true, - matchBrackets: true, - mode: "application/x-httpd-php", - indentUnit: 8, - indentWithTabs: true, - enterMode: "keep", - tabMode: "shift" - }); - </script> - - <p>Simple HTML/PHP mode based on - the <a href="../clike/">C-like</a> mode. Depends on XML, - JavaScript, CSS, and C-like modes.</p> - - <p><strong>MIME types defined:</strong> <code>application/x-httpd-php</code>.</p> - </body> -</html> diff --git a/plugins/LocalFilesEditor/codemirror/mode/php/php.js b/plugins/LocalFilesEditor/codemirror/mode/php/php.js deleted file mode 100644 index a23538f6b..000000000 --- a/plugins/LocalFilesEditor/codemirror/mode/php/php.js +++ /dev/null @@ -1,83 +0,0 @@ -(function() { - function keywords(str) { - var obj = {}, words = str.split(" "); - for (var i = 0; i < words.length; ++i) obj[words[i]] = true; - return obj; - } - var phpKeywords = - keywords("abstract and array as break case catch cfunction class clone const continue declare " + - "default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends " + - "final for foreach function global goto if implements interface instanceof namespace " + - "new or private protected public static switch throw try use var while xor"); - - CodeMirror.defineMode("php", function(config, parserConfig) { - var htmlMode = CodeMirror.getMode(config, "text/html"); - var jsMode = CodeMirror.getMode(config, "text/javascript"); - var cssMode = CodeMirror.getMode(config, "text/css"); - var phpMode = CodeMirror.getMode(config, {name: "clike", keywords: phpKeywords, multiLineStrings: true, $vars: true}); - - function dispatch(stream, state) { // TODO open PHP inside text/css - if (state.curMode == htmlMode) { - var style = htmlMode.token(stream, state.curState); - if (style == "xml-processing" && /^<\?/.test(stream.current())) { - state.curMode = phpMode; - state.curState = state.php; - state.curClose = /^\?>/; - } - else if (style == "xml-tag" && stream.current() == ">" && state.curState.context) { - if (/^script$/i.test(state.curState.context.tagName)) { - state.curMode = jsMode; - state.curState = jsMode.startState(htmlMode.indent(state.curState, "")); - state.curClose = /^<\/\s*script\s*>/i; - } - else if (/^style$/i.test(state.curState.context.tagName)) { - state.curMode = cssMode; - state.curState = cssMode.startState(htmlMode.indent(state.curState, "")); - state.curClose = /^<\/\s*style\s*>/i; - } - } - return style; - } - else if (stream.match(state.curClose, false)) { - state.curMode = htmlMode; - state.curState = state.html; - state.curClose = null; - return dispatch(stream, state); - } - else return state.curMode.token(stream, state.curState); - } - - return { - startState: function() { - var html = htmlMode.startState(); - return {html: html, - php: phpMode.startState(), - curMode: htmlMode, - curState: html, - curClose: null} - }, - - copyState: function(state) { - var html = state.html, htmlNew = CodeMirror.copyState(htmlMode, html), - php = state.php, phpNew = CodeMirror.copyState(phpMode, php), cur; - if (state.curState == html) cur = htmlNew; - else if (state.curState == php) cur = phpNew; - else cur = CodeMirror.copyState(state.curMode, state.curState); - return {html: htmlNew, php: phpNew, curMode: state.curMode, curState: cur, curClose: state.curClose}; - }, - - token: dispatch, - - indent: function(state, textAfter) { - if ((state.curMode != phpMode && /^\s*<\//.test(textAfter)) || - (state.curMode == phpMode && /^\?>/.test(textAfter))) - return htmlMode.indent(state.html, textAfter); - return state.curMode.indent(state.curState, textAfter); - }, - - electricChars: "/{}:" - } - }); -})(); - -CodeMirror.defineMIME("application/x-httpd-php", "php"); |