From 7bad2b523abb770508c01bfab40e8d161435ef93 Mon Sep 17 00:00:00 2001
From: Repellent
Date: Sun, 12 Apr 2026 21:48:11 +0500
Subject: [PATCH] fix files CodeMirror
---
inc/config.php | 2 +-
lib/redactor/codemirror/mode/clike/index.html | 380 ---------
lib/redactor/codemirror/mode/clike/scala.html | 767 ------------------
lib/redactor/codemirror/mode/clike/test.js | 170 ----
lib/redactor/codemirror/mode/css/gss.html | 104 ---
lib/redactor/codemirror/mode/css/gss_test.js | 17 -
lib/redactor/codemirror/mode/css/index.html | 81 --
lib/redactor/codemirror/mode/css/less.html | 152 ----
lib/redactor/codemirror/mode/css/less_test.js | 54 --
lib/redactor/codemirror/mode/css/scss.html | 158 ----
lib/redactor/codemirror/mode/css/scss_test.js | 110 ---
lib/redactor/codemirror/mode/css/test.js | 217 -----
.../codemirror/mode/htmlembedded/index.html | 60 --
.../codemirror/mode/htmlmixed/index.html | 100 ---
.../codemirror/mode/javascript/index.html | 118 ---
.../codemirror/mode/javascript/json-ld.html | 72 --
.../codemirror/mode/javascript/test.js | 521 ------------
.../mode/javascript/typescript.html | 62 --
lib/redactor/codemirror/mode/php/index.html | 64 --
lib/redactor/codemirror/mode/php/test.js | 154 ----
.../codemirror/mode/smarty/index.html | 138 ----
lib/redactor/codemirror/mode/sql/index.html | 92 ---
22 files changed, 1 insertion(+), 3592 deletions(-)
delete mode 100644 lib/redactor/codemirror/mode/clike/index.html
delete mode 100644 lib/redactor/codemirror/mode/clike/scala.html
delete mode 100644 lib/redactor/codemirror/mode/clike/test.js
delete mode 100644 lib/redactor/codemirror/mode/css/gss.html
delete mode 100644 lib/redactor/codemirror/mode/css/gss_test.js
delete mode 100644 lib/redactor/codemirror/mode/css/index.html
delete mode 100644 lib/redactor/codemirror/mode/css/less.html
delete mode 100644 lib/redactor/codemirror/mode/css/less_test.js
delete mode 100644 lib/redactor/codemirror/mode/css/scss.html
delete mode 100644 lib/redactor/codemirror/mode/css/scss_test.js
delete mode 100644 lib/redactor/codemirror/mode/css/test.js
delete mode 100644 lib/redactor/codemirror/mode/htmlembedded/index.html
delete mode 100644 lib/redactor/codemirror/mode/htmlmixed/index.html
delete mode 100644 lib/redactor/codemirror/mode/javascript/index.html
delete mode 100644 lib/redactor/codemirror/mode/javascript/json-ld.html
delete mode 100644 lib/redactor/codemirror/mode/javascript/test.js
delete mode 100644 lib/redactor/codemirror/mode/javascript/typescript.html
delete mode 100644 lib/redactor/codemirror/mode/php/index.html
delete mode 100644 lib/redactor/codemirror/mode/php/test.js
delete mode 100644 lib/redactor/codemirror/mode/smarty/index.html
delete mode 100644 lib/redactor/codemirror/mode/sql/index.html
diff --git a/inc/config.php b/inc/config.php
index 47c9dc6..69fb56b 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -198,7 +198,7 @@
// Цветовая схема Codemirror
$GLOBALS['CMS_CONFIG']['_CONST_THEMES']['CODEMIRROR_THEME'] = [
'DESCR' => 'Цветовая схема Codemirror',
- 'DEFAULT' => 'dracula',
+ 'DEFAULT' => 'xq-dark',
'TYPE' => 'dropdown',
'VARIANT' => $codemirror
];
diff --git a/lib/redactor/codemirror/mode/clike/index.html b/lib/redactor/codemirror/mode/clike/index.html
deleted file mode 100644
index 5b82df3..0000000
--- a/lib/redactor/codemirror/mode/clike/index.html
+++ /dev/null
@@ -1,380 +0,0 @@
-
-
-CodeMirror: C-like mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-C-like mode
-
-
-
-C++ example
-
-
-
-Objective-C example
-
-
-
-Java example
-
-
-
-Scala example
-
-
-
-Kotlin mode
-
-
-
-Ceylon mode
-
-
-
-
-
- Simple mode that tries to handle C-like languages as well as it
- can. Takes two configuration parameters: keywords, an
- object whose property names are the keywords in the language,
- and useCPP, which determines whether C preprocessor
- directives are recognized.
-
- MIME types defined: text/x-csrc
- (C), text/x-c++src (C++), text/x-java
- (Java), text/x-csharp (C#),
- text/x-objectivec (Objective-C),
- text/x-scala (Scala), text/x-vertex
- x-shader/x-fragment (shader programs),
- text/x-squirrel (Squirrel) and
- text/x-ceylon (Ceylon)
-
diff --git a/lib/redactor/codemirror/mode/clike/scala.html b/lib/redactor/codemirror/mode/clike/scala.html
deleted file mode 100644
index 49eab45..0000000
--- a/lib/redactor/codemirror/mode/clike/scala.html
+++ /dev/null
@@ -1,767 +0,0 @@
-
-
-CodeMirror: Scala mode
-
-
-
-
-
-
-
-
-
-
-
-Scala mode
-
-
-
-
diff --git a/lib/redactor/codemirror/mode/clike/test.js b/lib/redactor/codemirror/mode/clike/test.js
deleted file mode 100644
index 2933a00..0000000
--- a/lib/redactor/codemirror/mode/clike/test.js
+++ /dev/null
@@ -1,170 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-c");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
-
- MT("indent",
- "[type void] [def foo]([type void*] [variable a], [type int] [variable b]) {",
- " [type int] [variable c] [operator =] [variable b] [operator +]",
- " [number 1];",
- " [keyword return] [operator *][variable a];",
- "}");
-
- MT("indent_switch",
- "[keyword switch] ([variable x]) {",
- " [keyword case] [number 10]:",
- " [keyword return] [number 20];",
- " [keyword default]:",
- " [variable printf]([string \"foo %c\"], [variable x]);",
- "}");
-
- MT("def",
- "[type void] [def foo]() {}",
- "[keyword struct] [def bar]{}",
- "[keyword enum] [def zot]{}",
- "[keyword union] [def ugh]{}",
- "[type int] [type *][def baz]() {}");
-
- MT("def_new_line",
- "::[variable std]::[variable SomeTerribleType][operator <][variable T][operator >]",
- "[def SomeLongMethodNameThatDoesntFitIntoOneLine]([keyword const] [variable MyType][operator &] [variable param]) {}")
-
- MT("double_block",
- "[keyword for] (;;)",
- " [keyword for] (;;)",
- " [variable x][operator ++];",
- "[keyword return];");
-
- MT("preprocessor",
- "[meta #define FOO 3]",
- "[type int] [variable foo];",
- "[meta #define BAR\\]",
- "[meta 4]",
- "[type unsigned] [type int] [variable bar] [operator =] [number 8];",
- "[meta #include ][comment // comment]")
-
- MT("c_underscores",
- "[builtin __FOO];",
- "[builtin _Complex];",
- "[builtin __aName];",
- "[variable _aName];");
-
- MT("c_types",
- "[type int];",
- "[type long];",
- "[type char];",
- "[type short];",
- "[type double];",
- "[type float];",
- "[type unsigned];",
- "[type signed];",
- "[type void];",
- "[type bool];",
- "[type foo_t];",
- "[variable foo_T];",
- "[variable _t];");
-
- var mode_cpp = CodeMirror.getMode({indentUnit: 2}, "text/x-c++src");
- function MTCPP(name) { test.mode(name, mode_cpp, Array.prototype.slice.call(arguments, 1)); }
-
- MTCPP("cpp14_literal",
- "[number 10'000];",
- "[number 0b10'000];",
- "[number 0x10'000];",
- "[string '100000'];");
-
- MTCPP("ctor_dtor",
- "[def Foo::Foo]() {}",
- "[def Foo::~Foo]() {}");
-
- MTCPP("cpp_underscores",
- "[builtin __FOO];",
- "[builtin _Complex];",
- "[builtin __aName];",
- "[variable _aName];");
-
- var mode_objc = CodeMirror.getMode({indentUnit: 2}, "text/x-objectivec");
- function MTOBJC(name) { test.mode(name, mode_objc, Array.prototype.slice.call(arguments, 1)); }
-
- MTOBJC("objc_underscores",
- "[builtin __FOO];",
- "[builtin _Complex];",
- "[builtin __aName];",
- "[variable _aName];");
-
- MTOBJC("objc_interface",
- "[keyword @interface] [def foo] {",
- " [type int] [variable bar];",
- "}",
- "[keyword @property] ([keyword atomic], [keyword nullable]) [variable NSString][operator *] [variable a];",
- "[keyword @property] ([keyword nonatomic], [keyword assign]) [type int] [variable b];",
- "[operator -]([type instancetype])[variable initWithFoo]:([type int])[variable a] " +
- "[builtin NS_DESIGNATED_INITIALIZER];",
- "[keyword @end]");
-
- MTOBJC("objc_implementation",
- "[keyword @implementation] [def foo] {",
- " [type int] [variable bar];",
- "}",
- "[keyword @property] ([keyword readwrite]) [type SEL] [variable a];",
- "[operator -]([type instancetype])[variable initWithFoo]:([type int])[variable a] {",
- " [keyword if](([keyword self] [operator =] [[[keyword super] [variable init] ]])) {}",
- " [keyword return] [keyword self];",
- "}",
- "[keyword @end]");
-
- MTOBJC("objc_types",
- "[type int];",
- "[type foo_t];",
- "[variable foo_T];",
- "[type id];",
- "[type SEL];",
- "[type instancetype];",
- "[type Class];",
- "[type Protocol];",
- "[type BOOL];"
- );
-
- var mode_scala = CodeMirror.getMode({indentUnit: 2}, "text/x-scala");
- function MTSCALA(name) { test.mode("scala_" + name, mode_scala, Array.prototype.slice.call(arguments, 1)); }
- MTSCALA("nested_comments",
- "[comment /*]",
- "[comment But wait /* this is a nested comment */ for real]",
- "[comment /**** let * me * show * you ****/]",
- "[comment ///// let / me / show / you /////]",
- "[comment */]");
-
- var mode_java = CodeMirror.getMode({indentUnit: 2}, "text/x-java");
- function MTJAVA(name) { test.mode("java_" + name, mode_java, Array.prototype.slice.call(arguments, 1)); }
- MTJAVA("types",
- "[type byte];",
- "[type short];",
- "[type int];",
- "[type long];",
- "[type float];",
- "[type double];",
- "[type boolean];",
- "[type char];",
- "[type void];",
- "[type Boolean];",
- "[type Byte];",
- "[type Character];",
- "[type Double];",
- "[type Float];",
- "[type Integer];",
- "[type Long];",
- "[type Number];",
- "[type Object];",
- "[type Short];",
- "[type String];",
- "[type StringBuffer];",
- "[type StringBuilder];",
- "[type Void];");
-
- MTJAVA("indent",
- "[keyword public] [keyword class] [def A] [keyword extends] [variable B]",
- "{",
- " [variable c]()")
-})();
diff --git a/lib/redactor/codemirror/mode/css/gss.html b/lib/redactor/codemirror/mode/css/gss.html
deleted file mode 100644
index aa12bfb..0000000
--- a/lib/redactor/codemirror/mode/css/gss.html
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-CodeMirror: Closure Stylesheets (GSS) mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Closure Stylesheets (GSS) mode
-
-/* Some example Closure Stylesheets */
-
-@provide 'some.styles';
-
-@require 'other.styles';
-
-@component {
-
-@def FONT_FAMILY "Times New Roman", Georgia, Serif;
-@def FONT_SIZE_NORMAL 15px;
-@def FONT_NORMAL normal FONT_SIZE_NORMAL FONT_FAMILY;
-
-@def BG_COLOR rgb(235, 239, 249);
-
-@def DIALOG_BORDER_COLOR rgb(107, 144, 218);
-@def DIALOG_BG_COLOR BG_COLOR;
-
-@def LEFT_HAND_NAV_WIDTH 180px;
-@def LEFT_HAND_NAV_PADDING 3px;
-
-@defmixin size(WIDTH, HEIGHT) {
- width: WIDTH;
- height: HEIGHT;
-}
-
-body {
- background-color: BG_COLOR;
- margin: 0;
- padding: 3em 6em;
- font: FONT_NORMAL;
- color: #000;
-}
-
-#navigation a {
- font-weight: bold;
- text-decoration: none !important;
-}
-
-.dialog {
- background-color: DIALOG_BG_COLOR;
- border: 1px solid DIALOG_BORDER_COLOR;
-}
-
-.content {
- position: absolute;
- margin-left: add(LEFT_HAND_NAV_PADDING, /* padding left */
- LEFT_HAND_NAV_WIDTH,
- LEFT_HAND_NAV_PADDING); /* padding right */
-
-}
-
-.logo {
- @mixin size(150px, 55px);
- background-image: url('http://www.google.com/images/logo_sm.gif');
-}
-
-}
-
-
-
- A mode for Closure Stylesheets (GSS).
- MIME type defined: text/x-gss.
-
- Parsing/Highlighting Tests: normal , verbose .
-
-
diff --git a/lib/redactor/codemirror/mode/css/gss_test.js b/lib/redactor/codemirror/mode/css/gss_test.js
deleted file mode 100644
index 0901563..0000000
--- a/lib/redactor/codemirror/mode/css/gss_test.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- "use strict";
-
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); }
-
- MT("atComponent",
- "[def @component] {",
- "[tag foo] {",
- " [property color]: [keyword black];",
- "}",
- "}");
-
-})();
diff --git a/lib/redactor/codemirror/mode/css/index.html b/lib/redactor/codemirror/mode/css/index.html
deleted file mode 100644
index 233d19b..0000000
--- a/lib/redactor/codemirror/mode/css/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-CodeMirror: CSS mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-CSS mode
-
-/* Some example CSS */
-
-@import url("something.css");
-
-body {
- margin: 0;
- padding: 3em 6em;
- font-family: tahoma, arial, sans-serif;
- color: #000;
-}
-
-#navigation a {
- font-weight: bold;
- text-decoration: none !important;
-}
-
-h1 {
- font-size: 2.5em;
-}
-
-h2 {
- font-size: 1.7em;
-}
-
-h1:before, h2:before {
- content: "::";
-}
-
-code {
- font-family: courier, monospace;
- font-size: 80%;
- color: #418A8A;
-}
-
-
-
- CSS mode supports this option:
-
- highlightNonStandardPropertyKeywords : boolean
- Whether to highlight non-standard CSS property keywords such as margin-inline or zoom (default: true).
-
-
- MIME types defined: text/css, text/x-scss (demo ), text/x-less (demo ).
-
- Parsing/Highlighting Tests: normal , verbose .
-
-
diff --git a/lib/redactor/codemirror/mode/css/less.html b/lib/redactor/codemirror/mode/css/less.html
deleted file mode 100644
index ea7db00..0000000
--- a/lib/redactor/codemirror/mode/css/less.html
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
-CodeMirror: LESS mode
-
-
-
-
-
-
-
-
-
-
-
-LESS mode
-@media screen and (device-aspect-ratio: 16/9) { … }
-@media screen and (device-aspect-ratio: 1280/720) { … }
-@media screen and (device-aspect-ratio: 2560/1440) { … }
-
-html:lang(fr-be)
-
-tr:nth-child(2n+1) /* represents every odd row of an HTML table */
-
-img:nth-of-type(2n+1) { float: right; }
-img:nth-of-type(2n) { float: left; }
-
-body > h2:not(:first-of-type):not(:last-of-type)
-
-html|*:not(:link):not(:visited)
-*|*:not(:hover)
-p::first-line { text-transform: uppercase }
-
-@namespace foo url(http://www.example.com);
-foo|h1 { color: blue } /* first rule */
-
-span[hello="Ocean"][goodbye="Land"]
-
-E[foo]{
- padding:65px;
-}
-
-input[type="search"]::-webkit-search-decoration,
-input[type="search"]::-webkit-search-cancel-button {
- -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
-}
-button::-moz-focus-inner,
-input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
- padding: 0;
- border: 0;
-}
-.btn {
- // reset here as of 2.0.3 due to Recess property order
- border-color: #ccc;
- border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
-}
-fieldset span button, fieldset span input[type="file"] {
- font-size:12px;
- font-family:Arial, Helvetica, sans-serif;
-}
-
-.rounded-corners (@radius: 5px) {
- border-radius: @radius;
- -webkit-border-radius: @radius;
- -moz-border-radius: @radius;
-}
-
-@import url("something.css");
-
-@light-blue: hsl(190, 50%, 65%);
-
-#menu {
- position: absolute;
- width: 100%;
- z-index: 3;
- clear: both;
- display: block;
- background-color: @blue;
- height: 42px;
- border-top: 2px solid lighten(@alpha-blue, 20%);
- border-bottom: 2px solid darken(@alpha-blue, 25%);
- .box-shadow(0, 1px, 8px, 0.6);
- -moz-box-shadow: 0 0 0 #000; // Because firefox sucks.
-
- &.docked {
- background-color: hsla(210, 60%, 40%, 0.4);
- }
- &:hover {
- background-color: @blue;
- }
-
- #dropdown {
- margin: 0 0 0 117px;
- padding: 0;
- padding-top: 5px;
- display: none;
- width: 190px;
- border-top: 2px solid @medium;
- color: @highlight;
- border: 2px solid darken(@medium, 25%);
- border-left-color: darken(@medium, 15%);
- border-right-color: darken(@medium, 15%);
- border-top-width: 0;
- background-color: darken(@medium, 10%);
- ul {
- padding: 0px;
- }
- li {
- font-size: 14px;
- display: block;
- text-align: left;
- padding: 0;
- border: 0;
- a {
- display: block;
- padding: 0px 15px;
- text-decoration: none;
- color: white;
- &:hover {
- background-color: darken(@medium, 15%);
- text-decoration: none;
- }
- }
- }
- .border-radius(5px, bottom);
- .box-shadow(0, 6px, 8px, 0.5);
- }
-}
-
-
-
- The LESS mode is a sub-mode of the CSS mode (defined in css.js).
-
- Parsing/Highlighting Tests: normal , verbose .
-
diff --git a/lib/redactor/codemirror/mode/css/less_test.js b/lib/redactor/codemirror/mode/css/less_test.js
deleted file mode 100644
index cf367ea..0000000
--- a/lib/redactor/codemirror/mode/css/less_test.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- "use strict";
-
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-less");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "less"); }
-
- MT("variable",
- "[variable-2 @base]: [atom #f04615];",
- "[qualifier .class] {",
- " [property width]: [variable&callee percentage]([number 0.5]); [comment // returns `50%`]",
- " [property color]: [variable&callee saturate]([variable-2 @base], [number 5%]);",
- "}");
-
- MT("amp",
- "[qualifier .child], [qualifier .sibling] {",
- " [qualifier .parent] [atom &] {",
- " [property color]: [keyword black];",
- " }",
- " [atom &] + [atom &] {",
- " [property color]: [keyword red];",
- " }",
- "}");
-
- MT("mixin",
- "[qualifier .mixin] ([variable dark]; [variable-2 @color]) {",
- " [property color]: [variable&callee darken]([variable-2 @color], [number 10%]);",
- "}",
- "[qualifier .mixin] ([variable light]; [variable-2 @color]) {",
- " [property color]: [variable&callee lighten]([variable-2 @color], [number 10%]);",
- "}",
- "[qualifier .mixin] ([variable-2 @_]; [variable-2 @color]) {",
- " [property display]: [atom block];",
- "}",
- "[variable-2 @switch]: [variable light];",
- "[qualifier .class] {",
- " [qualifier .mixin]([variable-2 @switch]; [atom #888]);",
- "}");
-
- MT("nest",
- "[qualifier .one] {",
- " [def @media] ([property width]: [number 400px]) {",
- " [property font-size]: [number 1.2em];",
- " [def @media] [attribute print] [keyword and] [property color] {",
- " [property color]: [keyword blue];",
- " }",
- " }",
- "}");
-
-
- MT("interpolation", ".@{[variable foo]} { [property font-weight]: [atom bold]; }");
-})();
diff --git a/lib/redactor/codemirror/mode/css/scss.html b/lib/redactor/codemirror/mode/css/scss.html
deleted file mode 100644
index 75ef4f9..0000000
--- a/lib/redactor/codemirror/mode/css/scss.html
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-CodeMirror: SCSS mode
-
-
-
-
-
-
-
-
-
-
-
-SCSS mode
-
-/* Some example SCSS */
-
-@import "compass/css3";
-$variable: #333;
-
-$blue: #3bbfce;
-$margin: 16px;
-
-.content-navigation {
- #nested {
- background-color: black;
- }
- border-color: $blue;
- color:
- darken($blue, 9%);
-}
-
-.border {
- padding: $margin / 2;
- margin: $margin / 2;
- border-color: $blue;
-}
-
-@mixin table-base {
- th {
- text-align: center;
- font-weight: bold;
- }
- td, th {padding: 2px}
-}
-
-table.hl {
- margin: 2em 0;
- td.ln {
- text-align: right;
- }
-}
-
-li {
- font: {
- family: serif;
- weight: bold;
- size: 1.2em;
- }
-}
-
-@mixin left($dist) {
- float: left;
- margin-left: $dist;
-}
-
-#data {
- @include left(10px);
- @include table-base;
-}
-
-.source {
- @include flow-into(target);
- border: 10px solid green;
- margin: 20px;
- width: 200px; }
-
-.new-container {
- @include flow-from(target);
- border: 10px solid red;
- margin: 20px;
- width: 200px; }
-
-body {
- margin: 0;
- padding: 3em 6em;
- font-family: tahoma, arial, sans-serif;
- color: #000;
-}
-
-@mixin yellow() {
- background: yellow;
-}
-
-.big {
- font-size: 14px;
-}
-
-.nested {
- @include border-radius(3px);
- @extend .big;
- p {
- background: whitesmoke;
- a {
- color: red;
- }
- }
-}
-
-#navigation a {
- font-weight: bold;
- text-decoration: none !important;
-}
-
-h1 {
- font-size: 2.5em;
-}
-
-h2 {
- font-size: 1.7em;
-}
-
-h1:before, h2:before {
- content: "::";
-}
-
-code {
- font-family: courier, monospace;
- font-size: 80%;
- color: #418A8A;
-}
-
-
-
- The SCSS mode is a sub-mode of the CSS mode (defined in css.js).
-
- Parsing/Highlighting Tests: normal , verbose .
-
-
diff --git a/lib/redactor/codemirror/mode/css/scss_test.js b/lib/redactor/codemirror/mode/css/scss_test.js
deleted file mode 100644
index 14c1d13..0000000
--- a/lib/redactor/codemirror/mode/css/scss_test.js
+++ /dev/null
@@ -1,110 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-scss");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "scss"); }
-
- MT('url_with_quotation',
- "[tag foo] { [property background]:[variable&callee url]([string test.jpg]) }");
-
- MT('url_with_double_quotes',
- "[tag foo] { [property background]:[variable&callee url]([string \"test.jpg\"]) }");
-
- MT('url_with_single_quotes',
- "[tag foo] { [property background]:[variable&callee url]([string \'test.jpg\']) }");
-
- MT('string',
- "[def @import] [string \"compass/css3\"]");
-
- MT('important_keyword',
- "[tag foo] { [property background]:[variable&callee url]([string \'test.jpg\']) [keyword !important] }");
-
- MT('variable',
- "[variable-2 $blue]:[atom #333]");
-
- MT('variable_as_attribute',
- "[tag foo] { [property color]:[variable-2 $blue] }");
-
- MT('numbers',
- "[tag foo] { [property padding]:[number 10px] [number 10] [number 10em] [number 8in] }");
-
- MT('number_percentage',
- "[tag foo] { [property width]:[number 80%] }");
-
- MT('selector',
- "[builtin #hello][qualifier .world]{}");
-
- MT('singleline_comment',
- "[comment // this is a comment]");
-
- MT('multiline_comment',
- "[comment /*foobar*/]");
-
- MT('attribute_with_hyphen',
- "[tag foo] { [property font-size]:[number 10px] }");
-
- MT('string_after_attribute',
- "[tag foo] { [property content]:[string \"::\"] }");
-
- MT('directives',
- "[def @include] [qualifier .mixin]");
-
- MT('basic_structure',
- "[tag p] { [property background]:[keyword red]; }");
-
- MT('nested_structure',
- "[tag p] { [tag a] { [property color]:[keyword red]; } }");
-
- MT('mixin',
- "[def @mixin] [tag table-base] {}");
-
- MT('number_without_semicolon',
- "[tag p] {[property width]:[number 12]}",
- "[tag a] {[property color]:[keyword red];}");
-
- MT('atom_in_nested_block',
- "[tag p] { [tag a] { [property color]:[atom #000]; } }");
-
- MT('interpolation_in_property',
- "[tag foo] { #{[variable-2 $hello]}:[number 2]; }");
-
- MT('interpolation_in_selector',
- "[tag foo]#{[variable-2 $hello]} { [property color]:[atom #000]; }");
-
- MT('interpolation_error',
- "[tag foo]#{[variable foo]} { [property color]:[atom #000]; }");
-
- MT("divide_operator",
- "[tag foo] { [property width]:[number 4] [operator /] [number 2] }");
-
- MT('nested_structure_with_id_selector',
- "[tag p] { [builtin #hello] { [property color]:[keyword red]; } }");
-
- MT('indent_mixin',
- "[def @mixin] [tag container] (",
- " [variable-2 $a]: [number 10],",
- " [variable-2 $b]: [number 10])",
- "{}");
-
- MT('indent_nested',
- "[tag foo] {",
- " [tag bar] {",
- " }",
- "}");
-
- MT('indent_parentheses',
- "[tag foo] {",
- " [property color]: [variable&callee darken]([variable-2 $blue],",
- " [number 9%]);",
- "}");
-
- MT('indent_vardef',
- "[variable-2 $name]:",
- " [string 'val'];",
- "[tag tag] {",
- " [tag inner] {",
- " [property margin]: [number 3px];",
- " }",
- "}");
-})();
diff --git a/lib/redactor/codemirror/mode/css/test.js b/lib/redactor/codemirror/mode/css/test.js
deleted file mode 100644
index 573207e..0000000
--- a/lib/redactor/codemirror/mode/css/test.js
+++ /dev/null
@@ -1,217 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "css");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
-
- // Error, because "foobarhello" is neither a known type or property, but
- // property was expected (after "and"), and it should be in parentheses.
- MT("atMediaUnknownType",
- "[def @media] [attribute screen] [keyword and] [error foobarhello] { }");
-
- // Soft error, because "foobarhello" is not a known property or type.
- MT("atMediaUnknownProperty",
- "[def @media] [attribute screen] [keyword and] ([error foobarhello]) { }");
-
- // Make sure nesting works with media queries
- MT("atMediaMaxWidthNested",
- "[def @media] [attribute screen] [keyword and] ([property max-width]: [number 25px]) { [tag foo] { } }");
-
- MT("atMediaFeatureValueKeyword",
- "[def @media] ([property orientation]: [keyword landscape]) { }");
-
- MT("atMediaUnknownFeatureValueKeyword",
- "[def @media] ([property orientation]: [error upsidedown]) { }");
-
- MT("atMediaUppercase",
- "[def @MEDIA] ([property orienTAtion]: [keyword landScape]) { }");
-
- MT("tagSelector",
- "[tag foo] { }");
-
- MT("classSelector",
- "[qualifier .foo-bar_hello] { }");
-
- MT("idSelector",
- "[builtin #foo] { [error #foo] }");
-
- MT("tagSelectorUnclosed",
- "[tag foo] { [property margin]: [number 0] } [tag bar] { }");
-
- MT("tagStringNoQuotes",
- "[tag foo] { [property font-family]: [variable hello] [variable world]; }");
-
- MT("tagStringDouble",
- "[tag foo] { [property font-family]: [string \"hello world\"]; }");
-
- MT("tagStringSingle",
- "[tag foo] { [property font-family]: [string 'hello world']; }");
-
- MT("tagColorKeyword",
- "[tag foo] {",
- " [property color]: [keyword black];",
- " [property color]: [keyword navy];",
- " [property color]: [keyword yellow];",
- "}");
-
- MT("tagColorHex3",
- "[tag foo] { [property background]: [atom #fff]; }");
-
- MT("tagColorHex4",
- "[tag foo] { [property background]: [atom #ffff]; }");
-
- MT("tagColorHex6",
- "[tag foo] { [property background]: [atom #ffffff]; }");
-
- MT("tagColorHex8",
- "[tag foo] { [property background]: [atom #ffffffff]; }");
-
- MT("tagColorHex5Invalid",
- "[tag foo] { [property background]: [atom&error #fffff]; }");
-
- MT("tagColorHexInvalid",
- "[tag foo] { [property background]: [atom&error #ffg]; }");
-
- MT("tagNegativeNumber",
- "[tag foo] { [property margin]: [number -5px]; }");
-
- MT("tagPositiveNumber",
- "[tag foo] { [property padding]: [number 5px]; }");
-
- MT("tagVendor",
- "[tag foo] { [meta -foo-][property box-sizing]: [meta -foo-][atom border-box]; }");
-
- MT("tagBogusProperty",
- "[tag foo] { [property&error barhelloworld]: [number 0]; }");
-
- MT("tagTwoProperties",
- "[tag foo] { [property margin]: [number 0]; [property padding]: [number 0]; }");
-
- MT("tagTwoPropertiesURL",
- "[tag foo] { [property background]: [variable&callee url]([string //example.com/foo.png]); [property padding]: [number 0]; }");
-
- MT("indent_tagSelector",
- "[tag strong], [tag em] {",
- " [property background]: [variable&callee rgba](",
- " [number 255], [number 255], [number 0], [number .2]",
- " );",
- "}");
-
- MT("indent_atMedia",
- "[def @media] {",
- " [tag foo] {",
- " [property color]:",
- " [keyword yellow];",
- " }",
- "}");
-
- MT("indent_comma",
- "[tag foo] {",
- " [property font-family]: [variable verdana],",
- " [atom sans-serif];",
- "}");
-
- MT("indent_parentheses",
- "[tag foo]:[variable-3 before] {",
- " [property background]: [variable&callee url](",
- "[string blahblah]",
- "[string etc]",
- "[string ]) [keyword !important];",
- "}");
-
- MT("font_face",
- "[def @font-face] {",
- " [property font-family]: [string 'myfont'];",
- " [error nonsense]: [string 'abc'];",
- " [property src]: [variable&callee url]([string http://blah]),",
- " [variable&callee url]([string http://foo]);",
- "}");
-
- MT("empty_url",
- "[def @import] [variable&callee url]() [attribute screen];");
-
- MT("parens",
- "[qualifier .foo] {",
- " [property background-image]: [variable&callee fade]([atom #000], [number 20%]);",
- " [property border-image]: [variable&callee linear-gradient](",
- " [atom to] [atom bottom],",
- " [variable&callee fade]([atom #000], [number 20%]) [number 0%],",
- " [variable&callee fade]([atom #000], [number 20%]) [number 100%]",
- " );",
- "}");
-
- MT("css_variable",
- ":[variable-3 root] {",
- " [variable-2 --main-color]: [atom #06c];",
- "}",
- "[tag h1][builtin #foo] {",
- " [property color]: [variable&callee var]([variable-2 --main-color]);",
- "}");
-
- MT("blank_css_variable",
- ":[variable-3 root] {",
- " [variable-2 --]: [atom #06c];",
- "}",
- "[tag h1][builtin #foo] {",
- " [property color]: [variable&callee var]([variable-2 --]);",
- "}");
-
- MT("supports",
- "[def @supports] ([keyword not] (([property text-align-last]: [atom justify]) [keyword or] ([meta -moz-][property text-align-last]: [atom justify])) {",
- " [property text-align-last]: [atom justify];",
- "}");
-
- MT("document",
- "[def @document] [variable&callee url]([string http://blah]),",
- " [variable&callee url-prefix]([string https://]),",
- " [variable&callee domain]([string blah.com]),",
- " [variable&callee regexp]([string \".*blah.+\"]) {",
- " [builtin #id] {",
- " [property background-color]: [keyword white];",
- " }",
- " [tag foo] {",
- " [property font-family]: [variable Verdana], [atom sans-serif];",
- " }",
- "}");
-
- MT("document_url",
- "[def @document] [variable&callee url]([string http://blah]) { [qualifier .class] { } }");
-
- MT("document_urlPrefix",
- "[def @document] [variable&callee url-prefix]([string https://]) { [builtin #id] { } }");
-
- MT("document_domain",
- "[def @document] [variable&callee domain]([string blah.com]) { [tag foo] { } }");
-
- MT("document_regexp",
- "[def @document] [variable&callee regexp]([string \".*blah.+\"]) { [builtin #id] { } }");
-
- MT("counter-style",
- "[def @counter-style] [variable binary] {",
- " [property system]: [atom numeric];",
- " [property symbols]: [number 0] [number 1];",
- " [property suffix]: [string \".\"];",
- " [property range]: [atom infinite];",
- " [property speak-as]: [atom numeric];",
- "}");
-
- MT("counter-style-additive-symbols",
- "[def @counter-style] [variable simple-roman] {",
- " [property system]: [atom additive];",
- " [property additive-symbols]: [number 10] [variable X], [number 5] [variable V], [number 1] [variable I];",
- " [property range]: [number 1] [number 49];",
- "}");
-
- MT("counter-style-use",
- "[tag ol][qualifier .roman] { [property list-style]: [variable simple-roman]; }");
-
- MT("counter-style-symbols",
- "[tag ol] { [property list-style]: [variable&callee symbols]([atom cyclic] [string \"*\"] [string \"\\2020\"] [string \"\\2021\"] [string \"\\A7\"]); }");
-
- MT("comment-does-not-disrupt",
- "[def @font-face] [comment /* foo */] {",
- " [property src]: [variable&callee url]([string x]);",
- " [property font-family]: [variable One];",
- "}")
-})();
diff --git a/lib/redactor/codemirror/mode/htmlembedded/index.html b/lib/redactor/codemirror/mode/htmlembedded/index.html
deleted file mode 100644
index 06e7717..0000000
--- a/lib/redactor/codemirror/mode/htmlembedded/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-CodeMirror: Html Embedded Scripts mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Html Embedded Scripts mode
-
-<%
-function hello(who) {
- return "Hello " + who;
-}
-%>
-This is an example of EJS (embedded javascript)
-The program says <%= hello("world") %>.
-
-
-
-
-
- Mode for html embedded scripts like JSP and ASP.NET. Depends on multiplex and HtmlMixed which in turn depends on
- JavaScript, CSS and XML. Other dependencies include those of the scripting language chosen.
-
- MIME types defined: application/x-aspx (ASP.NET),
- application/x-ejs (Embedded JavaScript), application/x-jsp (JavaServer Pages)
- and application/x-erb
-
diff --git a/lib/redactor/codemirror/mode/htmlmixed/index.html b/lib/redactor/codemirror/mode/htmlmixed/index.html
deleted file mode 100644
index 9548361..0000000
--- a/lib/redactor/codemirror/mode/htmlmixed/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-CodeMirror: HTML mixed mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HTML mixed mode
-
-
-
-
- Mixed HTML Example
-
-
-
- Mixed HTML Example
-
-
-
-
-
-
- The HTML mixed mode depends on the XML, JavaScript, and CSS modes.
-
- It takes an optional mode configuration
- option, tags, which can be used to add custom
- behavior for specific tags. When given, it should be an object
- mapping tag names (for example script) to arrays or
- three-element arrays. Those inner arrays indicate [attributeName,
- valueRegexp, modeSpec ]
- specifications. For example, you could use ["type", /^foo$/,
- "foo"] to map the attribute type="foo" to
- the foo mode. When the first two fields are null
- ([null, null, "mode"]), the given mode is used for
- any such tag that doesn't match any of the previously given
- attributes. For example:
-
- var myModeSpec = {
- name: "htmlmixed",
- tags: {
- style: [["type", /^text\/(x-)?scss$/, "text/x-scss"],
- [null, null, "css"]],
- custom: [[null, null, "customMode"]]
- }
-}
-
- MIME types defined: text/html
- (redefined, only takes effect if you load this parser after the
- XML parser).
-
-
diff --git a/lib/redactor/codemirror/mode/javascript/index.html b/lib/redactor/codemirror/mode/javascript/index.html
deleted file mode 100644
index f4be5ea..0000000
--- a/lib/redactor/codemirror/mode/javascript/index.html
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-CodeMirror: JavaScript mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-JavaScript mode
-
-
-
-// Demo code (the actual new parser character stream implementation)
-
-function StringStream(string) {
- this.pos = 0;
- this.string = string;
-}
-
-StringStream.prototype = {
- done: function() {return this.pos >= this.string.length;},
- peek: function() {return this.string.charAt(this.pos);},
- next: function() {
- if (this.pos < this.string.length)
- return this.string.charAt(this.pos++);
- },
- eat: function(match) {
- var ch = this.string.charAt(this.pos);
- if (typeof match == "string") var ok = ch == match;
- else var ok = ch && match.test ? match.test(ch) : match(ch);
- if (ok) {this.pos++; return ch;}
- },
- eatWhile: function(match) {
- var start = this.pos;
- while (this.eat(match));
- if (this.pos > start) return this.string.slice(start, this.pos);
- },
- backUp: function(n) {this.pos -= n;},
- column: function() {return this.pos;},
- eatSpace: function() {
- var start = this.pos;
- while (/\s/.test(this.string.charAt(this.pos))) this.pos++;
- return this.pos - start;
- },
- match: function(pattern, consume, caseInsensitive) {
- if (typeof pattern == "string") {
- function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
- if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) {
- if (consume !== false) this.pos += str.length;
- return true;
- }
- }
- else {
- var match = this.string.slice(this.pos).match(pattern);
- if (match && consume !== false) this.pos += match[0].length;
- return match;
- }
- }
-};
-
-
-
-
-
- JavaScript mode supports several configuration options:
-
- json which will set the mode to expect JSON
- data rather than a JavaScript program.
- jsonld which will set the mode to expect
- JSON-LD linked data rather
- than a JavaScript program (demo ).
- typescript which will activate additional
- syntax highlighting and some other things for TypeScript code
- (demo ).
- trackScope can be set to false to turn off
- tracking of local variables. This will prevent locals from
- getting the "variable-2" token type, and will
- break completion of locals with javascript-hint.
- statementIndent which (given a number) will
- determine the amount of indentation to use for statements
- continued on a new line.
- wordCharacters, a regexp that indicates which
- characters should be considered part of an identifier.
- Defaults to /[\w$]/, which does not handle
- non-ASCII identifiers. Can be set to something more elaborate
- to improve Unicode support.
-
-
-
- MIME types defined: text/javascript, application/javascript, application/x-javascript, text/ecmascript, application/ecmascript, application/json, application/x-json, application/manifest+json, application/ld+json, text/typescript, application/typescript.
-
diff --git a/lib/redactor/codemirror/mode/javascript/json-ld.html b/lib/redactor/codemirror/mode/javascript/json-ld.html
deleted file mode 100644
index d3dff2e..0000000
--- a/lib/redactor/codemirror/mode/javascript/json-ld.html
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-CodeMirror: JSON-LD mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-JSON-LD mode
-
-
-
-{
- "@context": {
- "name": "http://schema.org/name",
- "description": "http://schema.org/description",
- "image": {
- "@id": "http://schema.org/image",
- "@type": "@id"
- },
- "geo": "http://schema.org/geo",
- "latitude": {
- "@id": "http://schema.org/latitude",
- "@type": "xsd:float"
- },
- "longitude": {
- "@id": "http://schema.org/longitude",
- "@type": "xsd:float"
- },
- "xsd": "http://www.w3.org/2001/XMLSchema#"
- },
- "name": "The Empire State Building",
- "description": "The Empire State Building is a 102-story landmark in New York City.",
- "image": "http://www.civil.usherbrooke.ca/cours/gci215a/empire-state-building.jpg",
- "geo": {
- "latitude": "40.75",
- "longitude": "73.98"
- }
-}
-
-
-
-
- This is a specialization of the JavaScript mode .
-
diff --git a/lib/redactor/codemirror/mode/javascript/test.js b/lib/redactor/codemirror/mode/javascript/test.js
deleted file mode 100644
index a1bcf1f..0000000
--- a/lib/redactor/codemirror/mode/javascript/test.js
+++ /dev/null
@@ -1,521 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "javascript");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
-
- MT("locals",
- "[keyword function] [def foo]([def a], [def b]) { [keyword var] [def c] [operator =] [number 10]; [keyword return] [variable-2 a] [operator +] [variable-2 c] [operator +] [variable d]; }");
-
- MT("comma-and-binop",
- "[keyword function](){ [keyword var] [def x] [operator =] [number 1] [operator +] [number 2], [def y]; }");
-
- MT("destructuring",
- "([keyword function]([def a], [[[def b], [def c] ]]) {",
- " [keyword let] {[def d], [property foo]: [def c][operator =][number 10], [def x]} [operator =] [variable foo]([variable-2 a]);",
- " [[[variable-2 c], [variable y] ]] [operator =] [variable-2 c];",
- "})();");
-
- MT("destructure_trailing_comma",
- "[keyword let] {[def a], [def b],} [operator =] [variable foo];",
- "[keyword let] [def c];"); // Parser still in good state?
-
- MT("class_body",
- "[keyword class] [def Foo] {",
- " [property constructor]() {}",
- " [property sayName]() {",
- " [keyword return] [string-2 `foo${][variable foo][string-2 }oo`];",
- " }",
- "}");
-
- MT("class",
- "[keyword class] [def Point] [keyword extends] [variable SuperThing] {",
- " [keyword get] [property prop]() { [keyword return] [number 24]; }",
- " [property constructor]([def x], [def y]) {",
- " [keyword super]([string 'something']);",
- " [keyword this].[property x] [operator =] [variable-2 x];",
- " }",
- "}");
-
- MT("anonymous_class_expression",
- "[keyword const] [def Adder] [operator =] [keyword class] [keyword extends] [variable Arithmetic] {",
- " [property add]([def a], [def b]) {}",
- "};");
-
- MT("named_class_expression",
- "[keyword const] [def Subber] [operator =] [keyword class] [def Subtract] {",
- " [property sub]([def a], [def b]) {}",
- "};");
-
- MT("class_async_method",
- "[keyword class] [def Foo] {",
- " [property sayName1]() {}",
- " [keyword async] [property sayName2]() {}",
- "}");
-
- MT("import",
- "[keyword function] [def foo]() {",
- " [keyword import] [def $] [keyword from] [string 'jquery'];",
- " [keyword import] { [def encrypt], [def decrypt] } [keyword from] [string 'crypto'];",
- "}");
-
- MT("import_trailing_comma",
- "[keyword import] {[def foo], [def bar],} [keyword from] [string 'baz']")
-
- MT("import_dynamic",
- "[keyword import]([string 'baz']).[property then]")
-
- MT("import_dynamic",
- "[keyword const] [def t] [operator =] [keyword import]([string 'baz']).[property then]")
-
- MT("const",
- "[keyword function] [def f]() {",
- " [keyword const] [[ [def a], [def b] ]] [operator =] [[ [number 1], [number 2] ]];",
- "}");
-
- MT("for/of",
- "[keyword for]([keyword let] [def of] [keyword of] [variable something]) {}");
-
- MT("for await",
- "[keyword for] [keyword await]([keyword let] [def of] [keyword of] [variable something]) {}");
-
- MT("generator",
- "[keyword function*] [def repeat]([def n]) {",
- " [keyword for]([keyword var] [def i] [operator =] [number 0]; [variable-2 i] [operator <] [variable-2 n]; [operator ++][variable-2 i])",
- " [keyword yield] [variable-2 i];",
- "}");
-
- MT("let_scoping",
- "[keyword function] [def scoped]([def n]) {",
- " { [keyword var] [def i]; } [variable-2 i];",
- " { [keyword let] [def j]; [variable-2 j]; } [variable j];",
- " [keyword if] ([atom true]) { [keyword const] [def k]; [variable-2 k]; } [variable k];",
- "}");
-
- MT("switch_scoping",
- "[keyword switch] ([variable x]) {",
- " [keyword default]:",
- " [keyword let] [def j];",
- " [keyword return] [variable-2 j]",
- "}",
- "[variable j];")
-
- MT("leaving_scope",
- "[keyword function] [def a]() {",
- " {",
- " [keyword const] [def x] [operator =] [number 1]",
- " [keyword if] ([atom true]) {",
- " [keyword let] [def y] [operator =] [number 2]",
- " [keyword var] [def z] [operator =] [number 3]",
- " [variable console].[property log]([variable-2 x], [variable-2 y], [variable-2 z])",
- " }",
- " [variable console].[property log]([variable-2 x], [variable y], [variable-2 z])",
- " }",
- " [variable console].[property log]([variable x], [variable y], [variable-2 z])",
- "}")
-
- MT("quotedStringAddition",
- "[keyword let] [def f] [operator =] [variable a] [operator +] [string 'fatarrow'] [operator +] [variable c];");
-
- MT("quotedFatArrow",
- "[keyword let] [def f] [operator =] [variable a] [operator +] [string '=>'] [operator +] [variable c];");
-
- MT("fatArrow",
- "[variable array].[property filter]([def a] [operator =>] [variable-2 a] [operator +] [number 1]);",
- "[variable a];", // No longer in scope
- "[keyword let] [def f] [operator =] ([[ [def a], [def b] ]], [def c]) [operator =>] [variable-2 a] [operator +] [variable-2 c];",
- "[variable c];");
-
- MT("fatArrow_stringDefault",
- "([def a], [def b] [operator =] [string 'x\\'y']) [operator =>] [variable-2 a] [operator +] [variable-2 b]")
-
- MT("spread",
- "[keyword function] [def f]([def a], [meta ...][def b]) {",
- " [variable something]([variable-2 a], [meta ...][variable-2 b]);",
- "}");
-
- MT("quasi",
- "[variable re][string-2 `fofdlakj${][variable x] [operator +] ([variable re][string-2 `foo`]) [operator +] [number 1][string-2 }fdsa`] [operator +] [number 2]");
-
- MT("quasi_no_function",
- "[variable x] [operator =] [string-2 `fofdlakj${][variable x] [operator +] [string-2 `foo`] [operator +] [number 1][string-2 }fdsa`] [operator +] [number 2]");
-
- MT("indent_statement",
- "[keyword var] [def x] [operator =] [number 10]",
- "[variable x] [operator +=] [variable y] [operator +]",
- " [atom Infinity]",
- "[keyword debugger];");
-
- MT("indent_if",
- "[keyword if] ([number 1])",
- " [keyword break];",
- "[keyword else] [keyword if] ([number 2])",
- " [keyword continue];",
- "[keyword else]",
- " [number 10];",
- "[keyword if] ([number 1]) {",
- " [keyword break];",
- "} [keyword else] [keyword if] ([number 2]) {",
- " [keyword continue];",
- "} [keyword else] {",
- " [number 10];",
- "}");
-
- MT("indent_for",
- "[keyword for] ([keyword var] [def i] [operator =] [number 0];",
- " [variable-2 i] [operator <] [number 100];",
- " [variable-2 i][operator ++])",
- " [variable doSomething]([variable-2 i]);",
- "[keyword debugger];");
-
- MT("indent_c_style",
- "[keyword function] [def foo]()",
- "{",
- " [keyword debugger];",
- "}");
-
- MT("indent_else",
- "[keyword for] (;;)",
- " [keyword if] ([variable foo])",
- " [keyword if] ([variable bar])",
- " [number 1];",
- " [keyword else]",
- " [number 2];",
- " [keyword else]",
- " [number 3];");
-
- MT("indent_funarg",
- "[variable foo]([number 10000],",
- " [keyword function]([def a]) {",
- " [keyword debugger];",
- "};");
-
- MT("indent_below_if",
- "[keyword for] (;;)",
- " [keyword if] ([variable foo])",
- " [number 1];",
- "[number 2];");
-
- MT("indent_semicolonless_if",
- "[keyword function] [def foo]() {",
- " [keyword if] ([variable x])",
- " [variable foo]()",
- "}")
-
- MT("indent_semicolonless_if_with_statement",
- "[keyword function] [def foo]() {",
- " [keyword if] ([variable x])",
- " [variable foo]()",
- " [variable bar]()",
- "}")
-
- MT("multilinestring",
- "[keyword var] [def x] [operator =] [string 'foo\\]",
- "[string bar'];");
-
- MT("scary_regexp",
- "[string-2 /foo[[/]]bar/];");
-
- MT("indent_strange_array",
- "[keyword var] [def x] [operator =] [[",
- " [number 1],,",
- " [number 2],",
- "]];",
- "[number 10];");
-
- MT("param_default",
- "[keyword function] [def foo]([def x] [operator =] [string-2 `foo${][number 10][string-2 }bar`]) {",
- " [keyword return] [variable-2 x];",
- "}");
-
- MT(
- "param_destructuring",
- "[keyword function] [def foo]([def x] [operator =] [string-2 `foo${][number 10][string-2 }bar`]) {",
- " [keyword return] [variable-2 x];",
- "}");
-
- MT("new_target",
- "[keyword function] [def F]([def target]) {",
- " [keyword if] ([variable-2 target] [operator &&] [keyword new].[keyword target].[property name]) {",
- " [keyword return] [keyword new]",
- " .[keyword target];",
- " }",
- "}");
-
- MT("async",
- "[keyword async] [keyword function] [def foo]([def args]) { [keyword return] [atom true]; }");
-
- MT("async_assignment",
- "[keyword const] [def foo] [operator =] [keyword async] [keyword function] ([def args]) { [keyword return] [atom true]; };");
-
- MT("async_object",
- "[keyword let] [def obj] [operator =] { [property async]: [atom false] };");
-
- // async be highlighted as keyword and foo as def, but it requires potentially expensive look-ahead. See #4173
- MT("async_object_function",
- "[keyword let] [def obj] [operator =] { [property async] [property foo]([def args]) { [keyword return] [atom true]; } };");
-
- MT("async_object_properties",
- "[keyword let] [def obj] [operator =] {",
- " [property prop1]: [keyword async] [keyword function] ([def args]) { [keyword return] [atom true]; },",
- " [property prop2]: [keyword async] [keyword function] ([def args]) { [keyword return] [atom true]; },",
- " [property prop3]: [keyword async] [keyword function] [def prop3]([def args]) { [keyword return] [atom true]; },",
- "};");
-
- MT("async_arrow",
- "[keyword const] [def foo] [operator =] [keyword async] ([def args]) [operator =>] { [keyword return] [atom true]; };");
-
- MT("async_jquery",
- "[variable $].[property ajax]({",
- " [property url]: [variable url],",
- " [property async]: [atom true],",
- " [property method]: [string 'GET']",
- "});");
-
- MT("async_variable",
- "[keyword const] [def async] [operator =] {[property a]: [number 1]};",
- "[keyword const] [def foo] [operator =] [string-2 `bar ${][variable async].[property a][string-2 }`];")
-
- MT("bigint", "[number 1n] [operator +] [number 0x1afn] [operator +] [number 0o064n] [operator +] [number 0b100n];")
-
- MT("async_comment",
- "[keyword async] [comment /**/] [keyword function] [def foo]([def args]) { [keyword return] [atom true]; }");
-
- MT("indent_switch",
- "[keyword switch] ([variable x]) {",
- " [keyword default]:",
- " [keyword return] [number 2]",
- "}")
-
- MT("regexp_corner_case",
- "[operator +]{} [operator /] [atom undefined];",
- "[[[meta ...][string-2 /\\//] ]];",
- "[keyword void] [string-2 /\\//];",
- "[keyword do] [string-2 /\\//]; [keyword while] ([number 0]);",
- "[keyword if] ([number 0]) {} [keyword else] [string-2 /\\//];",
- "[string-2 `${][variable async][operator ++][string-2 }//`];",
- "[string-2 `${]{} [operator /] [string-2 /\\//}`];")
-
- MT("return_eol",
- "[keyword return]",
- "{} [string-2 /5/]")
-
- MT("numeric separator",
- "[number 123_456];",
- "[number 0xdead_c0de];",
- "[number 0o123_456];",
- "[number 0b1101_1101];",
- "[number .123_456e0_1];",
- "[number 1E+123_456];",
- "[number 12_34_56n];")
-
- MT("underscore property",
- "[variable something].[property _property];",
- "[variable something].[property _123];",
- "[variable something].[property _for];",
- "[variable _for];",
- "[variable _123];")
-
- MT("private properties",
- "[keyword class] [def C] {",
- " [property #x] [operator =] [number 2];",
- " [property #read]() {",
- " [keyword return] [keyword this].[property #x]",
- " }",
- "}")
-
- var ts_mode = CodeMirror.getMode({indentUnit: 2}, "application/typescript")
- function TS(name) {
- test.mode(name, ts_mode, Array.prototype.slice.call(arguments, 1))
- }
-
- TS("typescript_extend_type",
- "[keyword class] [def Foo] [keyword extends] [type Some][operator <][type Type][operator >] {}")
-
- TS("typescript_arrow_type",
- "[keyword let] [def x]: ([variable arg]: [type Type]) [operator =>] [type ReturnType]")
-
- TS("typescript_class",
- "[keyword class] [def Foo] {",
- " [keyword public] [keyword static] [property main]() {}",
- " [keyword private] [property _foo]: [type string];",
- "}")
-
- TS("typescript_literal_types",
- "[keyword import] [keyword *] [keyword as] [def Sequelize] [keyword from] [string 'sequelize'];",
- "[keyword interface] [def MyAttributes] {",
- " [property truthy]: [string 'true'] [operator |] [number 1] [operator |] [atom true];",
- " [property falsy]: [string 'false'] [operator |] [number 0] [operator |] [atom false];",
- "}",
- "[keyword interface] [def MyInstance] [keyword extends] [type Sequelize].[type Instance] [operator <] [type MyAttributes] [operator >] {",
- " [property rawAttributes]: [type MyAttributes];",
- " [property truthy]: [string 'true'] [operator |] [number 1] [operator |] [atom true];",
- " [property falsy]: [string 'false'] [operator |] [number 0] [operator |] [atom false];",
- "}")
-
- TS("typescript_extend_operators",
- "[keyword export] [keyword interface] [def UserModel] [keyword extends]",
- " [type Sequelize].[type Model] [operator <] [type UserInstance], [type UserAttributes] [operator >] {",
- " [property findById]: (",
- " [variable userId]: [type number]",
- " ) [operator =>] [type Promise] [operator <] [type Array] [operator <] { [property id], [property name] } [operator >>];",
- " [property updateById]: (",
- " [variable userId]: [type number],",
- " [variable isActive]: [type boolean]",
- " ) [operator =>] [type Promise] [operator <] [type AccountHolderNotificationPreferenceInstance] [operator >];",
- " }")
-
- TS("typescript_interface_with_const",
- "[keyword const] [def hello]: {",
- " [property prop1][operator ?]: [type string];",
- " [property prop2][operator ?]: [type string];",
- "} [operator =] {};")
-
- TS("typescript_double_extend",
- "[keyword export] [keyword interface] [def UserAttributes] {",
- " [property id][operator ?]: [type number];",
- " [property createdAt][operator ?]: [type Date];",
- "}",
- "[keyword export] [keyword interface] [def UserInstance] [keyword extends] [type Sequelize].[type Instance][operator <][type UserAttributes][operator >], [type UserAttributes] {",
- " [property id]: [type number];",
- " [property createdAt]: [type Date];",
- "}");
-
- TS("typescript_index_signature",
- "[keyword interface] [def A] {",
- " [[ [variable prop]: [type string] ]]: [type any];",
- " [property prop1]: [type any];",
- "}");
-
- TS("typescript_generic_class",
- "[keyword class] [def Foo][operator <][type T][operator >] {",
- " [property bar]() {}",
- " [property foo](): [type Foo] {}",
- "}")
-
- TS("typescript_type_when_keyword",
- "[keyword export] [keyword type] [type AB] [operator =] [type A] [operator |] [type B];",
- "[keyword type] [type Flags] [operator =] {",
- " [property p1]: [type string];",
- " [property p2]: [type boolean];",
- "};")
-
- TS("typescript_type_when_not_keyword",
- "[keyword class] [def HasType] {",
- " [property type]: [type string];",
- " [property constructor]([def type]: [type string]) {",
- " [keyword this].[property type] [operator =] [variable-2 type];",
- " }",
- " [property setType]({ [def type] }: { [property type]: [type string]; }) {",
- " [keyword this].[property type] [operator =] [variable-2 type];",
- " }",
- "}")
-
- TS("typescript_function_generics",
- "[keyword function] [def a]() {}",
- "[keyword function] [def b][operator <][type IA] [keyword extends] [type object], [type IB] [keyword extends] [type object][operator >]() {}",
- "[keyword function] [def c]() {}")
-
- TS("typescript_complex_return_type",
- "[keyword function] [def A]() {",
- " [keyword return] [keyword this].[property property];",
- "}",
- "[keyword function] [def B](): [type Promise][operator <]{ [[ [variable key]: [type string] ]]: [type any] } [operator |] [atom null][operator >] {",
- " [keyword return] [keyword this].[property property];",
- "}")
-
- TS("typescript_complex_type_casting",
- "[keyword const] [def giftpay] [operator =] [variable config].[property get]([string 'giftpay']) [keyword as] { [[ [variable platformUuid]: [type string] ]]: { [property version]: [type number]; [property apiCode]: [type string]; } };")
-
- TS("typescript_keyof",
- "[keyword function] [def x][operator <][type T] [keyword extends] [keyword keyof] [type X][operator >]([def a]: [type T]) {",
- " [keyword return]")
-
- TS("typescript_new_typeargs",
- "[keyword let] [def x] [operator =] [keyword new] [variable Map][operator <][type string], [type Date][operator >]([string-2 `foo${][variable bar][string-2 }`])")
-
- TS("modifiers",
- "[keyword class] [def Foo] {",
- " [keyword public] [keyword abstract] [property bar]() {}",
- " [property constructor]([keyword readonly] [keyword private] [def x]) {}",
- "}")
-
- TS("arrow prop",
- "({[property a]: [def p] [operator =>] [variable-2 p]})")
-
- TS("generic in function call",
- "[keyword this].[property a][operator <][type Type][operator >]([variable foo]);",
- "[keyword this].[property a][operator <][variable Type][operator >][variable foo];")
-
- TS("type guard",
- "[keyword class] [def Appler] {",
- " [keyword static] [property assertApple]([def fruit]: [type Fruit]): [variable-2 fruit] [keyword is] [type Apple] {",
- " [keyword if] ([operator !]([variable-2 fruit] [keyword instanceof] [variable Apple]))",
- " [keyword throw] [keyword new] [variable Error]();",
- " }",
- "}")
-
- TS("type as variable",
- "[variable type] [operator =] [variable x] [keyword as] [type Bar];");
-
- TS("enum body",
- "[keyword export] [keyword const] [keyword enum] [def CodeInspectionResultType] {",
- " [def ERROR] [operator =] [string 'problem_type_error'],",
- " [def WARNING] [operator =] [string 'problem_type_warning'],",
- " [def META],",
- "}")
-
- TS("parenthesized type",
- "[keyword class] [def Foo] {",
- " [property x] [operator =] [keyword new] [variable A][operator <][type B], [type string][operator |](() [operator =>] [type void])[operator >]();",
- " [keyword private] [property bar]();",
- "}")
-
- TS("abstract class",
- "[keyword export] [keyword abstract] [keyword class] [def Foo] {}")
-
- TS("interface without semicolons",
- "[keyword interface] [def Foo] {",
- " [property greet]([def x]: [type int]): [type blah]",
- " [property bar]: [type void]",
- "}")
-
- var jsonld_mode = CodeMirror.getMode(
- {indentUnit: 2},
- {name: "javascript", jsonld: true}
- );
- function LD(name) {
- test.mode(name, jsonld_mode, Array.prototype.slice.call(arguments, 1));
- }
-
- LD("json_ld_keywords",
- '{',
- ' [meta "@context"]: {',
- ' [meta "@base"]: [string "http://example.com"],',
- ' [meta "@vocab"]: [string "http://xmlns.com/foaf/0.1/"],',
- ' [property "likesFlavor"]: {',
- ' [meta "@container"]: [meta "@list"]',
- ' [meta "@reverse"]: [string "@beFavoriteOf"]',
- ' },',
- ' [property "nick"]: { [meta "@container"]: [meta "@set"] },',
- ' [property "nick"]: { [meta "@container"]: [meta "@index"] }',
- ' },',
- ' [meta "@graph"]: [[ {',
- ' [meta "@id"]: [string "http://dbpedia.org/resource/John_Lennon"],',
- ' [property "name"]: [string "John Lennon"],',
- ' [property "modified"]: {',
- ' [meta "@value"]: [string "2010-05-29T14:17:39+02:00"],',
- ' [meta "@type"]: [string "http://www.w3.org/2001/XMLSchema#dateTime"]',
- ' }',
- ' } ]]',
- '}');
-
- LD("json_ld_fake",
- '{',
- ' [property "@fake"]: [string "@fake"],',
- ' [property "@contextual"]: [string "@identifier"],',
- ' [property "user@domain.com"]: [string "@graphical"],',
- ' [property "@ID"]: [string "@@ID"]',
- '}');
-})();
diff --git a/lib/redactor/codemirror/mode/javascript/typescript.html b/lib/redactor/codemirror/mode/javascript/typescript.html
deleted file mode 100644
index d0bc3ae..0000000
--- a/lib/redactor/codemirror/mode/javascript/typescript.html
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-CodeMirror: TypeScript mode
-
-
-
-
-
-
-
-
-
-
-
-TypeScript mode
-
-
-
-class Greeter {
- greeting: string;
- constructor (message: string) {
- this.greeting = message;
- }
- greet() {
- return "Hello, " + this.greeting;
- }
-}
-
-var greeter = new Greeter("world");
-
-var button = document.createElement('button')
-button.innerText = "Say Hello"
-button.onclick = function() {
- alert(greeter.greet())
-}
-
-document.body.appendChild(button)
-
-
-
-
-
- This is a specialization of the JavaScript mode .
-
diff --git a/lib/redactor/codemirror/mode/php/index.html b/lib/redactor/codemirror/mode/php/index.html
deleted file mode 100644
index d4439fd..0000000
--- a/lib/redactor/codemirror/mode/php/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-CodeMirror: PHP mode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-PHP mode
-
- 1, 'b' => 2, 3 => 'c');
-
-echo "$a[a] ${a[3] /* } comment */} {$a[b]} \$a[a]";
-
-function hello($who) {
- return "Hello $who!";
-}
-?>
-The program says = hello("World") ?>.
-
-
-
-
-
- Simple HTML/PHP mode based on
- the C-like mode. Depends on XML,
- JavaScript, CSS, HTMLMixed, and C-like modes.
-
- MIME types defined: application/x-httpd-php (HTML with PHP code), text/x-php (plain, non-wrapped PHP code).
-
diff --git a/lib/redactor/codemirror/mode/php/test.js b/lib/redactor/codemirror/mode/php/test.js
deleted file mode 100644
index c4c06c4..0000000
--- a/lib/redactor/codemirror/mode/php/test.js
+++ /dev/null
@@ -1,154 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: https://codemirror.net/5/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "php");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
-
- MT('simple_test',
- '[meta ]');
-
- MT('variable_interpolation_non_alphanumeric',
- '[meta $/$\\$}$\\\"$:$;$?$|$[[$]]$+$=aaa"]',
- '[meta ?>]');
-
- MT('variable_interpolation_digits',
- '[meta ]');
-
- MT('variable_interpolation_simple_syntax_1',
- '[meta ]');
-
- MT('variable_interpolation_simple_syntax_2',
- '[meta ]');
-
- MT('variable_interpolation_simple_syntax_3',
- '[meta [variable aaaaa][string .aaaaaa"];',
- '[keyword echo] [string "aaa][variable-2 $aaaa][string ->][variable-2 $aaaaa][string .aaaaaa"];',
- '[keyword echo] [string "aaa][variable-2 $aaaa]->[variable aaaaa][string [[2]].aaaaaa"];',
- '[keyword echo] [string "aaa][variable-2 $aaaa]->[variable aaaaa][string ->aaaa2.aaaaaa"];',
- '[meta ?>]');
-
- MT('variable_interpolation_escaping',
- '[meta aaa.aaa"];',
- '[keyword echo] [string "aaa\\$aaaa[[2]]aaa.aaa"];',
- '[keyword echo] [string "aaa\\$aaaa[[asd]]aaa.aaa"];',
- '[keyword echo] [string "aaa{\\$aaaa->aaa.aaa"];',
- '[keyword echo] [string "aaa{\\$aaaa[[2]]aaa.aaa"];',
- '[keyword echo] [string "aaa{\\aaaaa[[asd]]aaa.aaa"];',
- '[keyword echo] [string "aaa\\${aaaa->aaa.aaa"];',
- '[keyword echo] [string "aaa\\${aaaa[[2]]aaa.aaa"];',
- '[keyword echo] [string "aaa\\${aaaa[[asd]]aaa.aaa"];',
- '[meta ?>]');
-
- MT('variable_interpolation_complex_syntax_1',
- '[meta aaa.aaa"];',
- '[keyword echo] [string "aaa][variable-2 $]{[variable-2 $aaaa]}[string ->aaa.aaa"];',
- '[keyword echo] [string "aaa][variable-2 $]{[variable-2 $aaaa][[',' [number 42]',']]}[string ->aaa.aaa"];',
- '[keyword echo] [string "aaa][variable-2 $]{[variable aaaa][meta ?>]aaaaaa');
-
- MT('variable_interpolation_complex_syntax_2',
- '[meta } $aaaaaa.aaa"];',
- '[keyword echo] [string "][variable-2 $]{[variable aaa][comment /*}?>*/][[',' [string "aaa][variable-2 $aaa][string {}][variable-2 $]{[variable aaa]}[string "]',']]}[string ->aaa.aaa"];',
- '[keyword echo] [string "][variable-2 $]{[variable aaa][comment /*} } $aaa } */]}[string ->aaa.aaa"];');
-
-
- function build_recursive_monsters(nt, t, n){
- var monsters = [t];
- for (var i = 1; i <= n; ++i)
- monsters[i] = nt.join(monsters[i - 1]);
- return monsters;
- }
-
- var m1 = build_recursive_monsters(
- ['[string "][variable-2 $]{[variable aaa] [operator +] ', '}[string "]'],
- '[comment /* }?>} */] [string "aaa][variable-2 $aaa][string .aaa"]',
- 10
- );
-
- MT('variable_interpolation_complex_syntax_3_1',
- '[meta ]');
-
- var m2 = build_recursive_monsters(
- ['[string "a][variable-2 $]{[variable aaa] [operator +] ', ' [operator +] ', '}[string .a"]'],
- '[comment /* }?>{{ */] [string "a?>}{{aa][variable-2 $aaa][string .a}a?>a"]',
- 5
- );
-
- MT('variable_interpolation_complex_syntax_3_2',
- '[meta ]');
-
- function build_recursive_monsters_2(mf1, mf2, nt, t, n){
- var monsters = [t];
- for (var i = 1; i <= n; ++i)
- monsters[i] = nt[0] + mf1[i - 1] + nt[1] + mf2[i - 1] + nt[2] + monsters[i - 1] + nt[3];
- return monsters;
- }
-
- var m3 = build_recursive_monsters_2(
- m1,
- m2,
- ['[string "a][variable-2 $]{[variable aaa] [operator +] ', ' [operator +] ', ' [operator +] ', '}[string .a"]'],
- '[comment /* }?>{{ */] [string "a?>}{{aa][variable-2 $aaa][string .a}a?>a"]',
- 4
- );
-
- MT('variable_interpolation_complex_syntax_3_3',
- '[meta ]');
-
- MT("variable_interpolation_heredoc",
- "[meta
-
-CodeMirror: Smarty mode
-
-
-
-
-
-
-
-
-
-
-
-Smarty mode
-
-{extends file="parent.tpl"}
-{include file="template.tpl"}
-
-{* some example Smarty content *}
-{if isset($name) && $name == 'Blog'}
- This is a {$var}.
- {$integer = 451}, {$array[] = "a"}, {$stringvar = "string"}
- {assign var='bob' value=$var.prop}
-{elseif $name == $foo}
- {function name=menu level=0}
- {foreach $data as $entry}
- {if is_array($entry)}
- - {$entry@key}
- {menu data=$entry level=$level+1}
- {else}
- {$entry}
- {/if}
- {/foreach}
- {/function}
-{/if}
-
-Mode for Smarty version 2 or 3, which allows for custom delimiter tags.
-
-Several configuration parameters are supported:
-
-
- leftDelimiter and rightDelimiter,
- which should be strings that determine where the Smarty syntax
- starts and ends.
- version, which should be 2 or 3.
- baseMode, which can be a mode spec
- like "text/html" to set a different background mode.
-
-
-MIME types defined: text/x-smarty
-
-Smarty 2, custom delimiters
-
-
-{--extends file="parent.tpl"--}
-{--include file="template.tpl"--}
-
-{--* some example Smarty content *--}
-{--if isset($name) && $name == 'Blog'--}
- This is a {--$var--}.
- {--$integer = 451--}, {--$array[] = "a"--}, {--$stringvar = "string"--}
- {--assign var='bob' value=$var.prop--}
-{--elseif $name == $foo--}
- {--function name=menu level=0--}
- {--foreach $data as $entry--}
- {--if is_array($entry)--}
- - {--$entry@key--}
- {--menu data=$entry level=$level+1--}
- {--else--}
- {--$entry--}
- {--/if--}
- {--/foreach--}
- {--/function--}
-{--/if--}
-
-Smarty 3
-
-
-Nested tags {$foo={counter one=1 two={inception}}+3} are now valid in Smarty 3.
-
-
-
-{assign var=foo value=[1,2,3]}
-{assign var=foo value=['y'=>'yellow','b'=>'blue']}
-{assign var=foo value=[1,[9,8],3]}
-
-{$foo=$bar+2} {* a comment *}
-{$foo.bar=1} {* another comment *}
-{$foo = myfunct(($x+$y)*3)}
-{$foo = strlen($bar)}
-{$foo.bar.baz=1}, {$foo[]=1}
-
-Smarty "dot" syntax (note: embedded {} are used to address ambiguities):
-
-{$foo.a.b.c} => $foo['a']['b']['c']
-{$foo.a.$b.c} => $foo['a'][$b]['c']
-{$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c']
-{$foo.a.{$b.c}} => $foo['a'][$b['c']]
-
-{$object->method1($x)->method2($y)}
-
-
-
-
diff --git a/lib/redactor/codemirror/mode/sql/index.html b/lib/redactor/codemirror/mode/sql/index.html
deleted file mode 100644
index 2b61145..0000000
--- a/lib/redactor/codemirror/mode/sql/index.html
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-CodeMirror: SQL Mode for CodeMirror
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-SQL Mode for CodeMirror
-
- -- SQL Mode for CodeMirror
-SELECT SQL_NO_CACHE DISTINCT
- @var1 AS `val1`, @'val2', @global.'sql_mode',
- 1.1 AS `float_val`, .14 AS `another_float`, 0.09e3 AS `int_with_esp`,
- 0xFA5 AS `hex`, x'fa5' AS `hex2`, 0b101 AS `bin`, b'101' AS `bin2`,
- DATE '1994-01-01' AS `sql_date`, { T "1994-01-01" } AS `odbc_date`,
- 'my string', _utf8'your string', N'her string',
- TRUE, FALSE, UNKNOWN
- FROM DUAL
- -- space needed after '--'
- # 1 line comment
- /* multiline
- comment! */
- LIMIT 1 OFFSET 0;
-
-
- MIME types defined:
- text/x-sql ,
- text/x-mysql ,
- text/x-mariadb ,
- text/x-cassandra ,
- text/x-plsql ,
- text/x-mssql ,
- text/x-hive ,
- text/x-pgsql ,
- text/x-gql ,
- text/x-gpsql .
- text/x-esper .
- text/x-sqlite .
- text/x-sparksql .
- text/x-trino .
-
-
-
-