Upgrade ACE Editor from 1.4.7 to 1.4.14

This commit is contained in:
Laurent Destailleur 2022-04-03 12:56:07 +02:00
parent d514d72ac5
commit 564382ec6c
303 changed files with 26642 additions and 17750 deletions

View File

@ -48,7 +48,7 @@ TCPDF 6.3.2 LGPL-3+ Yes
TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement TCPDI 1.0.0 LGPL-3+ / Apache 2.0 Yes FPDI replacement
JS libraries: JS libraries:
Ace 1.4.8 BSD Yes JS library to get code syntaxique coloration in a textarea. Ace 1.4.14 BSD Yes JS library to get code syntaxique coloration in a textarea.
ChartJS 3.7.1 MIT License Yes JS library for graph ChartJS 3.7.1 MIT License Yes JS library for graph
jQuery 3.5.1 MIT License Yes JS library jQuery 3.5.1 MIT License Yes JS library
jQuery UI 1.12.1 GPL and MIT License Yes JS library plugin UI jQuery UI 1.12.1 GPL and MIT License Yes JS library plugin UI

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2017 Oscss-Shop <support@oscss-shop.fr>. /* Copyright (C) 2017 Oscss-Shop <support@oscss-shop.fr>.
* Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modifyion 2.0 (the "License"); * This program is free software; you can redistribute it and/or modifyion 2.0 (the "License");
* it under the terms of the GNU General Public License as published bypliance with the License. * it under the terms of the GNU General Public License as published bypliance with the License.
@ -17,9 +17,6 @@
* or see https://www.gnu.org/ * or see https://www.gnu.org/
*/ */
if (!defined('REQUIRE_JQUERY_BLOCKUI')) {
define('REQUIRE_JQUERY_BLOCKUI', 1);
}
if (!defined('NOTOKENRENEWAL')) { if (!defined('NOTOKENRENEWAL')) {
define('NOTOKENRENEWAL', 1); define('NOTOKENRENEWAL', 1);
} }

View File

@ -67,9 +67,6 @@ div.divsearchfield {
.tree li:last-child:after{ .tree li:last-child:after{
display: none display: none
} }
.blockUI {
cursor: auto!important;
}
.newAppParent{ .newAppParent{
position: relative; position: relative;
overflow: hidden; overflow: hidden;

View File

@ -0,0 +1,3 @@
demo/
kitchen-sink.html
* *

View File

@ -1,3 +1,26 @@
2022.01.26 Version 1.4.14
* update vim mode
* remove slow regex in beautify extension
2021.09.30 Version 1.4.13
* added useStrictCSP global option to use in environments where dynamic style creation is disabled
see demo/csp.html for an example of a page which loads external css files instead of generating styles with javascript
* updated vim mode, added support for gqq command
2020.07.06 Version 1.4.12
* removed unused es5-shim
* imporved ruby and vbscript highlighting and folding
* workaround for double space being converted to dot on mobile keyboards
2020.04.15 Version 1.4.10
* added workaround for chrome bug causing memory leak after calling editor.destroy
* added code folding support for vbscript mode
2020.04.01 Version 1.4.9
* added option to disable autoindent
* added new language modes
* fixed backspace not working with some mobile keyboards
2020.01.14 Version 1.4.8 2020.01.14 Version 1.4.8
* highlight both matched braces, and highlight unmatched brace in red * highlight both matched braces, and highlight unmatched brace in red
* improve snippet manager * improve snippet manager

View File

@ -1,7 +1,11 @@
declare module 'ace-builds/webpack-resolver';
declare module 'ace-builds/src-noconflict/ace';
declare module 'ace-builds/src-noconflict/ext-beautify'; declare module 'ace-builds/src-noconflict/ext-beautify';
declare module 'ace-builds/src-noconflict/ext-code_lens';
declare module 'ace-builds/src-noconflict/ext-elastic_tabstops_lite'; declare module 'ace-builds/src-noconflict/ext-elastic_tabstops_lite';
declare module 'ace-builds/src-noconflict/ext-emmet'; declare module 'ace-builds/src-noconflict/ext-emmet';
declare module 'ace-builds/src-noconflict/ext-error_marker'; declare module 'ace-builds/src-noconflict/ext-error_marker';
declare module 'ace-builds/src-noconflict/ext-hardwrap';
declare module 'ace-builds/src-noconflict/ext-keybinding_menu'; declare module 'ace-builds/src-noconflict/ext-keybinding_menu';
declare module 'ace-builds/src-noconflict/ext-language_tools'; declare module 'ace-builds/src-noconflict/ext-language_tools';
declare module 'ace-builds/src-noconflict/ext-linking'; declare module 'ace-builds/src-noconflict/ext-linking';
@ -21,10 +25,12 @@ declare module 'ace-builds/src-noconflict/ext-whitespace';
declare module 'ace-builds/src-noconflict/keybinding-emacs'; declare module 'ace-builds/src-noconflict/keybinding-emacs';
declare module 'ace-builds/src-noconflict/keybinding-sublime'; declare module 'ace-builds/src-noconflict/keybinding-sublime';
declare module 'ace-builds/src-noconflict/keybinding-vim'; declare module 'ace-builds/src-noconflict/keybinding-vim';
declare module 'ace-builds/src-noconflict/keybinding-vscode';
declare module 'ace-builds/src-noconflict/mode-abap'; declare module 'ace-builds/src-noconflict/mode-abap';
declare module 'ace-builds/src-noconflict/mode-abc'; declare module 'ace-builds/src-noconflict/mode-abc';
declare module 'ace-builds/src-noconflict/mode-actionscript'; declare module 'ace-builds/src-noconflict/mode-actionscript';
declare module 'ace-builds/src-noconflict/mode-ada'; declare module 'ace-builds/src-noconflict/mode-ada';
declare module 'ace-builds/src-noconflict/mode-alda';
declare module 'ace-builds/src-noconflict/mode-apache_conf'; declare module 'ace-builds/src-noconflict/mode-apache_conf';
declare module 'ace-builds/src-noconflict/mode-apex'; declare module 'ace-builds/src-noconflict/mode-apex';
declare module 'ace-builds/src-noconflict/mode-applescript'; declare module 'ace-builds/src-noconflict/mode-applescript';
@ -34,7 +40,6 @@ declare module 'ace-builds/src-noconflict/mode-asl';
declare module 'ace-builds/src-noconflict/mode-assembly_x86'; declare module 'ace-builds/src-noconflict/mode-assembly_x86';
declare module 'ace-builds/src-noconflict/mode-autohotkey'; declare module 'ace-builds/src-noconflict/mode-autohotkey';
declare module 'ace-builds/src-noconflict/mode-batchfile'; declare module 'ace-builds/src-noconflict/mode-batchfile';
declare module 'ace-builds/src-noconflict/mode-bro';
declare module 'ace-builds/src-noconflict/mode-c9search'; declare module 'ace-builds/src-noconflict/mode-c9search';
declare module 'ace-builds/src-noconflict/mode-cirru'; declare module 'ace-builds/src-noconflict/mode-cirru';
declare module 'ace-builds/src-noconflict/mode-clojure'; declare module 'ace-builds/src-noconflict/mode-clojure';
@ -92,6 +97,7 @@ declare module 'ace-builds/src-noconflict/mode-jade';
declare module 'ace-builds/src-noconflict/mode-java'; declare module 'ace-builds/src-noconflict/mode-java';
declare module 'ace-builds/src-noconflict/mode-javascript'; declare module 'ace-builds/src-noconflict/mode-javascript';
declare module 'ace-builds/src-noconflict/mode-json'; declare module 'ace-builds/src-noconflict/mode-json';
declare module 'ace-builds/src-noconflict/mode-json5';
declare module 'ace-builds/src-noconflict/mode-jsoniq'; declare module 'ace-builds/src-noconflict/mode-jsoniq';
declare module 'ace-builds/src-noconflict/mode-jsp'; declare module 'ace-builds/src-noconflict/mode-jsp';
declare module 'ace-builds/src-noconflict/mode-jssm'; declare module 'ace-builds/src-noconflict/mode-jssm';
@ -99,6 +105,7 @@ declare module 'ace-builds/src-noconflict/mode-jsx';
declare module 'ace-builds/src-noconflict/mode-julia'; declare module 'ace-builds/src-noconflict/mode-julia';
declare module 'ace-builds/src-noconflict/mode-kotlin'; declare module 'ace-builds/src-noconflict/mode-kotlin';
declare module 'ace-builds/src-noconflict/mode-latex'; declare module 'ace-builds/src-noconflict/mode-latex';
declare module 'ace-builds/src-noconflict/mode-latte';
declare module 'ace-builds/src-noconflict/mode-less'; declare module 'ace-builds/src-noconflict/mode-less';
declare module 'ace-builds/src-noconflict/mode-liquid'; declare module 'ace-builds/src-noconflict/mode-liquid';
declare module 'ace-builds/src-noconflict/mode-lisp'; declare module 'ace-builds/src-noconflict/mode-lisp';
@ -114,7 +121,9 @@ declare module 'ace-builds/src-noconflict/mode-markdown';
declare module 'ace-builds/src-noconflict/mode-mask'; declare module 'ace-builds/src-noconflict/mode-mask';
declare module 'ace-builds/src-noconflict/mode-matlab'; declare module 'ace-builds/src-noconflict/mode-matlab';
declare module 'ace-builds/src-noconflict/mode-maze'; declare module 'ace-builds/src-noconflict/mode-maze';
declare module 'ace-builds/src-noconflict/mode-mediawiki';
declare module 'ace-builds/src-noconflict/mode-mel'; declare module 'ace-builds/src-noconflict/mode-mel';
declare module 'ace-builds/src-noconflict/mode-mips';
declare module 'ace-builds/src-noconflict/mode-mixal'; declare module 'ace-builds/src-noconflict/mode-mixal';
declare module 'ace-builds/src-noconflict/mode-mushcode'; declare module 'ace-builds/src-noconflict/mode-mushcode';
declare module 'ace-builds/src-noconflict/mode-mysql'; declare module 'ace-builds/src-noconflict/mode-mysql';
@ -122,11 +131,11 @@ declare module 'ace-builds/src-noconflict/mode-nginx';
declare module 'ace-builds/src-noconflict/mode-nim'; declare module 'ace-builds/src-noconflict/mode-nim';
declare module 'ace-builds/src-noconflict/mode-nix'; declare module 'ace-builds/src-noconflict/mode-nix';
declare module 'ace-builds/src-noconflict/mode-nsis'; declare module 'ace-builds/src-noconflict/mode-nsis';
declare module 'ace-builds/src-noconflict/mode-nunjucks';
declare module 'ace-builds/src-noconflict/mode-objectivec'; declare module 'ace-builds/src-noconflict/mode-objectivec';
declare module 'ace-builds/src-noconflict/mode-ocaml'; declare module 'ace-builds/src-noconflict/mode-ocaml';
declare module 'ace-builds/src-noconflict/mode-pascal'; declare module 'ace-builds/src-noconflict/mode-pascal';
declare module 'ace-builds/src-noconflict/mode-perl'; declare module 'ace-builds/src-noconflict/mode-perl';
declare module 'ace-builds/src-noconflict/mode-perl6';
declare module 'ace-builds/src-noconflict/mode-pgsql'; declare module 'ace-builds/src-noconflict/mode-pgsql';
declare module 'ace-builds/src-noconflict/mode-php'; declare module 'ace-builds/src-noconflict/mode-php';
declare module 'ace-builds/src-noconflict/mode-php_laravel_blade'; declare module 'ace-builds/src-noconflict/mode-php_laravel_blade';
@ -134,12 +143,15 @@ declare module 'ace-builds/src-noconflict/mode-pig';
declare module 'ace-builds/src-noconflict/mode-plain_text'; declare module 'ace-builds/src-noconflict/mode-plain_text';
declare module 'ace-builds/src-noconflict/mode-powershell'; declare module 'ace-builds/src-noconflict/mode-powershell';
declare module 'ace-builds/src-noconflict/mode-praat'; declare module 'ace-builds/src-noconflict/mode-praat';
declare module 'ace-builds/src-noconflict/mode-prisma';
declare module 'ace-builds/src-noconflict/mode-prolog'; declare module 'ace-builds/src-noconflict/mode-prolog';
declare module 'ace-builds/src-noconflict/mode-properties'; declare module 'ace-builds/src-noconflict/mode-properties';
declare module 'ace-builds/src-noconflict/mode-protobuf'; declare module 'ace-builds/src-noconflict/mode-protobuf';
declare module 'ace-builds/src-noconflict/mode-puppet'; declare module 'ace-builds/src-noconflict/mode-puppet';
declare module 'ace-builds/src-noconflict/mode-python'; declare module 'ace-builds/src-noconflict/mode-python';
declare module 'ace-builds/src-noconflict/mode-qml';
declare module 'ace-builds/src-noconflict/mode-r'; declare module 'ace-builds/src-noconflict/mode-r';
declare module 'ace-builds/src-noconflict/mode-raku';
declare module 'ace-builds/src-noconflict/mode-razor'; declare module 'ace-builds/src-noconflict/mode-razor';
declare module 'ace-builds/src-noconflict/mode-rdoc'; declare module 'ace-builds/src-noconflict/mode-rdoc';
declare module 'ace-builds/src-noconflict/mode-red'; declare module 'ace-builds/src-noconflict/mode-red';
@ -152,11 +164,13 @@ declare module 'ace-builds/src-noconflict/mode-sass';
declare module 'ace-builds/src-noconflict/mode-scad'; declare module 'ace-builds/src-noconflict/mode-scad';
declare module 'ace-builds/src-noconflict/mode-scala'; declare module 'ace-builds/src-noconflict/mode-scala';
declare module 'ace-builds/src-noconflict/mode-scheme'; declare module 'ace-builds/src-noconflict/mode-scheme';
declare module 'ace-builds/src-noconflict/mode-scrypt';
declare module 'ace-builds/src-noconflict/mode-scss'; declare module 'ace-builds/src-noconflict/mode-scss';
declare module 'ace-builds/src-noconflict/mode-sh'; declare module 'ace-builds/src-noconflict/mode-sh';
declare module 'ace-builds/src-noconflict/mode-sjs'; declare module 'ace-builds/src-noconflict/mode-sjs';
declare module 'ace-builds/src-noconflict/mode-slim'; declare module 'ace-builds/src-noconflict/mode-slim';
declare module 'ace-builds/src-noconflict/mode-smarty'; declare module 'ace-builds/src-noconflict/mode-smarty';
declare module 'ace-builds/src-noconflict/mode-smithy';
declare module 'ace-builds/src-noconflict/mode-snippets'; declare module 'ace-builds/src-noconflict/mode-snippets';
declare module 'ace-builds/src-noconflict/mode-soy_template'; declare module 'ace-builds/src-noconflict/mode-soy_template';
declare module 'ace-builds/src-noconflict/mode-space'; declare module 'ace-builds/src-noconflict/mode-space';
@ -210,6 +224,8 @@ declare module 'ace-builds/src-noconflict/theme-merbivore';
declare module 'ace-builds/src-noconflict/theme-merbivore_soft'; declare module 'ace-builds/src-noconflict/theme-merbivore_soft';
declare module 'ace-builds/src-noconflict/theme-monokai'; declare module 'ace-builds/src-noconflict/theme-monokai';
declare module 'ace-builds/src-noconflict/theme-mono_industrial'; declare module 'ace-builds/src-noconflict/theme-mono_industrial';
declare module 'ace-builds/src-noconflict/theme-nord_dark';
declare module 'ace-builds/src-noconflict/theme-one_dark';
declare module 'ace-builds/src-noconflict/theme-pastel_on_dark'; declare module 'ace-builds/src-noconflict/theme-pastel_on_dark';
declare module 'ace-builds/src-noconflict/theme-solarized_dark'; declare module 'ace-builds/src-noconflict/theme-solarized_dark';
declare module 'ace-builds/src-noconflict/theme-solarized_light'; declare module 'ace-builds/src-noconflict/theme-solarized_light';
@ -228,6 +244,7 @@ declare module 'ace-builds/src-noconflict/snippets/abap';
declare module 'ace-builds/src-noconflict/snippets/abc'; declare module 'ace-builds/src-noconflict/snippets/abc';
declare module 'ace-builds/src-noconflict/snippets/actionscript'; declare module 'ace-builds/src-noconflict/snippets/actionscript';
declare module 'ace-builds/src-noconflict/snippets/ada'; declare module 'ace-builds/src-noconflict/snippets/ada';
declare module 'ace-builds/src-noconflict/snippets/alda';
declare module 'ace-builds/src-noconflict/snippets/apache_conf'; declare module 'ace-builds/src-noconflict/snippets/apache_conf';
declare module 'ace-builds/src-noconflict/snippets/apex'; declare module 'ace-builds/src-noconflict/snippets/apex';
declare module 'ace-builds/src-noconflict/snippets/applescript'; declare module 'ace-builds/src-noconflict/snippets/applescript';
@ -237,7 +254,6 @@ declare module 'ace-builds/src-noconflict/snippets/asl';
declare module 'ace-builds/src-noconflict/snippets/assembly_x86'; declare module 'ace-builds/src-noconflict/snippets/assembly_x86';
declare module 'ace-builds/src-noconflict/snippets/autohotkey'; declare module 'ace-builds/src-noconflict/snippets/autohotkey';
declare module 'ace-builds/src-noconflict/snippets/batchfile'; declare module 'ace-builds/src-noconflict/snippets/batchfile';
declare module 'ace-builds/src-noconflict/snippets/bro';
declare module 'ace-builds/src-noconflict/snippets/c9search'; declare module 'ace-builds/src-noconflict/snippets/c9search';
declare module 'ace-builds/src-noconflict/snippets/cirru'; declare module 'ace-builds/src-noconflict/snippets/cirru';
declare module 'ace-builds/src-noconflict/snippets/clojure'; declare module 'ace-builds/src-noconflict/snippets/clojure';
@ -295,6 +311,7 @@ declare module 'ace-builds/src-noconflict/snippets/jade';
declare module 'ace-builds/src-noconflict/snippets/java'; declare module 'ace-builds/src-noconflict/snippets/java';
declare module 'ace-builds/src-noconflict/snippets/javascript'; declare module 'ace-builds/src-noconflict/snippets/javascript';
declare module 'ace-builds/src-noconflict/snippets/json'; declare module 'ace-builds/src-noconflict/snippets/json';
declare module 'ace-builds/src-noconflict/snippets/json5';
declare module 'ace-builds/src-noconflict/snippets/jsoniq'; declare module 'ace-builds/src-noconflict/snippets/jsoniq';
declare module 'ace-builds/src-noconflict/snippets/jsp'; declare module 'ace-builds/src-noconflict/snippets/jsp';
declare module 'ace-builds/src-noconflict/snippets/jssm'; declare module 'ace-builds/src-noconflict/snippets/jssm';
@ -302,6 +319,7 @@ declare module 'ace-builds/src-noconflict/snippets/jsx';
declare module 'ace-builds/src-noconflict/snippets/julia'; declare module 'ace-builds/src-noconflict/snippets/julia';
declare module 'ace-builds/src-noconflict/snippets/kotlin'; declare module 'ace-builds/src-noconflict/snippets/kotlin';
declare module 'ace-builds/src-noconflict/snippets/latex'; declare module 'ace-builds/src-noconflict/snippets/latex';
declare module 'ace-builds/src-noconflict/snippets/latte';
declare module 'ace-builds/src-noconflict/snippets/less'; declare module 'ace-builds/src-noconflict/snippets/less';
declare module 'ace-builds/src-noconflict/snippets/liquid'; declare module 'ace-builds/src-noconflict/snippets/liquid';
declare module 'ace-builds/src-noconflict/snippets/lisp'; declare module 'ace-builds/src-noconflict/snippets/lisp';
@ -317,7 +335,9 @@ declare module 'ace-builds/src-noconflict/snippets/markdown';
declare module 'ace-builds/src-noconflict/snippets/mask'; declare module 'ace-builds/src-noconflict/snippets/mask';
declare module 'ace-builds/src-noconflict/snippets/matlab'; declare module 'ace-builds/src-noconflict/snippets/matlab';
declare module 'ace-builds/src-noconflict/snippets/maze'; declare module 'ace-builds/src-noconflict/snippets/maze';
declare module 'ace-builds/src-noconflict/snippets/mediawiki';
declare module 'ace-builds/src-noconflict/snippets/mel'; declare module 'ace-builds/src-noconflict/snippets/mel';
declare module 'ace-builds/src-noconflict/snippets/mips';
declare module 'ace-builds/src-noconflict/snippets/mixal'; declare module 'ace-builds/src-noconflict/snippets/mixal';
declare module 'ace-builds/src-noconflict/snippets/mushcode'; declare module 'ace-builds/src-noconflict/snippets/mushcode';
declare module 'ace-builds/src-noconflict/snippets/mysql'; declare module 'ace-builds/src-noconflict/snippets/mysql';
@ -325,11 +345,11 @@ declare module 'ace-builds/src-noconflict/snippets/nginx';
declare module 'ace-builds/src-noconflict/snippets/nim'; declare module 'ace-builds/src-noconflict/snippets/nim';
declare module 'ace-builds/src-noconflict/snippets/nix'; declare module 'ace-builds/src-noconflict/snippets/nix';
declare module 'ace-builds/src-noconflict/snippets/nsis'; declare module 'ace-builds/src-noconflict/snippets/nsis';
declare module 'ace-builds/src-noconflict/snippets/nunjucks';
declare module 'ace-builds/src-noconflict/snippets/objectivec'; declare module 'ace-builds/src-noconflict/snippets/objectivec';
declare module 'ace-builds/src-noconflict/snippets/ocaml'; declare module 'ace-builds/src-noconflict/snippets/ocaml';
declare module 'ace-builds/src-noconflict/snippets/pascal'; declare module 'ace-builds/src-noconflict/snippets/pascal';
declare module 'ace-builds/src-noconflict/snippets/perl'; declare module 'ace-builds/src-noconflict/snippets/perl';
declare module 'ace-builds/src-noconflict/snippets/perl6';
declare module 'ace-builds/src-noconflict/snippets/pgsql'; declare module 'ace-builds/src-noconflict/snippets/pgsql';
declare module 'ace-builds/src-noconflict/snippets/php'; declare module 'ace-builds/src-noconflict/snippets/php';
declare module 'ace-builds/src-noconflict/snippets/php_laravel_blade'; declare module 'ace-builds/src-noconflict/snippets/php_laravel_blade';
@ -337,12 +357,15 @@ declare module 'ace-builds/src-noconflict/snippets/pig';
declare module 'ace-builds/src-noconflict/snippets/plain_text'; declare module 'ace-builds/src-noconflict/snippets/plain_text';
declare module 'ace-builds/src-noconflict/snippets/powershell'; declare module 'ace-builds/src-noconflict/snippets/powershell';
declare module 'ace-builds/src-noconflict/snippets/praat'; declare module 'ace-builds/src-noconflict/snippets/praat';
declare module 'ace-builds/src-noconflict/snippets/prisma';
declare module 'ace-builds/src-noconflict/snippets/prolog'; declare module 'ace-builds/src-noconflict/snippets/prolog';
declare module 'ace-builds/src-noconflict/snippets/properties'; declare module 'ace-builds/src-noconflict/snippets/properties';
declare module 'ace-builds/src-noconflict/snippets/protobuf'; declare module 'ace-builds/src-noconflict/snippets/protobuf';
declare module 'ace-builds/src-noconflict/snippets/puppet'; declare module 'ace-builds/src-noconflict/snippets/puppet';
declare module 'ace-builds/src-noconflict/snippets/python'; declare module 'ace-builds/src-noconflict/snippets/python';
declare module 'ace-builds/src-noconflict/snippets/qml';
declare module 'ace-builds/src-noconflict/snippets/r'; declare module 'ace-builds/src-noconflict/snippets/r';
declare module 'ace-builds/src-noconflict/snippets/raku';
declare module 'ace-builds/src-noconflict/snippets/razor'; declare module 'ace-builds/src-noconflict/snippets/razor';
declare module 'ace-builds/src-noconflict/snippets/rdoc'; declare module 'ace-builds/src-noconflict/snippets/rdoc';
declare module 'ace-builds/src-noconflict/snippets/red'; declare module 'ace-builds/src-noconflict/snippets/red';
@ -355,11 +378,13 @@ declare module 'ace-builds/src-noconflict/snippets/sass';
declare module 'ace-builds/src-noconflict/snippets/scad'; declare module 'ace-builds/src-noconflict/snippets/scad';
declare module 'ace-builds/src-noconflict/snippets/scala'; declare module 'ace-builds/src-noconflict/snippets/scala';
declare module 'ace-builds/src-noconflict/snippets/scheme'; declare module 'ace-builds/src-noconflict/snippets/scheme';
declare module 'ace-builds/src-noconflict/snippets/scrypt';
declare module 'ace-builds/src-noconflict/snippets/scss'; declare module 'ace-builds/src-noconflict/snippets/scss';
declare module 'ace-builds/src-noconflict/snippets/sh'; declare module 'ace-builds/src-noconflict/snippets/sh';
declare module 'ace-builds/src-noconflict/snippets/sjs'; declare module 'ace-builds/src-noconflict/snippets/sjs';
declare module 'ace-builds/src-noconflict/snippets/slim'; declare module 'ace-builds/src-noconflict/snippets/slim';
declare module 'ace-builds/src-noconflict/snippets/smarty'; declare module 'ace-builds/src-noconflict/snippets/smarty';
declare module 'ace-builds/src-noconflict/snippets/smithy';
declare module 'ace-builds/src-noconflict/snippets/snippets'; declare module 'ace-builds/src-noconflict/snippets/snippets';
declare module 'ace-builds/src-noconflict/snippets/soy_template'; declare module 'ace-builds/src-noconflict/snippets/soy_template';
declare module 'ace-builds/src-noconflict/snippets/space'; declare module 'ace-builds/src-noconflict/snippets/space';
@ -390,4 +415,3 @@ declare module 'ace-builds/src-noconflict/snippets/xml';
declare module 'ace-builds/src-noconflict/snippets/xquery'; declare module 'ace-builds/src-noconflict/snippets/xquery';
declare module 'ace-builds/src-noconflict/snippets/yaml'; declare module 'ace-builds/src-noconflict/snippets/yaml';
declare module 'ace-builds/src-noconflict/snippets/zeek'; declare module 'ace-builds/src-noconflict/snippets/zeek';
declare module 'ace-builds/webpack-resolver';

View File

@ -21,10 +21,12 @@ export namespace Ace {
getLine(row: number): string; getLine(row: number): string;
getLines(firstRow: number, lastRow: number): string[]; getLines(firstRow: number, lastRow: number): string[];
getAllLines(): string[]; getAllLines(): string[];
getLength(): number;
getTextRange(range: Range): string; getTextRange(range: Range): string;
getLinesForRange(range: Range): string[]; getLinesForRange(range: Range): string[];
insert(position: Point, text: string): Point; insert(position: Point, text: string): Point;
insertInLine(position: Point, text: string): Point; insertInLine(position: Point, text: string): Point;
insertNewLine(position: Point): Point;
clippedPos(row: number, column: number): Point; clippedPos(row: number, column: number): Point;
clonePos(pos: Point): Point; clonePos(pos: Point): Point;
pos(row: number, column: number): Point; pos(row: number, column: number): Point;
@ -153,7 +155,7 @@ export namespace Ace {
} }
export interface EditSessionOptions { export interface EditSessionOptions {
wrap: string | number; wrap: "off" | "free" | "printmargin" | boolean | number;
wrapMethod: 'code' | 'text' | 'auto'; wrapMethod: 'code' | 'text' | 'auto';
indentedSoftWrap: boolean; indentedSoftWrap: boolean;
firstLineNumber: number; firstLineNumber: number;
@ -212,6 +214,7 @@ export namespace Ace {
mergeUndoDeltas: true | false | 'always'; mergeUndoDeltas: true | false | 'always';
behavioursEnabled: boolean; behavioursEnabled: boolean;
wrapBehavioursEnabled: boolean; wrapBehavioursEnabled: boolean;
enableAutoIndent: boolean;
autoScrollEditorIntoView: boolean; autoScrollEditorIntoView: boolean;
keyboardHandler: string; keyboardHandler: string;
placeholder: string; placeholder: string;
@ -228,7 +231,7 @@ export namespace Ace {
range: Range; range: Range;
preserveCase: boolean; preserveCase: boolean;
regExp: RegExp; regExp: RegExp;
wholeWord: string; wholeWord: boolean;
caseSensitive: boolean; caseSensitive: boolean;
wrap: boolean; wrap: boolean;
} }
@ -362,7 +365,7 @@ export namespace Ace {
moduleUrl(name: string, component?: string): string; moduleUrl(name: string, component?: string): string;
setModuleUrl(name: string, subst: string): string; setModuleUrl(name: string, subst: string): string;
loadModule(moduleName: string | [string, string], loadModule(moduleName: string | [string, string],
onLoad: (module: any) => void): void; onLoad?: (module: any) => void): void;
init(packaged: any): any; init(packaged: any): any;
defineOptions(obj: any, path: string, options: { [key: string]: any }): Config; defineOptions(obj: any, path: string, options: { [key: string]: any }): Config;
resetOptions(obj: any): void; resetOptions(obj: any): void;
@ -398,6 +401,8 @@ export namespace Ace {
export interface EditSession extends EventEmitter, OptionsProvider, Folding { export interface EditSession extends EventEmitter, OptionsProvider, Folding {
selection: Selection; selection: Selection;
// TODO: define BackgroundTokenizer
on(name: 'changeFold', on(name: 'changeFold',
callback: (obj: { data: Fold, action: string }) => void): Function; callback: (obj: { data: Fold, action: string }) => void): Function;
on(name: 'changeScrollLeft', callback: (scrollLeft: number) => void): Function; on(name: 'changeScrollLeft', callback: (scrollLeft: number) => void): Function;
@ -519,6 +524,8 @@ export namespace Ace {
removeKeyboardHandler(handler: KeyboardHandler): boolean; removeKeyboardHandler(handler: KeyboardHandler): boolean;
getKeyboardHandler(): KeyboardHandler; getKeyboardHandler(): KeyboardHandler;
getStatusText(): string; getStatusText(): string;
onCommandKey(e: any, hashId: number, keyCode: number): boolean;
onTextInput(text: string): boolean;
} }
interface CommandMap { interface CommandMap {
@ -549,10 +556,17 @@ export namespace Ace {
toggleRecording(editor: Editor): void; toggleRecording(editor: Editor): void;
replay(editor: Editor): void; replay(editor: Editor): void;
addCommand(command: Command): void; addCommand(command: Command): void;
removeCommand(command: Command, keepCommand?: boolean): void; addCommands(command: Command[]): void;
removeCommand(command: Command | string, keepCommand?: boolean): void;
removeCommands(command: Command[]): void;
bindKey(key: string | { mac?: string, win?: string }, bindKey(key: string | { mac?: string, win?: string },
command: CommandLike, command: CommandLike,
position?: number): void; position?: number): void;
bindKeys(keys: {[s: string]: Function}): void;
parseKeys(keyPart: string): {key: string, hashId: number};
findKeyCommand(hashId: number, keyString: string): string | undefined;
handleKeyboard(data: {}, hashId: number, keyString: string, keyCode: string | number): void | {command: string};
getStatusText(editor: Editor, data: {}): string;
} }
export interface VirtualRenderer extends OptionsProvider, EventEmitter { export interface VirtualRenderer extends OptionsProvider, EventEmitter {
@ -746,7 +760,7 @@ export namespace Ace {
setFontSize(size: string): void; setFontSize(size: string): void;
focus(): void; focus(): void;
isFocused(): boolean; isFocused(): boolean;
flur(): void; blur(): void;
getSelectedText(): string; getSelectedText(): string;
getCopyText(): string; getCopyText(): string;
execCommand(command: string | string[], args?: any): boolean; execCommand(command: string | string[], args?: any): boolean;
@ -844,9 +858,10 @@ export namespace Ace {
replace(replacement: string, options?: Partial<SearchOptions>): number; replace(replacement: string, options?: Partial<SearchOptions>): number;
replaceAll(replacement: string, options?: Partial<SearchOptions>): number; replaceAll(replacement: string, options?: Partial<SearchOptions>): number;
getLastSearchOptions(): Partial<SearchOptions>; getLastSearchOptions(): Partial<SearchOptions>;
find(needle: string, options?: Partial<SearchOptions>, animate?: boolean): void; find(needle: string | RegExp, options?: Partial<SearchOptions>, animate?: boolean): Ace.Range | undefined;
findNext(options?: Partial<SearchOptions>, animate?: boolean): void; findNext(options?: Partial<SearchOptions>, animate?: boolean): void;
findPrevious(options?: Partial<SearchOptions>, animate?: boolean): void; findPrevious(options?: Partial<SearchOptions>, animate?: boolean): void;
findAll(needle: string | RegExp, options?: Partial<SearchOptions>, additive?: boolean): number;
undo(): void; undo(): void;
redo(): void; redo(): void;
destroy(): void; destroy(): void;
@ -857,6 +872,7 @@ export namespace Ace {
type CompleterCallback = (error: any, completions: Completion[]) => void; type CompleterCallback = (error: any, completions: Completion[]) => void;
interface Completer { interface Completer {
identifierRegexps?: Array<RegExp>,
getCompletions(editor: Editor, getCompletions(editor: Editor,
session: EditSession, session: EditSession,
position: Point, position: Point,

View File

@ -8,7 +8,7 @@
<meta name="author" content="Fabian Jakobs"> <meta name="author" content="Fabian Jakobs">
<!-- <!--
Ace Ace
version 1.4.8 version 1.4.14
commit commit
--> -->
@ -21,18 +21,18 @@
</head> </head>
<body> <body>
<div id="sidePanel" style="position:absolute;height:100%;"> <div id="sidePanel" style="position:absolute;height:100%;">
<div class="toggleButton"> <div class="toggleButton" id="optionToggle" role="button" aria-label="Hide Options" tabindex="0">
<div></div><div></div><div></div> <div></div><div></div><div></div>
</div> </div>
<a href="https://c9.io" title="Cloud9 IDE | Your code anywhere, anytime"> <a href="https://c9.io">
<img id="c9-logo" src="demo/kitchen-sink/logo.png" style="width: 172px;margin: -9px 30px -12px 51px;"> <img id="c9-logo" alt="Cloud9 IDE | Your code anywhere, anytime" src="demo/kitchen-sink/logo.png" style="width: 172px;margin: -9px 30px -12px 51px;">
</a> </a>
<div style="position: absolute; overflow: hidden; top:100px; bottom:0"> <div style="position: absolute; overflow: hidden; top:100px; bottom:0">
<div id="optionsPanel" style="width: 120%; height:100%; overflow-y: scroll"> <div id="optionsPanel" style="width: 120%; height:100%; overflow-y: scroll">
<a href="https://ace.c9.io"> <a href="https://ace.c9.io">
<img id="ace-logo" src="demo/kitchen-sink/ace-logo.png" style="width: 134px;margin: 46px 0px 4px 66px;"> <img id="ace-logo" alt="Ace Website" src="demo/kitchen-sink/ace-logo.png" style="width: 134px;margin: 46px 0px 4px 66px;">
</a> </a>
</div> </div>

View File

@ -2,7 +2,7 @@
"name": "ace-builds", "name": "ace-builds",
"main": "./src-noconflict/ace.js", "main": "./src-noconflict/ace.js",
"typings": "ace.d.ts", "typings": "ace.d.ts",
"version": "1.4.8", "version": "1.4.14",
"description": "Ace (Ajax.org Cloud9 Editor)", "description": "Ace (Ajax.org Cloud9 Editor)",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"

File diff suppressed because it is too large Load Diff

View File

@ -40,14 +40,26 @@ exports.beautify = function(session) {
var inBlock = false; var inBlock = false;
var levels = {0: 0}; var levels = {0: 0};
var parents = []; var parents = [];
var caseBody = false;
var trimNext = function() { var trimNext = function() {
if (nextToken && nextToken.value && nextToken.type !== 'string.regexp') if (nextToken && nextToken.value && nextToken.type !== 'string.regexp')
nextToken.value = nextToken.value.trim(); nextToken.value = nextToken.value.replace(/^\s*/, "");
}; };
var trimLine = function() { var trimLine = function() {
code = code.replace(/ +$/, ""); var end = code.length - 1;
while (true) {
if (end == 0)
break;
if (code[end] !== " ")
break;
end = end - 1;
}
code = code.slice(0, end + 1);
}; };
var trimCode = function() { var trimCode = function() {
@ -201,8 +213,11 @@ exports.beautify = function(session) {
trimLine(); trimLine();
if(value === "/>") if(value === "/>")
spaceBefore = true; spaceBefore = true;
} else if (token.type === "keyword" && value.match(/^(case|default)$/)) {
if (caseBody)
unindent = 1;
} }
if (breakBefore && !(token.type.match(/^(comment)$/) && !value.substr(0, 1).match(/^[/#]$/)) && !(token.type.match(/^(string)$/) && !value.substr(0, 1).match(/^['"]$/))) { if (breakBefore && !(token.type.match(/^(comment)$/) && !value.substr(0, 1).match(/^[/#]$/)) && !(token.type.match(/^(string)$/) && !value.substr(0, 1).match(/^['"@]$/))) {
indent = lastIndent; indent = lastIndent;
@ -229,16 +244,16 @@ exports.beautify = function(session) {
code += tabString; code += tabString;
} }
if (token.type === "keyword" && value.match(/^(case|default)$/)) { if (token.type === "keyword" && value.match(/^(case|default)$/)) {
parents[depth] = value; if (caseBody === false) {
depth++; parents[depth] = value;
} depth++;
caseBody = true;
}
if (token.type === "keyword" && value.match(/^(break)$/)) { } else if (token.type === "keyword" && value.match(/^(break)$/)) {
if(parents[depth-1] && parents[depth-1].match(/^(case|default)$/)) { if(parents[depth-1] && parents[depth-1].match(/^(case|default)$/)) {
depth--; depth--;
caseBody = false;
} }
} }
if (token.type === "paren.lparen") { if (token.type === "paren.lparen") {
@ -264,6 +279,9 @@ exports.beautify = function(session) {
} }
} }
} }
if (token.type == "text")
value = value.replace(/\s+$/, " ");
if (spaceBefore && !breakBefore) { if (spaceBefore && !breakBefore) {
trimLine(); trimLine();
if (code.substr(-1) !== "\n") if (code.substr(-1) !== "\n")

View File

@ -1,6 +1,7 @@
define("ace/ext/code_lens",["require","exports","module","ace/line_widgets","ace/lib/lang","ace/lib/dom","ace/editor","ace/config"], function(require, exports, module) { define("ace/ext/code_lens",["require","exports","module","ace/line_widgets","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/editor","ace/config"], function(require, exports, module) {
"use strict"; "use strict";
var LineWidgets = require("../line_widgets").LineWidgets; var LineWidgets = require("../line_widgets").LineWidgets;
var event = require("../lib/event");
var lang = require("../lib/lang"); var lang = require("../lib/lang");
var dom = require("../lib/dom"); var dom = require("../lib/dom");
@ -120,12 +121,14 @@ exports.setLenses = function(session, lenses) {
function attachToEditor(editor) { function attachToEditor(editor) {
editor.codeLensProviders = []; editor.codeLensProviders = [];
editor.renderer.on("afterRender", renderWidgets); editor.renderer.on("afterRender", renderWidgets);
editor.$codeLensClickHandler = function(e) { if (!editor.$codeLensClickHandler) {
var command = e.target.lensCommand; editor.$codeLensClickHandler = function(e) {
if (command) var command = e.target.lensCommand;
editor.execCommand(command.id, command.arguments); if (command)
}; editor.execCommand(command.id, command.arguments);
editor.container.addEventListener("click", editor.$codeLensClickHandler); };
event.addListener(editor.container, "click", editor.$codeLensClickHandler, editor);
}
editor.$updateLenses = function() { editor.$updateLenses = function() {
var session = editor.session; var session = editor.session;
if (!session) return; if (!session) return;
@ -138,8 +141,9 @@ function attachToEditor(editor) {
var providersToWaitNum = editor.codeLensProviders.length; var providersToWaitNum = editor.codeLensProviders.length;
var lenses = []; var lenses = [];
editor.codeLensProviders.forEach(function(provider) { editor.codeLensProviders.forEach(function(provider) {
provider.provideCodeLenses(session, function(currentLenses) { provider.provideCodeLenses(session, function(err, payload) {
currentLenses.forEach(function(lens) { if (err) return;
payload.forEach(function(lens) {
lenses.push(lens); lenses.push(lens);
}); });
providersToWaitNum--; providersToWaitNum--;
@ -222,7 +226,7 @@ dom.importCssString("\
.ace_dark > .ace_codeLens > a:hover {\ .ace_dark > .ace_codeLens > a:hover {\
color: #4e94ce;\ color: #4e94ce;\
}\ }\
", ""); ", "codelense.css", false);
}); (function() { }); (function() {
window.require(["ace/ext/code_lens"], function(m) { window.require(["ace/ext/code_lens"], function(m) {

View File

@ -1,5 +1,6 @@
define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/lib/dom","ace/editor"], function(require, exports, module) { define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"], function(require, exports, module) {
"use strict"; "use strict";
var dom = require("./lib/dom");
var oop = require("./lib/oop"); var oop = require("./lib/oop");
var EventEmitter = require("./lib/event_emitter").EventEmitter; var EventEmitter = require("./lib/event_emitter").EventEmitter;
var lang = require("./lib/lang"); var lang = require("./lib/lang");
@ -144,7 +145,9 @@ var SnippetManager = function() {
{regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) { {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) { var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) {
return operator.length == 2 ? operator[1] : "\x00"; return operator.length == 2 ? operator[1] : "\x00";
}).split("\x00"); }).split("\x00").map(function(value){
return {value: value};
});
stack[0].choices = choices; stack[0].choices = choices;
return [choices[0]]; return [choices[0]];
}, next: "start"}, }, next: "start"},
@ -615,6 +618,12 @@ var SnippetManager = function() {
} }
snippetMap[scope].push(s); snippetMap[scope].push(s);
if (s.prefix)
s.tabTrigger = s.prefix;
if (!s.content && s.body)
s.content = Array.isArray(s.body) ? s.body.join("\n") : s.body;
if (s.tabTrigger && !s.trigger) { if (s.tabTrigger && !s.trigger) {
if (!s.guard && /^\w/.test(s.tabTrigger)) if (!s.guard && /^\w/.test(s.tabTrigger))
s.guard = "\\b"; s.guard = "\\b";
@ -631,10 +640,13 @@ var SnippetManager = function() {
s.endTriggerRe = new RegExp(s.endTrigger); s.endTriggerRe = new RegExp(s.endTrigger);
} }
if (snippets && snippets.content) if (Array.isArray(snippets)) {
addSnippet(snippets);
else if (Array.isArray(snippets))
snippets.forEach(addSnippet); snippets.forEach(addSnippet);
} else {
Object.keys(snippets).forEach(function(key) {
addSnippet(snippets[key]);
});
}
this._signal("registerSnippets", {scope: scope}); this._signal("registerSnippets", {scope: scope});
}; };
@ -684,7 +696,7 @@ var SnippetManager = function() {
snippet.tabTrigger = val.match(/^\S*/)[0]; snippet.tabTrigger = val.match(/^\S*/)[0];
if (!snippet.name) if (!snippet.name)
snippet.name = val; snippet.name = val;
} else { } else if (key) {
snippet[key] = val; snippet[key] = val;
} }
} }
@ -833,18 +845,17 @@ var TabstopManager = function(editor) {
this.selectedTabstop = ts; this.selectedTabstop = ts;
var range = ts.firstNonLinked || ts; var range = ts.firstNonLinked || ts;
if (ts.choices) range.cursor = range.start;
if (!this.editor.inVirtualSelectionMode) { if (!this.editor.inVirtualSelectionMode) {
var sel = this.editor.multiSelect; var sel = this.editor.multiSelect;
sel.toSingleRange(range.clone()); sel.toSingleRange(range);
for (var i = 0; i < ts.length; i++) { for (var i = 0; i < ts.length; i++) {
if (ts.hasLinkedRanges && ts[i].linked) if (ts.hasLinkedRanges && ts[i].linked)
continue; continue;
sel.addRange(ts[i].clone(), true); sel.addRange(ts[i].clone(), true);
} }
if (sel.ranges[0])
sel.addRange(sel.ranges[0].clone());
} else { } else {
this.editor.selection.setRange(range); this.editor.selection.fromOrientedRange(range);
} }
this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler); this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
@ -971,14 +982,14 @@ var moveRelative = function(point, start) {
}; };
require("./lib/dom").importCssString("\ dom.importCssString("\
.ace_snippet-marker {\ .ace_snippet-marker {\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
box-sizing: border-box;\ box-sizing: border-box;\
background: rgba(194, 193, 208, 0.09);\ background: rgba(194, 193, 208, 0.09);\
border: 1px dotted rgba(211, 208, 235, 0.62);\ border: 1px dotted rgba(211, 208, 235, 0.62);\
position: absolute;\ position: absolute;\
}"); }", "snippets.css", false);
exports.snippetManager = new SnippetManager(); exports.snippetManager = new SnippetManager();

View File

@ -0,0 +1,125 @@
define("ace/ext/hardwrap",["require","exports","module","ace/range","ace/editor","ace/config"], function(require, exports, module) {
"use strict";
var Range = require("../range").Range;
function hardWrap(editor, options) {
var max = options.column || editor.getOption("printMarginColumn");
var allowMerge = options.allowMerge != false;
var row = Math.min(options.startRow, options.endRow);
var endRow = Math.max(options.startRow, options.endRow);
var session = editor.session;
while (row <= endRow) {
var line = session.getLine(row);
if (line.length > max) {
var space = findSpace(line, max, 5);
if (space) {
var indentation = /^\s*/.exec(line)[0];
session.replace(new Range(row,space.start,row,space.end), "\n" + indentation);
}
endRow++;
} else if (allowMerge && /\S/.test(line) && row != endRow) {
var nextLine = session.getLine(row + 1);
if (nextLine && /\S/.test(nextLine)) {
var trimmedLine = line.replace(/\s+$/, "");
var trimmedNextLine = nextLine.replace(/^\s+/, "");
var mergedLine = trimmedLine + " " + trimmedNextLine;
var space = findSpace(mergedLine, max, 5);
if (space && space.start > trimmedLine.length || mergedLine.length < max) {
var replaceRange = new Range(row,trimmedLine.length,row + 1,nextLine.length - trimmedNextLine.length);
session.replace(replaceRange, " ");
row--;
endRow--;
} else if (trimmedLine.length < line.length) {
session.remove(new Range(row, trimmedLine.length, row, line.length));
}
}
}
row++;
}
function findSpace(line, max, min) {
if (line.length < max)
return;
var before = line.slice(0, max);
var after = line.slice(max);
var spaceAfter = /^(?:(\s+)|(\S+)(\s+))/.exec(after);
var spaceBefore = /(?:(\s+)|(\s+)(\S+))$/.exec(before);
var start = 0;
var end = 0;
if (spaceBefore && !spaceBefore[2]) {
start = max - spaceBefore[1].length;
end = max;
}
if (spaceAfter && !spaceAfter[2]) {
if (!start)
start = max;
end = max + spaceAfter[1].length;
}
if (start) {
return {
start: start,
end: end
};
}
if (spaceBefore && spaceBefore[2] && spaceBefore.index > min) {
return {
start: spaceBefore.index,
end: spaceBefore.index + spaceBefore[2].length
};
}
if (spaceAfter && spaceAfter[2]) {
start = max + spaceAfter[2].length;
return {
start: start,
end: start + spaceAfter[3].length
};
}
}
}
function wrapAfterInput(e) {
if (e.command.name == "insertstring" && /\S/.test(e.args)) {
var editor = e.editor;
var cursor = editor.selection.cursor;
if (cursor.column <= editor.renderer.$printMarginColumn) return;
var lastDelta = editor.session.$undoManager.$lastDelta;
hardWrap(editor, {
startRow: cursor.row, endRow: cursor.row,
allowMerge: false
});
if (lastDelta != editor.session.$undoManager.$lastDelta)
editor.session.markUndoGroup();
}
}
var Editor = require("../editor").Editor;
require("../config").defineOptions(Editor.prototype, "editor", {
hardWrap: {
set: function(val) {
if (val) {
this.commands.on("afterExec", wrapAfterInput);
} else {
this.commands.off("afterExec", wrapAfterInput);
}
},
value: false
}
});
exports.hardWrap = hardWrap;
}); (function() {
window.require(["ace/ext/hardwrap"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -61,7 +61,7 @@ margin: 0px;\
.ace_optionsMenuEntry button:hover{\ .ace_optionsMenuEntry button:hover{\
background: #f0f0f0;\ background: #f0f0f0;\
}"; }";
dom.importCssString(cssText); dom.importCssString(cssText, "settings_menu.css", false);
module.exports.overlayPage = function overlayPage(editor, contentElement, callback) { module.exports.overlayPage = function overlayPage(editor, contentElement, callback) {
var closer = document.createElement('div'); var closer = document.createElement('div');

View File

@ -1,5 +1,6 @@
define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/lib/dom","ace/editor"], function(require, exports, module) { define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"], function(require, exports, module) {
"use strict"; "use strict";
var dom = require("./lib/dom");
var oop = require("./lib/oop"); var oop = require("./lib/oop");
var EventEmitter = require("./lib/event_emitter").EventEmitter; var EventEmitter = require("./lib/event_emitter").EventEmitter;
var lang = require("./lib/lang"); var lang = require("./lib/lang");
@ -144,7 +145,9 @@ var SnippetManager = function() {
{regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) { {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) { var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) {
return operator.length == 2 ? operator[1] : "\x00"; return operator.length == 2 ? operator[1] : "\x00";
}).split("\x00"); }).split("\x00").map(function(value){
return {value: value};
});
stack[0].choices = choices; stack[0].choices = choices;
return [choices[0]]; return [choices[0]];
}, next: "start"}, }, next: "start"},
@ -615,6 +618,12 @@ var SnippetManager = function() {
} }
snippetMap[scope].push(s); snippetMap[scope].push(s);
if (s.prefix)
s.tabTrigger = s.prefix;
if (!s.content && s.body)
s.content = Array.isArray(s.body) ? s.body.join("\n") : s.body;
if (s.tabTrigger && !s.trigger) { if (s.tabTrigger && !s.trigger) {
if (!s.guard && /^\w/.test(s.tabTrigger)) if (!s.guard && /^\w/.test(s.tabTrigger))
s.guard = "\\b"; s.guard = "\\b";
@ -631,10 +640,13 @@ var SnippetManager = function() {
s.endTriggerRe = new RegExp(s.endTrigger); s.endTriggerRe = new RegExp(s.endTrigger);
} }
if (snippets && snippets.content) if (Array.isArray(snippets)) {
addSnippet(snippets);
else if (Array.isArray(snippets))
snippets.forEach(addSnippet); snippets.forEach(addSnippet);
} else {
Object.keys(snippets).forEach(function(key) {
addSnippet(snippets[key]);
});
}
this._signal("registerSnippets", {scope: scope}); this._signal("registerSnippets", {scope: scope});
}; };
@ -684,7 +696,7 @@ var SnippetManager = function() {
snippet.tabTrigger = val.match(/^\S*/)[0]; snippet.tabTrigger = val.match(/^\S*/)[0];
if (!snippet.name) if (!snippet.name)
snippet.name = val; snippet.name = val;
} else { } else if (key) {
snippet[key] = val; snippet[key] = val;
} }
} }
@ -833,18 +845,17 @@ var TabstopManager = function(editor) {
this.selectedTabstop = ts; this.selectedTabstop = ts;
var range = ts.firstNonLinked || ts; var range = ts.firstNonLinked || ts;
if (ts.choices) range.cursor = range.start;
if (!this.editor.inVirtualSelectionMode) { if (!this.editor.inVirtualSelectionMode) {
var sel = this.editor.multiSelect; var sel = this.editor.multiSelect;
sel.toSingleRange(range.clone()); sel.toSingleRange(range);
for (var i = 0; i < ts.length; i++) { for (var i = 0; i < ts.length; i++) {
if (ts.hasLinkedRanges && ts[i].linked) if (ts.hasLinkedRanges && ts[i].linked)
continue; continue;
sel.addRange(ts[i].clone(), true); sel.addRange(ts[i].clone(), true);
} }
if (sel.ranges[0])
sel.addRange(sel.ranges[0].clone());
} else { } else {
this.editor.selection.setRange(range); this.editor.selection.fromOrientedRange(range);
} }
this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler); this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
@ -971,14 +982,14 @@ var moveRelative = function(point, start) {
}; };
require("./lib/dom").importCssString("\ dom.importCssString("\
.ace_snippet-marker {\ .ace_snippet-marker {\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
box-sizing: border-box;\ box-sizing: border-box;\
background: rgba(194, 193, 208, 0.09);\ background: rgba(194, 193, 208, 0.09);\
border: 1px dotted rgba(211, 208, 235, 0.62);\ border: 1px dotted rgba(211, 208, 235, 0.62);\
position: absolute;\ position: absolute;\
}"); }", "snippets.css", false);
exports.snippetManager = new SnippetManager(); exports.snippetManager = new SnippetManager();
@ -1330,7 +1341,7 @@ dom.importCssString("\
line-height: 1.4;\ line-height: 1.4;\
background: #25282c;\ background: #25282c;\
color: #c1c1c1;\ color: #c1c1c1;\
}", "autocompletion.css"); }", "autocompletion.css", false);
exports.AcePopup = AcePopup; exports.AcePopup = AcePopup;
exports.$singleLineEditor = $singleLineEditor; exports.$singleLineEditor = $singleLineEditor;
@ -1476,6 +1487,7 @@ var Autocomplete = function() {
} else if (keepPopupPosition && !prefix) { } else if (keepPopupPosition && !prefix) {
this.detach(); this.detach();
} }
this.changeTimer.cancel();
}; };
this.detach = function() { this.detach = function() {
@ -1538,13 +1550,15 @@ var Autocomplete = function() {
if (!data) if (!data)
return false; return false;
var completions = this.completions;
this.editor.startOperation({command: {name: "insertMatch"}});
if (data.completer && data.completer.insertMatch) { if (data.completer && data.completer.insertMatch) {
data.completer.insertMatch(this.editor, data); data.completer.insertMatch(this.editor, data);
} else { } else {
if (this.completions.filterText) { if (completions.filterText) {
var ranges = this.editor.selection.getAllRanges(); var ranges = this.editor.selection.getAllRanges();
for (var i = 0, range; range = ranges[i]; i++) { for (var i = 0, range; range = ranges[i]; i++) {
range.start.column -= this.completions.filterText.length; range.start.column -= completions.filterText.length;
this.editor.session.remove(range); this.editor.session.remove(range);
} }
} }
@ -1553,7 +1567,9 @@ var Autocomplete = function() {
else else
this.editor.execCommand("insertstring", data.value || data); this.editor.execCommand("insertstring", data.value || data);
} }
this.detach(); if (this.completions == completions)
this.detach();
this.editor.endOperation();
}; };
@ -1649,19 +1665,14 @@ var Autocomplete = function() {
return this.openPopup(this.editor, "", keepPopupPosition); return this.openPopup(this.editor, "", keepPopupPosition);
} }
var _id = this.gatherCompletionsId; var _id = this.gatherCompletionsId;
this.gatherCompletions(this.editor, function(err, results) { var detachIfFinished = function(results) {
var detachIfFinished = function() { if (!results.finished) return;
if (!results.finished) return; return this.detach();
return this.detach(); }.bind(this);
}.bind(this);
var processResults = function(results) {
var prefix = results.prefix; var prefix = results.prefix;
var matches = results && results.matches; var matches = results.matches;
if (!matches || !matches.length)
return detachIfFinished();
if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
return;
this.completions = new FilteredList(matches); this.completions = new FilteredList(matches);
@ -1671,14 +1682,39 @@ var Autocomplete = function() {
this.completions.setFilter(prefix); this.completions.setFilter(prefix);
var filtered = this.completions.filtered; var filtered = this.completions.filtered;
if (!filtered.length) if (!filtered.length)
return detachIfFinished(); return detachIfFinished(results);
if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet) if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
return detachIfFinished(); return detachIfFinished(results);
if (this.autoInsert && filtered.length == 1 && results.finished) if (this.autoInsert && filtered.length == 1 && results.finished)
return this.insertMatch(filtered[0]); return this.insertMatch(filtered[0]);
this.openPopup(this.editor, prefix, keepPopupPosition); this.openPopup(this.editor, prefix, keepPopupPosition);
}.bind(this);
var isImmediate = true;
var immediateResults = null;
this.gatherCompletions(this.editor, function(err, results) {
var prefix = results.prefix;
var matches = results && results.matches;
if (!matches || !matches.length)
return detachIfFinished(results);
if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
return;
if (isImmediate) {
immediateResults = results;
return;
}
processResults(results);
}.bind(this)); }.bind(this));
isImmediate = false;
if (immediateResults) {
var results = immediateResults;
immediateResults = null;
processResults(results);
}
}; };
this.cancelContextMenu = function() { this.cancelContextMenu = function() {
@ -2032,31 +2068,33 @@ var onChangeMode = function(e, editor) {
}; };
var loadSnippetsForMode = function(mode) { var loadSnippetsForMode = function(mode) {
var id = mode.$id; if (typeof mode == "string")
mode = config.$modes[mode];
if (!mode)
return;
if (!snippetManager.files) if (!snippetManager.files)
snippetManager.files = {}; snippetManager.files = {};
loadSnippetFile(id);
loadSnippetFile(mode.$id, mode.snippetFileId);
if (mode.modes) if (mode.modes)
mode.modes.forEach(loadSnippetsForMode); mode.modes.forEach(loadSnippetsForMode);
}; };
var loadSnippetFile = function(id) { var loadSnippetFile = function(id, snippetFilePath) {
if (!id || snippetManager.files[id]) if (!snippetFilePath || !id || snippetManager.files[id])
return; return;
var snippetFilePath = id.replace("mode", "snippets");
snippetManager.files[id] = {}; snippetManager.files[id] = {};
config.loadModule(snippetFilePath, function(m) { config.loadModule(snippetFilePath, function(m) {
if (m) { if (!m) return;
snippetManager.files[id] = m; snippetManager.files[id] = m;
if (!m.snippets && m.snippetText) if (!m.snippets && m.snippetText)
m.snippets = snippetManager.parseSnippetFile(m.snippetText); m.snippets = snippetManager.parseSnippetFile(m.snippetText);
snippetManager.register(m.snippets || [], m.scope); snippetManager.register(m.snippets || [], m.scope);
if (m.includeScopes) { if (m.includeScopes) {
snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes; snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes;
m.includeScopes.forEach(function(x) { m.includeScopes.forEach(function(x) {
loadSnippetFile("ace/mode/" + x); loadSnippetsForMode("ace/mode/" + x);
}); });
}
} }
}); });
}; };

View File

@ -39,22 +39,23 @@ var supportedModes = {
ABC: ["abc"], ABC: ["abc"],
ActionScript:["as"], ActionScript:["as"],
ADA: ["ada|adb"], ADA: ["ada|adb"],
Alda: ["alda"],
Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"], Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
Apex: ["apex|cls|trigger|tgr"], Apex: ["apex|cls|trigger|tgr"],
AQL: ["aql"], AQL: ["aql"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl|asl.json"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
BatchFile: ["bat|cmd"], BatchFile: ["bat|cmd"],
C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"], C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
C9Search: ["c9search_results"], C9Search: ["c9search_results"],
Crystal: ["cr"],
Cirru: ["cirru|cr"], Cirru: ["cirru|cr"],
Clojure: ["clj|cljs"], Clojure: ["clj|cljs"],
Cobol: ["CBL|COB"], Cobol: ["CBL|COB"],
coffee: ["coffee|cf|cson|^Cakefile"], coffee: ["coffee|cf|cson|^Cakefile"],
ColdFusion: ["cfm"], ColdFusion: ["cfm"],
Crystal: ["cr"],
CSharp: ["cs"], CSharp: ["cs"],
Csound_Document: ["csd"], Csound_Document: ["csd"],
Csound_Orchestra: ["orc"], Csound_Orchestra: ["orc"],
@ -101,8 +102,8 @@ var supportedModes = {
Jade: ["jade|pug"], Jade: ["jade|pug"],
Java: ["java"], Java: ["java"],
JavaScript: ["js|jsm|jsx"], JavaScript: ["js|jsm|jsx"],
JSON5: ["json5"],
JSON: ["json"], JSON: ["json"],
JSON5: ["json5"],
JSONiq: ["jq"], JSONiq: ["jq"],
JSP: ["jsp"], JSP: ["jsp"],
JSSM: ["jssm|jssm_state"], JSSM: ["jssm|jssm_state"],
@ -110,6 +111,7 @@ var supportedModes = {
Julia: ["jl"], Julia: ["jl"],
Kotlin: ["kt|kts"], Kotlin: ["kt|kts"],
LaTeX: ["tex|latex|ltx|bib"], LaTeX: ["tex|latex|ltx|bib"],
Latte: ["latte"],
LESS: ["less"], LESS: ["less"],
Liquid: ["liquid"], Liquid: ["liquid"],
Lisp: ["lisp"], Lisp: ["lisp"],
@ -124,32 +126,36 @@ var supportedModes = {
Mask: ["mask"], Mask: ["mask"],
MATLAB: ["matlab"], MATLAB: ["matlab"],
Maze: ["mz"], Maze: ["mz"],
MediaWiki: ["wiki|mediawiki"],
MEL: ["mel"], MEL: ["mel"],
MIPS: ["s|asm"],
MIXAL: ["mixal"], MIXAL: ["mixal"],
MUSHCode: ["mc|mush"], MUSHCode: ["mc|mush"],
MySQL: ["mysql"], MySQL: ["mysql"],
Nginx: ["nginx|conf"], Nginx: ["nginx|conf"],
Nix: ["nix"],
Nim: ["nim"], Nim: ["nim"],
Nix: ["nix"],
NSIS: ["nsi|nsh"], NSIS: ["nsi|nsh"],
Nunjucks: ["nunjucks|nunjs|nj|njk"], Nunjucks: ["nunjucks|nunjs|nj|njk"],
ObjectiveC: ["m|mm"], ObjectiveC: ["m|mm"],
OCaml: ["ml|mli"], OCaml: ["ml|mli"],
Pascal: ["pas|p"], Pascal: ["pas|p"],
Perl: ["pl|pm"], Perl: ["pl|pm"],
Perl6: ["p6|pl6|pm6"],
pgSQL: ["pgsql"], pgSQL: ["pgsql"],
PHP_Laravel_blade: ["blade.php"],
PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"], PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
Puppet: ["epp|pp"], PHP_Laravel_blade: ["blade.php"],
Pig: ["pig"], Pig: ["pig"],
Powershell: ["ps1"], Powershell: ["ps1"],
Praat: ["praat|praatscript|psc|proc"], Praat: ["praat|praatscript|psc|proc"],
Prisma: ["prisma"],
Prolog: ["plg|prolog"], Prolog: ["plg|prolog"],
Properties: ["properties"], Properties: ["properties"],
Protobuf: ["proto"], Protobuf: ["proto"],
Puppet: ["epp|pp"],
Python: ["py"], Python: ["py"],
QML: ["qml"],
R: ["r"], R: ["r"],
Raku: ["raku|rakumod|rakutest|p6|pl6|pm6"],
Razor: ["cshtml|asp"], Razor: ["cshtml|asp"],
RDoc: ["Rd"], RDoc: ["Rd"],
Red: ["red|reds"], Red: ["red|reds"],
@ -161,11 +167,13 @@ var supportedModes = {
SCAD: ["scad"], SCAD: ["scad"],
Scala: ["scala|sbt"], Scala: ["scala|sbt"],
Scheme: ["scm|sm|rkt|oak|scheme"], Scheme: ["scm|sm|rkt|oak|scheme"],
Scrypt: ["scrypt"],
SCSS: ["scss"], SCSS: ["scss"],
SH: ["sh|bash|^.bashrc"], SH: ["sh|bash|^.bashrc"],
SJS: ["sjs"], SJS: ["sjs"],
Slim: ["slim|skim"], Slim: ["slim|skim"],
Smarty: ["smarty|tpl"], Smarty: ["smarty|tpl"],
Smithy: ["smithy"],
snippets: ["snippets"], snippets: ["snippets"],
Soy_Template:["soy"], Soy_Template:["soy"],
Space: ["space"], Space: ["space"],
@ -181,7 +189,7 @@ var supportedModes = {
Textile: ["textile"], Textile: ["textile"],
Toml: ["toml"], Toml: ["toml"],
TSX: ["tsx"], TSX: ["tsx"],
Twig: ["latte|twig|swig"], Twig: ["twig|swig"],
Typescript: ["ts|typescript|str"], Typescript: ["ts|typescript|str"],
Vala: ["vala"], Vala: ["vala"],
VBScript: ["vbs|vb"], VBScript: ["vbs|vb"],
@ -213,6 +221,7 @@ var nameOverrides = {
Perl6: "Perl 6", Perl6: "Perl 6",
AutoHotKey: "AutoHotkey / AutoIt" AutoHotKey: "AutoHotkey / AutoIt"
}; };
var modesByName = {}; var modesByName = {};
for (var name in supportedModes) { for (var name in supportedModes) {
var data = supportedModes[name]; var data = supportedModes[name];

View File

@ -61,7 +61,7 @@ margin: 0px;\
.ace_optionsMenuEntry button:hover{\ .ace_optionsMenuEntry button:hover{\
background: #f0f0f0;\ background: #f0f0f0;\
}"; }";
dom.importCssString(cssText); dom.importCssString(cssText, "settings_menu.css", false);
module.exports.overlayPage = function overlayPage(editor, contentElement, callback) { module.exports.overlayPage = function overlayPage(editor, contentElement, callback) {
var closer = document.createElement('div'); var closer = document.createElement('div');
@ -160,22 +160,23 @@ var supportedModes = {
ABC: ["abc"], ABC: ["abc"],
ActionScript:["as"], ActionScript:["as"],
ADA: ["ada|adb"], ADA: ["ada|adb"],
Alda: ["alda"],
Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"], Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
Apex: ["apex|cls|trigger|tgr"], Apex: ["apex|cls|trigger|tgr"],
AQL: ["aql"], AQL: ["aql"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl|asl.json"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
BatchFile: ["bat|cmd"], BatchFile: ["bat|cmd"],
C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"], C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
C9Search: ["c9search_results"], C9Search: ["c9search_results"],
Crystal: ["cr"],
Cirru: ["cirru|cr"], Cirru: ["cirru|cr"],
Clojure: ["clj|cljs"], Clojure: ["clj|cljs"],
Cobol: ["CBL|COB"], Cobol: ["CBL|COB"],
coffee: ["coffee|cf|cson|^Cakefile"], coffee: ["coffee|cf|cson|^Cakefile"],
ColdFusion: ["cfm"], ColdFusion: ["cfm"],
Crystal: ["cr"],
CSharp: ["cs"], CSharp: ["cs"],
Csound_Document: ["csd"], Csound_Document: ["csd"],
Csound_Orchestra: ["orc"], Csound_Orchestra: ["orc"],
@ -222,8 +223,8 @@ var supportedModes = {
Jade: ["jade|pug"], Jade: ["jade|pug"],
Java: ["java"], Java: ["java"],
JavaScript: ["js|jsm|jsx"], JavaScript: ["js|jsm|jsx"],
JSON5: ["json5"],
JSON: ["json"], JSON: ["json"],
JSON5: ["json5"],
JSONiq: ["jq"], JSONiq: ["jq"],
JSP: ["jsp"], JSP: ["jsp"],
JSSM: ["jssm|jssm_state"], JSSM: ["jssm|jssm_state"],
@ -231,6 +232,7 @@ var supportedModes = {
Julia: ["jl"], Julia: ["jl"],
Kotlin: ["kt|kts"], Kotlin: ["kt|kts"],
LaTeX: ["tex|latex|ltx|bib"], LaTeX: ["tex|latex|ltx|bib"],
Latte: ["latte"],
LESS: ["less"], LESS: ["less"],
Liquid: ["liquid"], Liquid: ["liquid"],
Lisp: ["lisp"], Lisp: ["lisp"],
@ -245,32 +247,36 @@ var supportedModes = {
Mask: ["mask"], Mask: ["mask"],
MATLAB: ["matlab"], MATLAB: ["matlab"],
Maze: ["mz"], Maze: ["mz"],
MediaWiki: ["wiki|mediawiki"],
MEL: ["mel"], MEL: ["mel"],
MIPS: ["s|asm"],
MIXAL: ["mixal"], MIXAL: ["mixal"],
MUSHCode: ["mc|mush"], MUSHCode: ["mc|mush"],
MySQL: ["mysql"], MySQL: ["mysql"],
Nginx: ["nginx|conf"], Nginx: ["nginx|conf"],
Nix: ["nix"],
Nim: ["nim"], Nim: ["nim"],
Nix: ["nix"],
NSIS: ["nsi|nsh"], NSIS: ["nsi|nsh"],
Nunjucks: ["nunjucks|nunjs|nj|njk"], Nunjucks: ["nunjucks|nunjs|nj|njk"],
ObjectiveC: ["m|mm"], ObjectiveC: ["m|mm"],
OCaml: ["ml|mli"], OCaml: ["ml|mli"],
Pascal: ["pas|p"], Pascal: ["pas|p"],
Perl: ["pl|pm"], Perl: ["pl|pm"],
Perl6: ["p6|pl6|pm6"],
pgSQL: ["pgsql"], pgSQL: ["pgsql"],
PHP_Laravel_blade: ["blade.php"],
PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"], PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
Puppet: ["epp|pp"], PHP_Laravel_blade: ["blade.php"],
Pig: ["pig"], Pig: ["pig"],
Powershell: ["ps1"], Powershell: ["ps1"],
Praat: ["praat|praatscript|psc|proc"], Praat: ["praat|praatscript|psc|proc"],
Prisma: ["prisma"],
Prolog: ["plg|prolog"], Prolog: ["plg|prolog"],
Properties: ["properties"], Properties: ["properties"],
Protobuf: ["proto"], Protobuf: ["proto"],
Puppet: ["epp|pp"],
Python: ["py"], Python: ["py"],
QML: ["qml"],
R: ["r"], R: ["r"],
Raku: ["raku|rakumod|rakutest|p6|pl6|pm6"],
Razor: ["cshtml|asp"], Razor: ["cshtml|asp"],
RDoc: ["Rd"], RDoc: ["Rd"],
Red: ["red|reds"], Red: ["red|reds"],
@ -282,11 +288,13 @@ var supportedModes = {
SCAD: ["scad"], SCAD: ["scad"],
Scala: ["scala|sbt"], Scala: ["scala|sbt"],
Scheme: ["scm|sm|rkt|oak|scheme"], Scheme: ["scm|sm|rkt|oak|scheme"],
Scrypt: ["scrypt"],
SCSS: ["scss"], SCSS: ["scss"],
SH: ["sh|bash|^.bashrc"], SH: ["sh|bash|^.bashrc"],
SJS: ["sjs"], SJS: ["sjs"],
Slim: ["slim|skim"], Slim: ["slim|skim"],
Smarty: ["smarty|tpl"], Smarty: ["smarty|tpl"],
Smithy: ["smithy"],
snippets: ["snippets"], snippets: ["snippets"],
Soy_Template:["soy"], Soy_Template:["soy"],
Space: ["space"], Space: ["space"],
@ -302,7 +310,7 @@ var supportedModes = {
Textile: ["textile"], Textile: ["textile"],
Toml: ["toml"], Toml: ["toml"],
TSX: ["tsx"], TSX: ["tsx"],
Twig: ["latte|twig|swig"], Twig: ["twig|swig"],
Typescript: ["ts|typescript|str"], Typescript: ["ts|typescript|str"],
Vala: ["vala"], Vala: ["vala"],
VBScript: ["vbs|vb"], VBScript: ["vbs|vb"],
@ -334,6 +342,7 @@ var nameOverrides = {
Perl6: "Perl 6", Perl6: "Perl 6",
AutoHotKey: "AutoHotkey / AutoIt" AutoHotKey: "AutoHotkey / AutoIt"
}; };
var modesByName = {}; var modesByName = {};
for (var name in supportedModes) { for (var name in supportedModes) {
var data = supportedModes[name]; var data = supportedModes[name];
@ -367,7 +376,7 @@ var themeData = [
["Solarized Light"], ["Solarized Light"],
["TextMate" ], ["TextMate" ],
["Tomorrow" ], ["Tomorrow" ],
["XCode" ], ["Xcode" ],
["Kuroir"], ["Kuroir"],
["KatzenMilch"], ["KatzenMilch"],
["SQL Server" ,"sqlserver" , "light"], ["SQL Server" ,"sqlserver" , "light"],
@ -384,6 +393,8 @@ var themeData = [
["Merbivore Soft" ,"merbivore_soft" , "dark"], ["Merbivore Soft" ,"merbivore_soft" , "dark"],
["Mono Industrial" ,"mono_industrial" , "dark"], ["Mono Industrial" ,"mono_industrial" , "dark"],
["Monokai" ,"monokai" , "dark"], ["Monokai" ,"monokai" , "dark"],
["Nord Dark" ,"nord_dark" , "dark"],
["One Dark" ,"one_dark" , "dark"],
["Pastel on dark" ,"pastel_on_dark" , "dark"], ["Pastel on dark" ,"pastel_on_dark" , "dark"],
["Solarized Dark" ,"solarized_dark" , "dark"], ["Solarized Dark" ,"solarized_dark" , "dark"],
["Terminal" ,"terminal" , "dark"], ["Terminal" ,"terminal" , "dark"],
@ -498,6 +509,7 @@ var optionGroups = {
"Soft Tabs": [{ "Soft Tabs": [{
path: "useSoftTabs" path: "useSoftTabs"
}, { }, {
ariaLabel: "Tab Size",
path: "tabSize", path: "tabSize",
type: "number", type: "number",
values: [2, 3, 4, 8, 16] values: [2, 3, 4, 8, 16]
@ -519,6 +531,12 @@ var optionGroups = {
"Enable Behaviours": { "Enable Behaviours": {
path: "behavioursEnabled" path: "behavioursEnabled"
}, },
"Wrap with quotes": {
path: "wrapBehavioursEnabled"
},
"Enable Auto Indent": {
path: "enableAutoIndent"
},
"Full Line Selection": { "Full Line Selection": {
type: "checkbox", type: "checkbox",
values: "text|line", values: "text|line",
@ -533,11 +551,12 @@ var optionGroups = {
"Show Indent Guides": { "Show Indent Guides": {
path: "displayIndentGuides" path: "displayIndentGuides"
}, },
"Persistent Scrollbar": [{ "Persistent HScrollbar": {
path: "hScrollBarAlwaysVisible" path: "hScrollBarAlwaysVisible"
}, { },
"Persistent VScrollbar": {
path: "vScrollBarAlwaysVisible" path: "vScrollBarAlwaysVisible"
}], },
"Animate scrolling": { "Animate scrolling": {
path: "animatedScroll" path: "animatedScroll"
}, },
@ -556,6 +575,7 @@ var optionGroups = {
"Show Print Margin": [{ "Show Print Margin": [{
path: "showPrintMargin" path: "showPrintMargin"
}, { }, {
ariaLabel: "Print Margin",
type: "number", type: "number",
path: "printMarginColumn" path: "printMarginColumn"
}], }],
@ -618,10 +638,10 @@ var OptionPanel = function(editor, element) {
this.render = function() { this.render = function() {
this.container.innerHTML = ""; this.container.innerHTML = "";
buildDom(["table", {id: "controls"}, buildDom(["table", {role: "presentation", id: "controls"},
this.renderOptionGroup(optionGroups.Main), this.renderOptionGroup(optionGroups.Main),
["tr", null, ["td", {colspan: 2}, ["tr", null, ["td", {colspan: 2},
["table", {id: "more-controls"}, ["table", {role: "presentation", id: "more-controls"},
this.renderOptionGroup(optionGroups.More) this.renderOptionGroup(optionGroups.More)
] ]
]], ]],
@ -664,17 +684,20 @@ var OptionPanel = function(editor, element) {
} }
if (option.type == "buttonBar") { if (option.type == "buttonBar") {
control = ["div", option.items.map(function(item) { control = ["div", {role: "group", "aria-labelledby": option.path + "-label"}, option.items.map(function(item) {
return ["button", { return ["button", {
value: item.value, value: item.value,
ace_selected_button: value == item.value, ace_selected_button: value == item.value,
'aria-pressed': value == item.value,
onclick: function() { onclick: function() {
self.setOption(option, item.value); self.setOption(option, item.value);
var nodes = this.parentNode.querySelectorAll("[ace_selected_button]"); var nodes = this.parentNode.querySelectorAll("[ace_selected_button]");
for (var i = 0; i < nodes.length; i++) { for (var i = 0; i < nodes.length; i++) {
nodes[i].removeAttribute("ace_selected_button"); nodes[i].removeAttribute("ace_selected_button");
nodes[i].setAttribute("aria-pressed", false);
} }
this.setAttribute("ace_selected_button", true); this.setAttribute("ace_selected_button", true);
this.setAttribute("aria-pressed", true);
} }
}, item.desc || item.caption || item.name]; }, item.desc || item.caption || item.name];
})]; })];
@ -682,6 +705,11 @@ var OptionPanel = function(editor, element) {
control = ["input", {type: "number", value: value || option.defaultValue, style:"width:3em", oninput: function() { control = ["input", {type: "number", value: value || option.defaultValue, style:"width:3em", oninput: function() {
self.setOption(option, parseInt(this.value)); self.setOption(option, parseInt(this.value));
}}]; }}];
if (option.ariaLabel) {
control[1]["aria-label"] = option.ariaLabel;
} else {
control[1].id = key;
}
if (option.defaults) { if (option.defaults) {
control = [control, option.defaults.map(function(item) { control = [control, option.defaults.map(function(item) {
return ["button", {onclick: function() { return ["button", {onclick: function() {
@ -725,11 +753,13 @@ var OptionPanel = function(editor, element) {
this.renderOption = function(key, option) { this.renderOption = function(key, option) {
if (option.path && !option.onchange && !this.editor.$options[option.path]) if (option.path && !option.onchange && !this.editor.$options[option.path])
return; return;
this.options[option.path] = option; var path = Array.isArray(option) ? option[0].path : option.path;
var safeKey = "-" + option.path; this.options[path] = option;
var safeKey = "-" + path;
var safeId = path + "-label";
var control = this.renderOptionControl(safeKey, option); var control = this.renderOptionControl(safeKey, option);
return ["tr", {class: "ace_optionsMenuEntry"}, ["td", return ["tr", {class: "ace_optionsMenuEntry"}, ["td",
["label", {for: safeKey}, key] ["label", {for: safeKey, id: safeId}, key]
], ["td", control]]; ], ["td", control]];
}; };

View File

@ -364,7 +364,7 @@ dom.importCssString("\
line-height: 1.4;\ line-height: 1.4;\
background: #25282c;\ background: #25282c;\
color: #c1c1c1;\ color: #c1c1c1;\
}", "autocompletion.css"); }", "autocompletion.css", false);
exports.AcePopup = AcePopup; exports.AcePopup = AcePopup;
exports.$singleLineEditor = $singleLineEditor; exports.$singleLineEditor = $singleLineEditor;
@ -430,8 +430,9 @@ exports.getCompletionPrefix = function (editor) {
}); });
define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/lib/dom","ace/editor"], function(require, exports, module) { define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"], function(require, exports, module) {
"use strict"; "use strict";
var dom = require("./lib/dom");
var oop = require("./lib/oop"); var oop = require("./lib/oop");
var EventEmitter = require("./lib/event_emitter").EventEmitter; var EventEmitter = require("./lib/event_emitter").EventEmitter;
var lang = require("./lib/lang"); var lang = require("./lib/lang");
@ -576,7 +577,9 @@ var SnippetManager = function() {
{regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) { {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) { var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) {
return operator.length == 2 ? operator[1] : "\x00"; return operator.length == 2 ? operator[1] : "\x00";
}).split("\x00"); }).split("\x00").map(function(value){
return {value: value};
});
stack[0].choices = choices; stack[0].choices = choices;
return [choices[0]]; return [choices[0]];
}, next: "start"}, }, next: "start"},
@ -1047,6 +1050,12 @@ var SnippetManager = function() {
} }
snippetMap[scope].push(s); snippetMap[scope].push(s);
if (s.prefix)
s.tabTrigger = s.prefix;
if (!s.content && s.body)
s.content = Array.isArray(s.body) ? s.body.join("\n") : s.body;
if (s.tabTrigger && !s.trigger) { if (s.tabTrigger && !s.trigger) {
if (!s.guard && /^\w/.test(s.tabTrigger)) if (!s.guard && /^\w/.test(s.tabTrigger))
s.guard = "\\b"; s.guard = "\\b";
@ -1063,10 +1072,13 @@ var SnippetManager = function() {
s.endTriggerRe = new RegExp(s.endTrigger); s.endTriggerRe = new RegExp(s.endTrigger);
} }
if (snippets && snippets.content) if (Array.isArray(snippets)) {
addSnippet(snippets);
else if (Array.isArray(snippets))
snippets.forEach(addSnippet); snippets.forEach(addSnippet);
} else {
Object.keys(snippets).forEach(function(key) {
addSnippet(snippets[key]);
});
}
this._signal("registerSnippets", {scope: scope}); this._signal("registerSnippets", {scope: scope});
}; };
@ -1116,7 +1128,7 @@ var SnippetManager = function() {
snippet.tabTrigger = val.match(/^\S*/)[0]; snippet.tabTrigger = val.match(/^\S*/)[0];
if (!snippet.name) if (!snippet.name)
snippet.name = val; snippet.name = val;
} else { } else if (key) {
snippet[key] = val; snippet[key] = val;
} }
} }
@ -1265,18 +1277,17 @@ var TabstopManager = function(editor) {
this.selectedTabstop = ts; this.selectedTabstop = ts;
var range = ts.firstNonLinked || ts; var range = ts.firstNonLinked || ts;
if (ts.choices) range.cursor = range.start;
if (!this.editor.inVirtualSelectionMode) { if (!this.editor.inVirtualSelectionMode) {
var sel = this.editor.multiSelect; var sel = this.editor.multiSelect;
sel.toSingleRange(range.clone()); sel.toSingleRange(range);
for (var i = 0; i < ts.length; i++) { for (var i = 0; i < ts.length; i++) {
if (ts.hasLinkedRanges && ts[i].linked) if (ts.hasLinkedRanges && ts[i].linked)
continue; continue;
sel.addRange(ts[i].clone(), true); sel.addRange(ts[i].clone(), true);
} }
if (sel.ranges[0])
sel.addRange(sel.ranges[0].clone());
} else { } else {
this.editor.selection.setRange(range); this.editor.selection.fromOrientedRange(range);
} }
this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler); this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
@ -1403,14 +1414,14 @@ var moveRelative = function(point, start) {
}; };
require("./lib/dom").importCssString("\ dom.importCssString("\
.ace_snippet-marker {\ .ace_snippet-marker {\
-moz-box-sizing: border-box;\ -moz-box-sizing: border-box;\
box-sizing: border-box;\ box-sizing: border-box;\
background: rgba(194, 193, 208, 0.09);\ background: rgba(194, 193, 208, 0.09);\
border: 1px dotted rgba(211, 208, 235, 0.62);\ border: 1px dotted rgba(211, 208, 235, 0.62);\
position: absolute;\ position: absolute;\
}"); }", "snippets.css", false);
exports.snippetManager = new SnippetManager(); exports.snippetManager = new SnippetManager();
@ -1507,6 +1518,7 @@ var Autocomplete = function() {
} else if (keepPopupPosition && !prefix) { } else if (keepPopupPosition && !prefix) {
this.detach(); this.detach();
} }
this.changeTimer.cancel();
}; };
this.detach = function() { this.detach = function() {
@ -1569,13 +1581,15 @@ var Autocomplete = function() {
if (!data) if (!data)
return false; return false;
var completions = this.completions;
this.editor.startOperation({command: {name: "insertMatch"}});
if (data.completer && data.completer.insertMatch) { if (data.completer && data.completer.insertMatch) {
data.completer.insertMatch(this.editor, data); data.completer.insertMatch(this.editor, data);
} else { } else {
if (this.completions.filterText) { if (completions.filterText) {
var ranges = this.editor.selection.getAllRanges(); var ranges = this.editor.selection.getAllRanges();
for (var i = 0, range; range = ranges[i]; i++) { for (var i = 0, range; range = ranges[i]; i++) {
range.start.column -= this.completions.filterText.length; range.start.column -= completions.filterText.length;
this.editor.session.remove(range); this.editor.session.remove(range);
} }
} }
@ -1584,7 +1598,9 @@ var Autocomplete = function() {
else else
this.editor.execCommand("insertstring", data.value || data); this.editor.execCommand("insertstring", data.value || data);
} }
this.detach(); if (this.completions == completions)
this.detach();
this.editor.endOperation();
}; };
@ -1680,19 +1696,14 @@ var Autocomplete = function() {
return this.openPopup(this.editor, "", keepPopupPosition); return this.openPopup(this.editor, "", keepPopupPosition);
} }
var _id = this.gatherCompletionsId; var _id = this.gatherCompletionsId;
this.gatherCompletions(this.editor, function(err, results) { var detachIfFinished = function(results) {
var detachIfFinished = function() { if (!results.finished) return;
if (!results.finished) return; return this.detach();
return this.detach(); }.bind(this);
}.bind(this);
var processResults = function(results) {
var prefix = results.prefix; var prefix = results.prefix;
var matches = results && results.matches; var matches = results.matches;
if (!matches || !matches.length)
return detachIfFinished();
if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
return;
this.completions = new FilteredList(matches); this.completions = new FilteredList(matches);
@ -1702,14 +1713,39 @@ var Autocomplete = function() {
this.completions.setFilter(prefix); this.completions.setFilter(prefix);
var filtered = this.completions.filtered; var filtered = this.completions.filtered;
if (!filtered.length) if (!filtered.length)
return detachIfFinished(); return detachIfFinished(results);
if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet) if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
return detachIfFinished(); return detachIfFinished(results);
if (this.autoInsert && filtered.length == 1 && results.finished) if (this.autoInsert && filtered.length == 1 && results.finished)
return this.insertMatch(filtered[0]); return this.insertMatch(filtered[0]);
this.openPopup(this.editor, prefix, keepPopupPosition); this.openPopup(this.editor, prefix, keepPopupPosition);
}.bind(this);
var isImmediate = true;
var immediateResults = null;
this.gatherCompletions(this.editor, function(err, results) {
var prefix = results.prefix;
var matches = results && results.matches;
if (!matches || !matches.length)
return detachIfFinished(results);
if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
return;
if (isImmediate) {
immediateResults = results;
return;
}
processResults(results);
}.bind(this)); }.bind(this));
isImmediate = false;
if (immediateResults) {
var results = immediateResults;
immediateResults = null;
processResults(results);
}
}; };
this.cancelContextMenu = function() { this.cancelContextMenu = function() {
@ -1998,7 +2034,7 @@ margin: 0px;\
.ace_optionsMenuEntry button:hover{\ .ace_optionsMenuEntry button:hover{\
background: #f0f0f0;\ background: #f0f0f0;\
}"; }";
dom.importCssString(cssText); dom.importCssString(cssText, "settings_menu.css", false);
module.exports.overlayPage = function overlayPage(editor, contentElement, callback) { module.exports.overlayPage = function overlayPage(editor, contentElement, callback) {
var closer = document.createElement('div'); var closer = document.createElement('div');
@ -2097,22 +2133,23 @@ var supportedModes = {
ABC: ["abc"], ABC: ["abc"],
ActionScript:["as"], ActionScript:["as"],
ADA: ["ada|adb"], ADA: ["ada|adb"],
Alda: ["alda"],
Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"], Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
Apex: ["apex|cls|trigger|tgr"], Apex: ["apex|cls|trigger|tgr"],
AQL: ["aql"], AQL: ["aql"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl|asl.json"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
BatchFile: ["bat|cmd"], BatchFile: ["bat|cmd"],
C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"], C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
C9Search: ["c9search_results"], C9Search: ["c9search_results"],
Crystal: ["cr"],
Cirru: ["cirru|cr"], Cirru: ["cirru|cr"],
Clojure: ["clj|cljs"], Clojure: ["clj|cljs"],
Cobol: ["CBL|COB"], Cobol: ["CBL|COB"],
coffee: ["coffee|cf|cson|^Cakefile"], coffee: ["coffee|cf|cson|^Cakefile"],
ColdFusion: ["cfm"], ColdFusion: ["cfm"],
Crystal: ["cr"],
CSharp: ["cs"], CSharp: ["cs"],
Csound_Document: ["csd"], Csound_Document: ["csd"],
Csound_Orchestra: ["orc"], Csound_Orchestra: ["orc"],
@ -2159,8 +2196,8 @@ var supportedModes = {
Jade: ["jade|pug"], Jade: ["jade|pug"],
Java: ["java"], Java: ["java"],
JavaScript: ["js|jsm|jsx"], JavaScript: ["js|jsm|jsx"],
JSON5: ["json5"],
JSON: ["json"], JSON: ["json"],
JSON5: ["json5"],
JSONiq: ["jq"], JSONiq: ["jq"],
JSP: ["jsp"], JSP: ["jsp"],
JSSM: ["jssm|jssm_state"], JSSM: ["jssm|jssm_state"],
@ -2168,6 +2205,7 @@ var supportedModes = {
Julia: ["jl"], Julia: ["jl"],
Kotlin: ["kt|kts"], Kotlin: ["kt|kts"],
LaTeX: ["tex|latex|ltx|bib"], LaTeX: ["tex|latex|ltx|bib"],
Latte: ["latte"],
LESS: ["less"], LESS: ["less"],
Liquid: ["liquid"], Liquid: ["liquid"],
Lisp: ["lisp"], Lisp: ["lisp"],
@ -2182,32 +2220,36 @@ var supportedModes = {
Mask: ["mask"], Mask: ["mask"],
MATLAB: ["matlab"], MATLAB: ["matlab"],
Maze: ["mz"], Maze: ["mz"],
MediaWiki: ["wiki|mediawiki"],
MEL: ["mel"], MEL: ["mel"],
MIPS: ["s|asm"],
MIXAL: ["mixal"], MIXAL: ["mixal"],
MUSHCode: ["mc|mush"], MUSHCode: ["mc|mush"],
MySQL: ["mysql"], MySQL: ["mysql"],
Nginx: ["nginx|conf"], Nginx: ["nginx|conf"],
Nix: ["nix"],
Nim: ["nim"], Nim: ["nim"],
Nix: ["nix"],
NSIS: ["nsi|nsh"], NSIS: ["nsi|nsh"],
Nunjucks: ["nunjucks|nunjs|nj|njk"], Nunjucks: ["nunjucks|nunjs|nj|njk"],
ObjectiveC: ["m|mm"], ObjectiveC: ["m|mm"],
OCaml: ["ml|mli"], OCaml: ["ml|mli"],
Pascal: ["pas|p"], Pascal: ["pas|p"],
Perl: ["pl|pm"], Perl: ["pl|pm"],
Perl6: ["p6|pl6|pm6"],
pgSQL: ["pgsql"], pgSQL: ["pgsql"],
PHP_Laravel_blade: ["blade.php"],
PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"], PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
Puppet: ["epp|pp"], PHP_Laravel_blade: ["blade.php"],
Pig: ["pig"], Pig: ["pig"],
Powershell: ["ps1"], Powershell: ["ps1"],
Praat: ["praat|praatscript|psc|proc"], Praat: ["praat|praatscript|psc|proc"],
Prisma: ["prisma"],
Prolog: ["plg|prolog"], Prolog: ["plg|prolog"],
Properties: ["properties"], Properties: ["properties"],
Protobuf: ["proto"], Protobuf: ["proto"],
Puppet: ["epp|pp"],
Python: ["py"], Python: ["py"],
QML: ["qml"],
R: ["r"], R: ["r"],
Raku: ["raku|rakumod|rakutest|p6|pl6|pm6"],
Razor: ["cshtml|asp"], Razor: ["cshtml|asp"],
RDoc: ["Rd"], RDoc: ["Rd"],
Red: ["red|reds"], Red: ["red|reds"],
@ -2219,11 +2261,13 @@ var supportedModes = {
SCAD: ["scad"], SCAD: ["scad"],
Scala: ["scala|sbt"], Scala: ["scala|sbt"],
Scheme: ["scm|sm|rkt|oak|scheme"], Scheme: ["scm|sm|rkt|oak|scheme"],
Scrypt: ["scrypt"],
SCSS: ["scss"], SCSS: ["scss"],
SH: ["sh|bash|^.bashrc"], SH: ["sh|bash|^.bashrc"],
SJS: ["sjs"], SJS: ["sjs"],
Slim: ["slim|skim"], Slim: ["slim|skim"],
Smarty: ["smarty|tpl"], Smarty: ["smarty|tpl"],
Smithy: ["smithy"],
snippets: ["snippets"], snippets: ["snippets"],
Soy_Template:["soy"], Soy_Template:["soy"],
Space: ["space"], Space: ["space"],
@ -2239,7 +2283,7 @@ var supportedModes = {
Textile: ["textile"], Textile: ["textile"],
Toml: ["toml"], Toml: ["toml"],
TSX: ["tsx"], TSX: ["tsx"],
Twig: ["latte|twig|swig"], Twig: ["twig|swig"],
Typescript: ["ts|typescript|str"], Typescript: ["ts|typescript|str"],
Vala: ["vala"], Vala: ["vala"],
VBScript: ["vbs|vb"], VBScript: ["vbs|vb"],
@ -2271,6 +2315,7 @@ var nameOverrides = {
Perl6: "Perl 6", Perl6: "Perl 6",
AutoHotKey: "AutoHotkey / AutoIt" AutoHotKey: "AutoHotkey / AutoIt"
}; };
var modesByName = {}; var modesByName = {};
for (var name in supportedModes) { for (var name in supportedModes) {
var data = supportedModes[name]; var data = supportedModes[name];
@ -2586,13 +2631,10 @@ prompt.commands = function(editor, callback) {
var platform = handler.platform; var platform = handler.platform;
var cbn = handler.byName; var cbn = handler.byName;
for (var i in cbn) { for (var i in cbn) {
var key; var key = cbn[i].bindKey;
if (cbn[i].bindKey && cbn[i].bindKey[platform] !== null) { if (typeof key !== "string") {
key = cbn[i].bindKey["win"]; key = key && key[platform] || "";
} else {
key = "";
} }
var commands = cbn[i]; var commands = cbn[i];
var description = commands.description || normalizeName(commands.name); var description = commands.description || normalizeName(commands.name);
if (!Array.isArray(commands)) if (!Array.isArray(commands))
@ -2749,7 +2791,7 @@ dom.importCssString(".ace_prompt_container {\
background: white;\ background: white;\
border-radius: 2px;\ border-radius: 2px;\
box-shadow: 0px 2px 3px 0px #555;\ box-shadow: 0px 2px 3px 0px #555;\
}"); }", "promtp.css", false);
exports.prompt = prompt; exports.prompt = prompt;

View File

@ -160,7 +160,7 @@ var keyUtil = require("../lib/keys");
var MAX_COUNT = 999; var MAX_COUNT = 999;
dom.importCssString(searchboxCss, "ace_searchbox"); dom.importCssString(searchboxCss, "ace_searchbox", false);
var SearchBox = function(editor, range, showReplaceForm) { var SearchBox = function(editor, range, showReplaceForm) {
var div = dom.createElement("div"); var div = dom.createElement("div");

View File

@ -61,7 +61,7 @@ margin: 0px;\
.ace_optionsMenuEntry button:hover{\ .ace_optionsMenuEntry button:hover{\
background: #f0f0f0;\ background: #f0f0f0;\
}"; }";
dom.importCssString(cssText); dom.importCssString(cssText, "settings_menu.css", false);
module.exports.overlayPage = function overlayPage(editor, contentElement, callback) { module.exports.overlayPage = function overlayPage(editor, contentElement, callback) {
var closer = document.createElement('div'); var closer = document.createElement('div');
@ -160,22 +160,23 @@ var supportedModes = {
ABC: ["abc"], ABC: ["abc"],
ActionScript:["as"], ActionScript:["as"],
ADA: ["ada|adb"], ADA: ["ada|adb"],
Alda: ["alda"],
Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"], Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
Apex: ["apex|cls|trigger|tgr"], Apex: ["apex|cls|trigger|tgr"],
AQL: ["aql"], AQL: ["aql"],
AsciiDoc: ["asciidoc|adoc"],
ASL: ["dsl|asl|asl.json"],
Assembly_x86:["asm|a"],
AutoHotKey: ["ahk"],
BatchFile: ["bat|cmd"], BatchFile: ["bat|cmd"],
C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"], C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
C9Search: ["c9search_results"], C9Search: ["c9search_results"],
Crystal: ["cr"],
Cirru: ["cirru|cr"], Cirru: ["cirru|cr"],
Clojure: ["clj|cljs"], Clojure: ["clj|cljs"],
Cobol: ["CBL|COB"], Cobol: ["CBL|COB"],
coffee: ["coffee|cf|cson|^Cakefile"], coffee: ["coffee|cf|cson|^Cakefile"],
ColdFusion: ["cfm"], ColdFusion: ["cfm"],
Crystal: ["cr"],
CSharp: ["cs"], CSharp: ["cs"],
Csound_Document: ["csd"], Csound_Document: ["csd"],
Csound_Orchestra: ["orc"], Csound_Orchestra: ["orc"],
@ -222,8 +223,8 @@ var supportedModes = {
Jade: ["jade|pug"], Jade: ["jade|pug"],
Java: ["java"], Java: ["java"],
JavaScript: ["js|jsm|jsx"], JavaScript: ["js|jsm|jsx"],
JSON5: ["json5"],
JSON: ["json"], JSON: ["json"],
JSON5: ["json5"],
JSONiq: ["jq"], JSONiq: ["jq"],
JSP: ["jsp"], JSP: ["jsp"],
JSSM: ["jssm|jssm_state"], JSSM: ["jssm|jssm_state"],
@ -231,6 +232,7 @@ var supportedModes = {
Julia: ["jl"], Julia: ["jl"],
Kotlin: ["kt|kts"], Kotlin: ["kt|kts"],
LaTeX: ["tex|latex|ltx|bib"], LaTeX: ["tex|latex|ltx|bib"],
Latte: ["latte"],
LESS: ["less"], LESS: ["less"],
Liquid: ["liquid"], Liquid: ["liquid"],
Lisp: ["lisp"], Lisp: ["lisp"],
@ -245,32 +247,36 @@ var supportedModes = {
Mask: ["mask"], Mask: ["mask"],
MATLAB: ["matlab"], MATLAB: ["matlab"],
Maze: ["mz"], Maze: ["mz"],
MediaWiki: ["wiki|mediawiki"],
MEL: ["mel"], MEL: ["mel"],
MIPS: ["s|asm"],
MIXAL: ["mixal"], MIXAL: ["mixal"],
MUSHCode: ["mc|mush"], MUSHCode: ["mc|mush"],
MySQL: ["mysql"], MySQL: ["mysql"],
Nginx: ["nginx|conf"], Nginx: ["nginx|conf"],
Nix: ["nix"],
Nim: ["nim"], Nim: ["nim"],
Nix: ["nix"],
NSIS: ["nsi|nsh"], NSIS: ["nsi|nsh"],
Nunjucks: ["nunjucks|nunjs|nj|njk"], Nunjucks: ["nunjucks|nunjs|nj|njk"],
ObjectiveC: ["m|mm"], ObjectiveC: ["m|mm"],
OCaml: ["ml|mli"], OCaml: ["ml|mli"],
Pascal: ["pas|p"], Pascal: ["pas|p"],
Perl: ["pl|pm"], Perl: ["pl|pm"],
Perl6: ["p6|pl6|pm6"],
pgSQL: ["pgsql"], pgSQL: ["pgsql"],
PHP_Laravel_blade: ["blade.php"],
PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"], PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
Puppet: ["epp|pp"], PHP_Laravel_blade: ["blade.php"],
Pig: ["pig"], Pig: ["pig"],
Powershell: ["ps1"], Powershell: ["ps1"],
Praat: ["praat|praatscript|psc|proc"], Praat: ["praat|praatscript|psc|proc"],
Prisma: ["prisma"],
Prolog: ["plg|prolog"], Prolog: ["plg|prolog"],
Properties: ["properties"], Properties: ["properties"],
Protobuf: ["proto"], Protobuf: ["proto"],
Puppet: ["epp|pp"],
Python: ["py"], Python: ["py"],
QML: ["qml"],
R: ["r"], R: ["r"],
Raku: ["raku|rakumod|rakutest|p6|pl6|pm6"],
Razor: ["cshtml|asp"], Razor: ["cshtml|asp"],
RDoc: ["Rd"], RDoc: ["Rd"],
Red: ["red|reds"], Red: ["red|reds"],
@ -282,11 +288,13 @@ var supportedModes = {
SCAD: ["scad"], SCAD: ["scad"],
Scala: ["scala|sbt"], Scala: ["scala|sbt"],
Scheme: ["scm|sm|rkt|oak|scheme"], Scheme: ["scm|sm|rkt|oak|scheme"],
Scrypt: ["scrypt"],
SCSS: ["scss"], SCSS: ["scss"],
SH: ["sh|bash|^.bashrc"], SH: ["sh|bash|^.bashrc"],
SJS: ["sjs"], SJS: ["sjs"],
Slim: ["slim|skim"], Slim: ["slim|skim"],
Smarty: ["smarty|tpl"], Smarty: ["smarty|tpl"],
Smithy: ["smithy"],
snippets: ["snippets"], snippets: ["snippets"],
Soy_Template:["soy"], Soy_Template:["soy"],
Space: ["space"], Space: ["space"],
@ -302,7 +310,7 @@ var supportedModes = {
Textile: ["textile"], Textile: ["textile"],
Toml: ["toml"], Toml: ["toml"],
TSX: ["tsx"], TSX: ["tsx"],
Twig: ["latte|twig|swig"], Twig: ["twig|swig"],
Typescript: ["ts|typescript|str"], Typescript: ["ts|typescript|str"],
Vala: ["vala"], Vala: ["vala"],
VBScript: ["vbs|vb"], VBScript: ["vbs|vb"],
@ -334,6 +342,7 @@ var nameOverrides = {
Perl6: "Perl 6", Perl6: "Perl 6",
AutoHotKey: "AutoHotkey / AutoIt" AutoHotKey: "AutoHotkey / AutoIt"
}; };
var modesByName = {}; var modesByName = {};
for (var name in supportedModes) { for (var name in supportedModes) {
var data = supportedModes[name]; var data = supportedModes[name];
@ -367,7 +376,7 @@ var themeData = [
["Solarized Light"], ["Solarized Light"],
["TextMate" ], ["TextMate" ],
["Tomorrow" ], ["Tomorrow" ],
["XCode" ], ["Xcode" ],
["Kuroir"], ["Kuroir"],
["KatzenMilch"], ["KatzenMilch"],
["SQL Server" ,"sqlserver" , "light"], ["SQL Server" ,"sqlserver" , "light"],
@ -384,6 +393,8 @@ var themeData = [
["Merbivore Soft" ,"merbivore_soft" , "dark"], ["Merbivore Soft" ,"merbivore_soft" , "dark"],
["Mono Industrial" ,"mono_industrial" , "dark"], ["Mono Industrial" ,"mono_industrial" , "dark"],
["Monokai" ,"monokai" , "dark"], ["Monokai" ,"monokai" , "dark"],
["Nord Dark" ,"nord_dark" , "dark"],
["One Dark" ,"one_dark" , "dark"],
["Pastel on dark" ,"pastel_on_dark" , "dark"], ["Pastel on dark" ,"pastel_on_dark" , "dark"],
["Solarized Dark" ,"solarized_dark" , "dark"], ["Solarized Dark" ,"solarized_dark" , "dark"],
["Terminal" ,"terminal" , "dark"], ["Terminal" ,"terminal" , "dark"],
@ -498,6 +509,7 @@ var optionGroups = {
"Soft Tabs": [{ "Soft Tabs": [{
path: "useSoftTabs" path: "useSoftTabs"
}, { }, {
ariaLabel: "Tab Size",
path: "tabSize", path: "tabSize",
type: "number", type: "number",
values: [2, 3, 4, 8, 16] values: [2, 3, 4, 8, 16]
@ -519,6 +531,12 @@ var optionGroups = {
"Enable Behaviours": { "Enable Behaviours": {
path: "behavioursEnabled" path: "behavioursEnabled"
}, },
"Wrap with quotes": {
path: "wrapBehavioursEnabled"
},
"Enable Auto Indent": {
path: "enableAutoIndent"
},
"Full Line Selection": { "Full Line Selection": {
type: "checkbox", type: "checkbox",
values: "text|line", values: "text|line",
@ -533,11 +551,12 @@ var optionGroups = {
"Show Indent Guides": { "Show Indent Guides": {
path: "displayIndentGuides" path: "displayIndentGuides"
}, },
"Persistent Scrollbar": [{ "Persistent HScrollbar": {
path: "hScrollBarAlwaysVisible" path: "hScrollBarAlwaysVisible"
}, { },
"Persistent VScrollbar": {
path: "vScrollBarAlwaysVisible" path: "vScrollBarAlwaysVisible"
}], },
"Animate scrolling": { "Animate scrolling": {
path: "animatedScroll" path: "animatedScroll"
}, },
@ -556,6 +575,7 @@ var optionGroups = {
"Show Print Margin": [{ "Show Print Margin": [{
path: "showPrintMargin" path: "showPrintMargin"
}, { }, {
ariaLabel: "Print Margin",
type: "number", type: "number",
path: "printMarginColumn" path: "printMarginColumn"
}], }],
@ -618,10 +638,10 @@ var OptionPanel = function(editor, element) {
this.render = function() { this.render = function() {
this.container.innerHTML = ""; this.container.innerHTML = "";
buildDom(["table", {id: "controls"}, buildDom(["table", {role: "presentation", id: "controls"},
this.renderOptionGroup(optionGroups.Main), this.renderOptionGroup(optionGroups.Main),
["tr", null, ["td", {colspan: 2}, ["tr", null, ["td", {colspan: 2},
["table", {id: "more-controls"}, ["table", {role: "presentation", id: "more-controls"},
this.renderOptionGroup(optionGroups.More) this.renderOptionGroup(optionGroups.More)
] ]
]], ]],
@ -664,17 +684,20 @@ var OptionPanel = function(editor, element) {
} }
if (option.type == "buttonBar") { if (option.type == "buttonBar") {
control = ["div", option.items.map(function(item) { control = ["div", {role: "group", "aria-labelledby": option.path + "-label"}, option.items.map(function(item) {
return ["button", { return ["button", {
value: item.value, value: item.value,
ace_selected_button: value == item.value, ace_selected_button: value == item.value,
'aria-pressed': value == item.value,
onclick: function() { onclick: function() {
self.setOption(option, item.value); self.setOption(option, item.value);
var nodes = this.parentNode.querySelectorAll("[ace_selected_button]"); var nodes = this.parentNode.querySelectorAll("[ace_selected_button]");
for (var i = 0; i < nodes.length; i++) { for (var i = 0; i < nodes.length; i++) {
nodes[i].removeAttribute("ace_selected_button"); nodes[i].removeAttribute("ace_selected_button");
nodes[i].setAttribute("aria-pressed", false);
} }
this.setAttribute("ace_selected_button", true); this.setAttribute("ace_selected_button", true);
this.setAttribute("aria-pressed", true);
} }
}, item.desc || item.caption || item.name]; }, item.desc || item.caption || item.name];
})]; })];
@ -682,6 +705,11 @@ var OptionPanel = function(editor, element) {
control = ["input", {type: "number", value: value || option.defaultValue, style:"width:3em", oninput: function() { control = ["input", {type: "number", value: value || option.defaultValue, style:"width:3em", oninput: function() {
self.setOption(option, parseInt(this.value)); self.setOption(option, parseInt(this.value));
}}]; }}];
if (option.ariaLabel) {
control[1]["aria-label"] = option.ariaLabel;
} else {
control[1].id = key;
}
if (option.defaults) { if (option.defaults) {
control = [control, option.defaults.map(function(item) { control = [control, option.defaults.map(function(item) {
return ["button", {onclick: function() { return ["button", {onclick: function() {
@ -725,11 +753,13 @@ var OptionPanel = function(editor, element) {
this.renderOption = function(key, option) { this.renderOption = function(key, option) {
if (option.path && !option.onchange && !this.editor.$options[option.path]) if (option.path && !option.onchange && !this.editor.$options[option.path])
return; return;
this.options[option.path] = option; var path = Array.isArray(option) ? option[0].path : option.path;
var safeKey = "-" + option.path; this.options[path] = option;
var safeKey = "-" + path;
var safeId = path + "-label";
var control = this.renderOptionControl(safeKey, option); var control = this.renderOptionControl(safeKey, option);
return ["tr", {class: "ace_optionsMenuEntry"}, ["td", return ["tr", {class: "ace_optionsMenuEntry"}, ["td",
["label", {for: safeKey}, key] ["label", {for: safeKey, id: safeId}, key]
], ["td", control]]; ], ["td", control]];
}; };

View File

@ -1,135 +1,4 @@
define("ace/theme/textmate",["require","exports","module","ace/lib/dom"], function(require, exports, module) { define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace"], function(require, exports, module) {
"use strict";
exports.isDark = false;
exports.cssClass = "ace-tm";
exports.cssText = ".ace-tm .ace_gutter {\
background: #f0f0f0;\
color: #333;\
}\
.ace-tm .ace_print-margin {\
width: 1px;\
background: #e8e8e8;\
}\
.ace-tm .ace_fold {\
background-color: #6B72E6;\
}\
.ace-tm {\
background-color: #FFFFFF;\
color: black;\
}\
.ace-tm .ace_cursor {\
color: black;\
}\
.ace-tm .ace_invisible {\
color: rgb(191, 191, 191);\
}\
.ace-tm .ace_storage,\
.ace-tm .ace_keyword {\
color: blue;\
}\
.ace-tm .ace_constant {\
color: rgb(197, 6, 11);\
}\
.ace-tm .ace_constant.ace_buildin {\
color: rgb(88, 72, 246);\
}\
.ace-tm .ace_constant.ace_language {\
color: rgb(88, 92, 246);\
}\
.ace-tm .ace_constant.ace_library {\
color: rgb(6, 150, 14);\
}\
.ace-tm .ace_invalid {\
background-color: rgba(255, 0, 0, 0.1);\
color: red;\
}\
.ace-tm .ace_support.ace_function {\
color: rgb(60, 76, 114);\
}\
.ace-tm .ace_support.ace_constant {\
color: rgb(6, 150, 14);\
}\
.ace-tm .ace_support.ace_type,\
.ace-tm .ace_support.ace_class {\
color: rgb(109, 121, 222);\
}\
.ace-tm .ace_keyword.ace_operator {\
color: rgb(104, 118, 135);\
}\
.ace-tm .ace_string {\
color: rgb(3, 106, 7);\
}\
.ace-tm .ace_comment {\
color: rgb(76, 136, 107);\
}\
.ace-tm .ace_comment.ace_doc {\
color: rgb(0, 102, 255);\
}\
.ace-tm .ace_comment.ace_doc.ace_tag {\
color: rgb(128, 159, 191);\
}\
.ace-tm .ace_constant.ace_numeric {\
color: rgb(0, 0, 205);\
}\
.ace-tm .ace_variable {\
color: rgb(49, 132, 149);\
}\
.ace-tm .ace_xml-pe {\
color: rgb(104, 104, 91);\
}\
.ace-tm .ace_entity.ace_name.ace_function {\
color: #0000A2;\
}\
.ace-tm .ace_heading {\
color: rgb(12, 7, 255);\
}\
.ace-tm .ace_list {\
color:rgb(185, 6, 144);\
}\
.ace-tm .ace_meta.ace_tag {\
color:rgb(0, 22, 142);\
}\
.ace-tm .ace_string.ace_regex {\
color: rgb(255, 0, 0)\
}\
.ace-tm .ace_marker-layer .ace_selection {\
background: rgb(181, 213, 255);\
}\
.ace-tm.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px white;\
}\
.ace-tm .ace_marker-layer .ace_step {\
background: rgb(252, 255, 0);\
}\
.ace-tm .ace_marker-layer .ace_stack {\
background: rgb(164, 229, 101);\
}\
.ace-tm .ace_marker-layer .ace_bracket {\
margin: -1px 0 0 -1px;\
border: 1px solid rgb(192, 192, 192);\
}\
.ace-tm .ace_marker-layer .ace_active-line {\
background: rgba(0, 0, 0, 0.07);\
}\
.ace-tm .ace_gutter-active-line {\
background-color : #dcdcdc;\
}\
.ace-tm .ace_marker-layer .ace_selected-word {\
background: rgb(250, 250, 255);\
border: 1px solid rgb(200, 200, 250);\
}\
.ace-tm .ace_indent-guide {\
background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\
}\
";
exports.$id = "ace/theme/textmate";
var dom = require("../lib/dom");
dom.importCssString(exports.cssText, exports.cssClass);
});
define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace","ace/theme/textmate"], function(require, exports, module) {
"use strict"; "use strict";
var event = require("../lib/event"); var event = require("../lib/event");
@ -137,8 +6,6 @@ var UA = require("../lib/useragent");
var net = require("../lib/net"); var net = require("../lib/net");
var ace = require("../ace"); var ace = require("../ace");
require("../theme/textmate");
module.exports = exports = ace; module.exports = exports = ace;
var getCSSProperty = function(element, container, property) { var getCSSProperty = function(element, container, property) {
var ret = element.style[property]; var ret = element.style[property];

View File

@ -13,7 +13,7 @@ var themeData = [
["Solarized Light"], ["Solarized Light"],
["TextMate" ], ["TextMate" ],
["Tomorrow" ], ["Tomorrow" ],
["XCode" ], ["Xcode" ],
["Kuroir"], ["Kuroir"],
["KatzenMilch"], ["KatzenMilch"],
["SQL Server" ,"sqlserver" , "light"], ["SQL Server" ,"sqlserver" , "light"],
@ -30,6 +30,8 @@ var themeData = [
["Merbivore Soft" ,"merbivore_soft" , "dark"], ["Merbivore Soft" ,"merbivore_soft" , "dark"],
["Mono Industrial" ,"mono_industrial" , "dark"], ["Mono Industrial" ,"mono_industrial" , "dark"],
["Monokai" ,"monokai" , "dark"], ["Monokai" ,"monokai" , "dark"],
["Nord Dark" ,"nord_dark" , "dark"],
["One Dark" ,"one_dark" , "dark"],
["Pastel on dark" ,"pastel_on_dark" , "dark"], ["Pastel on dark" ,"pastel_on_dark" , "dark"],
["Solarized Dark" ,"solarized_dark" , "dark"], ["Solarized Dark" ,"solarized_dark" , "dark"],
["Terminal" ,"terminal" , "dark"], ["Terminal" ,"terminal" , "dark"],

View File

@ -98,7 +98,7 @@ dom.importCssString(".ace_occur-highlight {\n\
.ace_dark .ace_occur-highlight {\n\ .ace_dark .ace_occur-highlight {\n\
background-color: rgb(80, 140, 85);\n\ background-color: rgb(80, 140, 85);\n\
box-shadow: 0 0 4px rgb(60, 120, 70);\n\ box-shadow: 0 0 4px rgb(60, 120, 70);\n\
}\n", "incremental-occur-highlighting"); }\n", "incremental-occur-highlighting", false);
exports.Occur = Occur; exports.Occur = Occur;
@ -325,7 +325,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
this.attach = function(editor) { this.attach = function(editor) {
var iSearch = this.$iSearch; var iSearch = this.$iSearch;
HashHandler.call(this, exports.iSearchCommands, editor.commands.platform); HashHandler.call(this, exports.iSearchCommands, editor.commands.platform);
this.$commandExecHandler = editor.commands.addEventListener('exec', function(e) { this.$commandExecHandler = editor.commands.on('exec', function(e) {
if (!e.command.isIncrementalSearchCommand) if (!e.command.isIncrementalSearchCommand)
return iSearch.deactivate(); return iSearch.deactivate();
e.stopPropagation(); e.stopPropagation();
@ -340,7 +340,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
this.detach = function(editor) { this.detach = function(editor) {
if (!this.$commandExecHandler) return; if (!this.$commandExecHandler) return;
editor.commands.removeEventListener('exec', this.$commandExecHandler); editor.commands.off('exec', this.$commandExecHandler);
delete this.$commandExecHandler; delete this.$commandExecHandler;
}; };
@ -349,7 +349,7 @@ oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
if (((hashId === 1/*ctrl*/ || hashId === 8/*command*/) && key === 'v') if (((hashId === 1/*ctrl*/ || hashId === 8/*command*/) && key === 'v')
|| (hashId === 1/*ctrl*/ && key === 'y')) return null; || (hashId === 1/*ctrl*/ && key === 'y')) return null;
var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode); var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
if (cmd.command) { return cmd; } if (cmd && cmd.command) { return cmd; }
if (hashId == -1) { if (hashId == -1) {
var extendCmd = this.commands.extendSearchTerm; var extendCmd = this.commands.extendSearchTerm;
if (extendCmd) { return {command: extendCmd, args: key}; } if (extendCmd) { return {command: extendCmd, args: key}; }
@ -406,27 +406,28 @@ function objectToRegExp(obj) {
(function() { (function() {
this.activate = function(ed, backwards) { this.activate = function(editor, backwards) {
this.$editor = ed; this.$editor = editor;
this.$startPos = this.$currentPos = ed.getCursorPosition(); this.$startPos = this.$currentPos = editor.getCursorPosition();
this.$options.needle = ''; this.$options.needle = '';
this.$options.backwards = backwards; this.$options.backwards = backwards;
ed.keyBinding.addKeyboardHandler(this.$keyboardHandler); editor.keyBinding.addKeyboardHandler(this.$keyboardHandler);
this.$originalEditorOnPaste = ed.onPaste; ed.onPaste = this.onPaste.bind(this); this.$originalEditorOnPaste = editor.onPaste;
this.$mousedownHandler = ed.addEventListener('mousedown', this.onMouseDown.bind(this)); editor.onPaste = this.onPaste.bind(this);
this.selectionFix(ed); this.$mousedownHandler = editor.on('mousedown', this.onMouseDown.bind(this));
this.selectionFix(editor);
this.statusMessage(true); this.statusMessage(true);
}; };
this.deactivate = function(reset) { this.deactivate = function(reset) {
this.cancelSearch(reset); this.cancelSearch(reset);
var ed = this.$editor; var editor = this.$editor;
ed.keyBinding.removeKeyboardHandler(this.$keyboardHandler); editor.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
if (this.$mousedownHandler) { if (this.$mousedownHandler) {
ed.removeEventListener('mousedown', this.$mousedownHandler); editor.off('mousedown', this.$mousedownHandler);
delete this.$mousedownHandler; delete this.$mousedownHandler;
} }
ed.onPaste = this.$originalEditorOnPaste; editor.onPaste = this.$originalEditorOnPaste;
this.message(''); this.message('');
}; };
@ -557,7 +558,7 @@ function objectToRegExp(obj) {
exports.IncrementalSearch = IncrementalSearch; exports.IncrementalSearch = IncrementalSearch;
var dom = require('./lib/dom'); var dom = require('./lib/dom');
dom.importCssString && dom.importCssString("\ dom.importCssString("\
.ace_marker-layer .ace_isearch-result {\ .ace_marker-layer .ace_isearch-result {\
position: absolute;\ position: absolute;\
z-index: 6;\ z-index: 6;\
@ -571,7 +572,7 @@ div.ace_isearch-result {\
.ace_dark div.ace_isearch-result {\ .ace_dark div.ace_isearch-result {\
background-color: rgb(100, 110, 160);\ background-color: rgb(100, 110, 160);\
box-shadow: 0 0 4px rgb(80, 90, 140);\ box-shadow: 0 0 4px rgb(80, 90, 140);\
}", "incremental-search-highlighting"); }", "incremental-search-highlighting", false);
var commands = require("./commands/command_manager"); var commands = require("./commands/command_manager");
(function() { (function() {
this.setupIncrementalSearch = function(editor, val) { this.setupIncrementalSearch = function(editor, val) {
@ -700,20 +701,20 @@ exports.handler.attach = function(editor) {
editor.commands.addCommands(commands); editor.commands.addCommands(commands);
exports.handler.platform = editor.commands.platform; exports.handler.platform = editor.commands.platform;
editor.$emacsModeHandler = this; editor.$emacsModeHandler = this;
editor.addEventListener('copy', this.onCopy); editor.on('copy', this.onCopy);
editor.addEventListener('paste', this.onPaste); editor.on('paste', this.onPaste);
}; };
exports.handler.detach = function(editor) { exports.handler.detach = function(editor) {
editor.renderer.$blockCursor = false; editor.renderer.$blockCursor = false;
editor.session.$selectLongWords = $formerLongWords; editor.session.$selectLongWords = $formerLongWords;
editor.session.$useEmacsStyleLineStart = $formerLineStart; editor.session.$useEmacsStyleLineStart = $formerLineStart;
editor.removeEventListener("click", $resetMarkMode); editor.off("click", $resetMarkMode);
editor.removeEventListener("changeSession", $kbSessionChange); editor.off("changeSession", $kbSessionChange);
editor.unsetStyle("emacs-mode"); editor.unsetStyle("emacs-mode");
editor.commands.removeCommands(commands); editor.commands.removeCommands(commands);
editor.removeEventListener('copy', this.onCopy); editor.off('copy', this.onCopy);
editor.removeEventListener('paste', this.onPaste); editor.off('paste', this.onPaste);
editor.$emacsModeHandler = null; editor.$emacsModeHandler = null;
}; };

File diff suppressed because it is too large Load Diff

View File

@ -116,7 +116,7 @@ exports.handler.addCommands([{
[{ [{
bindKey: {mac: "Control-G", win: "Ctrl-G"}, bindKey: {mac: "Ctrl-G", win: "Ctrl-G"},
name: "gotoline" name: "gotoline"
}, { }, {
bindKey: {mac: "Command-Shift-L|Command-F2", win: "Ctrl-Shift-L|Ctrl-F2"}, bindKey: {mac: "Command-Shift-L|Command-F2", win: "Ctrl-Shift-L|Ctrl-F2"},
@ -158,10 +158,10 @@ exports.handler.addCommands([{
bindKey: {mac: "Command-[", win: "Ctrl-["}, bindKey: {mac: "Command-[", win: "Ctrl-["},
name: "blockoutdent" name: "blockoutdent"
}, { }, {
bindKey: {mac: "Control-PageDown", win: "Alt-PageDown"}, bindKey: {mac: "Ctrl-PageDown", win: "Alt-PageDown"},
name: "pagedown" name: "pagedown"
}, { }, {
bindKey: {mac: "Control-PageUp", win: "Alt-PageUp"}, bindKey: {mac: "Ctrl-PageUp", win: "Alt-PageUp"},
name: "pageup" name: "pageup"
}, { }, {
bindKey: {mac: "Shift-Option-A", win: "Shift-Alt-A"}, bindKey: {mac: "Shift-Option-A", win: "Shift-Alt-A"},

View File

@ -254,7 +254,10 @@ define("ace/mode/abc",["require","exports","module","ace/lib/oop","ace/mode/text
oop.inherits(Mode, TextMode); oop.inherits(Mode, TextMode);
(function () { (function () {
this.lineCommentStart = "%";
this.$id = "ace/mode/abc"; this.$id = "ace/mode/abc";
this.snippetFileId = "ace/snippets/abc";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -261,6 +261,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/actionscript"; this.$id = "ace/mode/actionscript";
this.snippetFileId = "ace/snippets/actionscript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -0,0 +1,311 @@
define("ace/mode/alda_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var AldaHighlightRules = function() {
this.$rules = {
pitch: [{
token: "variable.parameter.operator.pitch.alda",
regex: /(?:[+\-]+|\=)/
}, {
token: "",
regex: "",
next: "timing"
}],
timing: [{
token: "string.quoted.operator.timing.alda",
regex: /\d+(?:s|ms)?/
}, {
token: "",
regex: "",
next: "start"
}],
start: [{
token: [
"constant.language.instrument.alda",
"constant.language.instrument.alda",
"meta.part.call.alda",
"storage.type.nickname.alda",
"meta.part.call.alda"
],
regex: /^([a-zA-Z]{2}[\w\-+\'()]*)((?:\s*\/\s*[a-zA-Z]{2}[\w\-+\'()]*)*)(?:(\s*)(\"[a-zA-Z]{2}[\w\-+\'()]*\"))?(\s*:)/
}, {
token: [
"text",
"entity.other.inherited-class.voice.alda",
"text"
],
regex: /^(\s*)(V\d+)(:)/
}, {
token: "comment.line.number-sign.alda",
regex: /#.*$/
}, {
token: "entity.name.function.pipe.measure.alda",
regex: /\|/
}, {
token: "comment.block.inline.alda",
regex: /\(comment\b/,
push: [{
token: "comment.block.inline.alda",
regex: /\)/,
next: "pop"
}, {
defaultToken: "comment.block.inline.alda"
}]
}, {
token: "entity.name.function.marker.alda",
regex: /%[a-zA-Z]{2}[\w\-+\'()]*/
}, {
token: "entity.name.function.at-marker.alda",
regex: /@[a-zA-Z]{2}[\w\-+\'()]*/
}, {
token: "keyword.operator.octave-change.alda",
regex: /\bo\d+\b/
}, {
token: "keyword.operator.octave-shift.alda",
regex: /[><]/
}, {
token: "keyword.operator.repeat.alda",
regex: /\*\s*\d+/
}, {
token: "string.quoted.operator.timing.alda",
regex: /[.]|r\d*(?:s|ms)?/
},{
token: "text",
regex: /([cdefgab])/,
next: "pitch"
}, {
token: "string.quoted.operator.timing.alda",
regex: /~/,
next: "timing"
}, {
token: "punctuation.section.embedded.cram.alda",
regex: /\}/,
next: "timing"
}, {
token: "constant.numeric.subchord.alda",
regex: /\//
}, {
todo: {
token: "punctuation.section.embedded.cram.alda",
regex: /\{/,
push: [{
token: "punctuation.section.embedded.cram.alda",
regex: /\}/,
next: "pop"
}, {
include: "$self"
}]
}
}, {
todo: {
token: "keyword.control.sequence.alda",
regex: /\[/,
push: [{
token: "keyword.control.sequence.alda",
regex: /\]/,
next: "pop"
}, {
include: "$self"
}]
}
}, {
token: "meta.inline.clojure.alda",
regex: /\(/,
push: [{
token: "meta.inline.clojure.alda",
regex: /\)/,
next: "pop"
}, {
include: "source.clojure"
}, {
defaultToken: "meta.inline.clojure.alda"
}]
}]
};
this.normalizeRules();
};
AldaHighlightRules.metaData = {
scopeName: "source.alda",
fileTypes: ["alda"],
name: "Alda"
};
oop.inherits(AldaHighlightRules, TextHighlightRules);
exports.AldaHighlightRules = AldaHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/alda",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/alda_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var AldaHighlightRules = require("./alda_highlight_rules").AldaHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = AldaHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function() {
this.$id = "ace/mode/alda";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/alda"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -58,16 +58,7 @@ define("ace/mode/asl_highlight_rules",["require","exports","module","ace/lib/oop
var ASLHighlightRules = function() { var ASLHighlightRules = function() {
var keywords = ( var keywords = (
"Default|DefinitionBlock|Device|Method|Else|ElseIf|For|Function|If|Include|Method|Return|" + "Default|DefinitionBlock|Device|Method|Else|ElseIf|For|Function|If|Include|Method|Return|" +
"Scope|Switch|Case|While|Break|BreakPoint|Continue|NoOp|Wait" "Scope|Switch|Case|While|Break|BreakPoint|Continue|NoOp|Wait|True|False|" +
);
var keywordOperators = (
"Add|And|Decrement|Divide|Increment|Index|LAnd|LEqual|LGreater|LGreaterEqual|" +
"LLess|LLessEqual|LNot|LNotEqual|LOr|Mod|Multiply|NAnd|NOr|Not|Or|RefOf|Revision|" +
"ShiftLeft|ShiftRight|Subtract|XOr|DerefOf"
);
var buildinFunctions = (
"AccessAs|Acquire|Alias|BankField|Buffer|Concatenate|ConcatenateResTemplate|" + "AccessAs|Acquire|Alias|BankField|Buffer|Concatenate|ConcatenateResTemplate|" +
"CondRefOf|Connection|CopyObject|CreateBitField|CreateByteField|CreateDWordField|" + "CondRefOf|Connection|CopyObject|CreateBitField|CreateByteField|CreateDWordField|" +
"CreateField|CreateQWordField|CreateWordField|DataTableRegion|Debug|" + "CreateField|CreateQWordField|CreateWordField|DataTableRegion|Debug|" +
@ -83,6 +74,12 @@ define("ace/mode/asl_highlight_rules",["require","exports","module","ace/lib/oop
"WordSpace" "WordSpace"
); );
var keywordOperators = (
"Add|And|Decrement|Divide|Increment|Index|LAnd|LEqual|LGreater|LGreaterEqual|" +
"LLess|LLessEqual|LNot|LNotEqual|LOr|Mod|Multiply|NAnd|NOr|Not|Or|RefOf|Revision|" +
"ShiftLeft|ShiftRight|Subtract|XOr|DerefOf"
);
var flags = ( var flags = (
"AttribQuick|AttribSendReceive|AttribByte|AttribBytes|AttribRawBytes|" + "AttribQuick|AttribSendReceive|AttribByte|AttribBytes|AttribRawBytes|" +
"AttribRawProcessBytes|AttribWord|AttribBlock|AttribProcessCall|AttribBlockProcessCall|" + "AttribRawProcessBytes|AttribWord|AttribBlock|AttribProcessCall|AttribBlockProcessCall|" +
@ -121,21 +118,25 @@ define("ace/mode/asl_highlight_rules",["require","exports","module","ace/lib/oop
"ThermalZoneObj|BuffFieldObj|DDBHandleObj" "ThermalZoneObj|BuffFieldObj|DDBHandleObj"
); );
var buildinConstants = ( var builtinConstants = (
"__FILE__|__PATH__|__LINE__|__DATE__|__IASL__" "__FILE__|__PATH__|__LINE__|__DATE__|__IASL__"
); );
var strNumbers = (
"One|Ones|Zero"
);
var deprecated = ( var deprecated = (
"Memory24|Processor" "Memory24|Processor"
); );
var keywordMapper = this.createKeywordMapper({ var keywordMapper = this.createKeywordMapper({
"keyword": keywords, "keyword": keywords,
"constant.numeric": strNumbers,
"keyword.operator": keywordOperators, "keyword.operator": keywordOperators,
"function.buildin": buildinFunctions, "constant.language": builtinConstants,
"constant.language": buildinConstants,
"storage.type": storageTypes, "storage.type": storageTypes,
"constant.character": flags, "constant.library": flags,
"invalid.deprecated": deprecated "invalid.deprecated": deprecated
}, "identifier"); }, "identifier");
@ -174,13 +175,13 @@ define("ace/mode/asl_highlight_rules",["require","exports","module","ace/lib/oop
regex : /0[xX][0-9a-fA-F]+\b/ regex : /0[xX][0-9a-fA-F]+\b/
}, { }, {
token : "constant.numeric", token : "constant.numeric",
regex : /(One(s)?|Zero|True|False|[0-9]+)\b/ regex : /[0-9]+\b/
}, { }, {
token : keywordMapper, token : keywordMapper,
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, { }, {
token : "keyword.operator", token : "keyword.operator",
regex : "/|!|\\$|%|&|\\||\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|\\^|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\|=" regex : /[!\~\*\/%+-<>\^|=&]/
}, { }, {
token : "lparen", token : "lparen",
regex : "[[({]" regex : "[[({]"

View File

@ -1,334 +0,0 @@
define("ace/mode/bro_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var BroHighlightRules = function() {
this.$rules = {
start: [{
token: "punctuation.definition.comment.bro",
regex: /#/,
push: [{
token: "comment.line.number-sign.bro",
regex: /$/,
next: "pop"
}, {
defaultToken: "comment.line.number-sign.bro"
}]
}, {
token: "keyword.control.bro",
regex: /\b(?:break|case|continue|else|for|if|return|switch|next|when|timeout|schedule)\b/
}, {
token: [
"meta.function.bro",
"meta.function.bro",
"storage.type.bro",
"meta.function.bro",
"entity.name.function.bro",
"meta.function.bro"
],
regex: /^(\s*)(?:function|hook|event)(\s*)(.*)(\s*\()(.*)(\).*$)/
}, {
token: "storage.type.bro",
regex: /\b(?:bool|enum|double|int|count|port|addr|subnet|any|file|interval|time|string|table|vector|set|record|pattern|hook)\b/
}, {
token: "storage.modifier.bro",
regex: /\b(?:global|const|redef|local|&(?:optional|rotate_interval|rotate_size|add_func|del_func|expire_func|expire_create|expire_read|expire_write|persistent|synchronized|encrypt|mergeable|priority|group|type_column|log|error_handler))\b/
}, {
token: "keyword.operator.bro",
regex: /\s*(?:\||&&|(?:>|<|!)=?|==)\s*|\b!?in\b/
}, {
token: "constant.language.bro",
regex: /\b(?:T|F)\b/
}, {
token: "constant.numeric.bro",
regex: /\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\.?[0-9]*|\.[0-9]+)(?:(?:e|E)(?:\+|-)?[0-9]+)?)(?:\/(?:tcp|udp|icmp)|\s*(?:u?sec|min|hr|day)s?)?\b/
}, {
token: "punctuation.definition.string.begin.bro",
regex: /"/,
push: [{
token: "punctuation.definition.string.end.bro",
regex: /"/,
next: "pop"
}, {
include: "#string_escaped_char"
}, {
include: "#string_placeholder"
}, {
defaultToken: "string.quoted.double.bro"
}]
}, {
token: "punctuation.definition.string.begin.bro",
regex: /\//,
push: [{
token: "punctuation.definition.string.end.bro",
regex: /\//,
next: "pop"
}, {
include: "#string_escaped_char"
}, {
include: "#string_placeholder"
}, {
defaultToken: "string.quoted.regex.bro"
}]
}, {
token: [
"meta.preprocessor.bro.load",
"keyword.other.special-method.bro"
],
regex: /^(\s*)(\@load(?:-sigs)?)\b/,
push: [{
token: [],
regex: /(?=\#)|$/,
next: "pop"
}, {
defaultToken: "meta.preprocessor.bro.load"
}]
}, {
token: [
"meta.preprocessor.bro.if",
"keyword.other.special-method.bro",
"meta.preprocessor.bro.if"
],
regex: /^(\s*)(\@endif|\@if(?:n?def)?)(.*$)/,
push: [{
token: [],
regex: /$/,
next: "pop"
}, {
defaultToken: "meta.preprocessor.bro.if"
}]
}],
"#disabled": [{
token: "text",
regex: /^\s*\@if(?:n?def)?\b.*$/,
push: [{
token: "text",
regex: /^\s*\@endif\b.*$/,
next: "pop"
}, {
include: "#disabled"
}, {
include: "#pragma-mark"
}],
comment: "eat nested preprocessor ifdefs"
}],
"#preprocessor-rule-other": [{
token: [
"text",
"meta.preprocessor.bro",
"meta.preprocessor.bro",
"text"
],
regex: /^(\s*)(@if)((?:n?def)?)\b(.*?)(?:(?=)|$)/,
push: [{
token: ["text", "meta.preprocessor.bro", "text"],
regex: /^(\s*)(@endif)\b(.*$)/,
next: "pop"
}, {
include: "$base"
}]
}],
"#string_escaped_char": [{
token: "constant.character.escape.bro",
regex: /\\(?:\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-fA-F0-9]{,2})/
}, {
token: "invalid.illegal.unknown-escape.bro",
regex: /\\./
}],
"#string_placeholder": [{
token: "constant.other.placeholder.bro",
regex: /%(?:\d+\$)?[#0\- +']*[,;:_]?(?:-?\d+|\*(?:-?\d+\$)?)?(?:\.(?:-?\d+|\*(?:-?\d+\$)?)?)?(?:hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn%]/
}, {
token: "invalid.illegal.placeholder.bro",
regex: /%/
}]
};
this.normalizeRules();
};
BroHighlightRules.metaData = {
fileTypes: ["bro"],
foldingStartMarker: "^(\\@if(n?def)?)",
foldingStopMarker: "^\\@endif",
keyEquivalent: "@B",
name: "Bro",
scopeName: "source.bro"
};
oop.inherits(BroHighlightRules, TextHighlightRules);
exports.BroHighlightRules = BroHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/bro",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/bro_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var BroHighlightRules = require("./bro_highlight_rules").BroHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = BroHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function() {
this.$id = "ace/mode/bro";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/bro"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );
@ -489,6 +489,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/c_cpp"; this.$id = "ace/mode/c_cpp";
this.snippetFileId = "ace/snippets/c_cpp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -301,6 +301,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/clojure"; this.$id = "ace/mode/clojure";
this.snippetFileId = "ace/snippets/clojure";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -385,6 +385,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/coffee"; this.$id = "ace/mode/coffee";
this.snippetFileId = "ace/snippets/coffee";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -300,7 +300,7 @@ var CsoundScoreHighlightRules = function(embeddedRulePrefix) {
start.push( start.push(
{ {
token : "keyword.control.csound-score", token : "keyword.control.csound-score",
regex : /[abCdefiqstvxy]/ regex : /[aBbCdefiqstvxy]/
}, { }, {
token : "invalid.illegal.csound-score", token : "invalid.illegal.csound-score",
regex : /w/ regex : /w/
@ -935,10 +935,10 @@ var PythonHighlightRules = function() {
regex: "\\s+" regex: "\\s+"
}, { }, {
token: "string", token: "string",
regex: "'(.)*'" regex: "'[^']*'"
}, { }, {
token: "string", token: "string",
regex: '"(.)*"' regex: '"[^"]*"'
}, { }, {
token: "function.support", token: "function.support",
regex: "(!s|!r|!a)" regex: "(!s|!r|!a)"
@ -1141,6 +1141,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"adsynt", "adsynt",
"adsynt2", "adsynt2",
"aftouch", "aftouch",
"allpole",
"alpass", "alpass",
"alwayson", "alwayson",
"ampdb", "ampdb",
@ -1148,11 +1149,17 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ampmidi", "ampmidi",
"ampmidicurve", "ampmidicurve",
"ampmidid", "ampmidid",
"apoleparams",
"arduinoRead",
"arduinoReadF",
"arduinoStart",
"arduinoStop",
"areson", "areson",
"aresonk", "aresonk",
"atone", "atone",
"atonek", "atonek",
"atonex", "atonex",
"autocorr",
"babo", "babo",
"balance", "balance",
"balance2", "balance2",
@ -1160,8 +1167,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"barmodel", "barmodel",
"bbcutm", "bbcutm",
"bbcuts", "bbcuts",
"beadsynt",
"beosc",
"betarand", "betarand",
"bexprnd", "bexprnd",
"bformdec1", "bformdec1",
@ -1170,6 +1175,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"biquad", "biquad",
"biquada", "biquada",
"birnd", "birnd",
"bob",
"bpf", "bpf",
"bpfcos", "bpfcos",
"bqrez", "bqrez",
@ -1195,6 +1201,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ceps", "ceps",
"cepsinv", "cepsinv",
"chanctrl", "chanctrl",
"changed",
"changed2", "changed2",
"chani", "chani",
"chano", "chano",
@ -1206,11 +1213,19 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"chnclear", "chnclear",
"chnexport", "chnexport",
"chnget", "chnget",
"chngeta",
"chngeti",
"chngetk",
"chngetks", "chngetks",
"chngets",
"chnmix", "chnmix",
"chnparams", "chnparams",
"chnset", "chnset",
"chnseta",
"chnseti",
"chnsetk",
"chnsetks", "chnsetks",
"chnsets",
"chuap", "chuap",
"clear", "clear",
"clfilt", "clfilt",
@ -1219,6 +1234,13 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"clockon", "clockon",
"cmp", "cmp",
"cmplxprod", "cmplxprod",
"cntCreate",
"cntCycles",
"cntDelete",
"cntDelete_i",
"cntRead",
"cntReset",
"cntState",
"comb", "comb",
"combinv", "combinv",
"compilecsd", "compilecsd",
@ -1238,6 +1260,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"cosseg", "cosseg",
"cossegb", "cossegb",
"cossegr", "cossegr",
"count",
"count_i",
"cps2pch", "cps2pch",
"cpsmidi", "cpsmidi",
"cpsmidib", "cpsmidib",
@ -1263,6 +1287,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ctrl21", "ctrl21",
"ctrl7", "ctrl7",
"ctrlinit", "ctrlinit",
"ctrlpreset",
"ctrlprint",
"ctrlprintpresets",
"ctrlsave",
"ctrlselect",
"cuserrnd", "cuserrnd",
"dam", "dam",
"date", "date",
@ -1408,6 +1437,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ftchnls", "ftchnls",
"ftconv", "ftconv",
"ftcps", "ftcps",
"ftexists",
"ftfree", "ftfree",
"ftgen", "ftgen",
"ftgenonce", "ftgenonce",
@ -1424,7 +1454,9 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ftsamplebank", "ftsamplebank",
"ftsave", "ftsave",
"ftsavek", "ftsavek",
"ftset",
"ftslice", "ftslice",
"ftslicei",
"ftsr", "ftsr",
"gain", "gain",
"gainslider", "gainslider",
@ -1441,7 +1473,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"getcol", "getcol",
"getftargs", "getftargs",
"getrow", "getrow",
"getrowlin",
"getseed", "getseed",
"gogobel", "gogobel",
"grain", "grain",
@ -1689,8 +1720,12 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"la_k_upper_solve_mr", "la_k_upper_solve_mr",
"la_k_vc_set", "la_k_vc_set",
"la_k_vr_set", "la_k_vr_set",
"lag",
"lagud",
"lastcycle",
"lenarray", "lenarray",
"lfo", "lfo",
"lfsr",
"limit", "limit",
"limit1", "limit1",
"lincos", "lincos",
@ -1734,6 +1769,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"lowpass2", "lowpass2",
"lowres", "lowres",
"lowresx", "lowresx",
"lpcanal",
"lpcfilter",
"lpf18", "lpf18",
"lpform", "lpform",
"lpfreson", "lpfreson",
@ -1749,14 +1786,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"lpshold", "lpshold",
"lpsholdp", "lpsholdp",
"lpslot", "lpslot",
"lua_exec", "lufs",
"lua_iaopcall",
"lua_iaopcall_off",
"lua_ikopcall",
"lua_ikopcall_off",
"lua_iopcall",
"lua_iopcall_off",
"lua_opdef",
"mac", "mac",
"maca", "maca",
"madsr", "madsr",
@ -1779,6 +1809,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"median", "median",
"mediank", "mediank",
"metro", "metro",
"metro2",
"mfb", "mfb",
"midglobal", "midglobal",
"midiarp", "midiarp",
@ -1831,6 +1862,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"mp3sr", "mp3sr",
"mpulse", "mpulse",
"mrtmsg", "mrtmsg",
"ms2st",
"mtof", "mtof",
"mton", "mton",
"multitap", "multitap",
@ -1840,6 +1872,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"mvclpf2", "mvclpf2",
"mvclpf3", "mvclpf3",
"mvclpf4", "mvclpf4",
"mvmfilter",
"mxadsr", "mxadsr",
"nchnls_hw", "nchnls_hw",
"nestedap", "nestedap",
@ -1883,6 +1916,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"oscilx", "oscilx",
"out", "out",
"out32", "out32",
"outall",
"outc", "outc",
"outch", "outch",
"outh", "outh",
@ -1983,12 +2017,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"printk2", "printk2",
"printks", "printks",
"printks2", "printks2",
"println",
"prints", "prints",
"printsk",
"product", "product",
"pset", "pset",
"ptable",
"ptable3",
"ptablei",
"ptablew", "ptablew",
"ptrack", "ptrack",
"puts", "puts",
@ -2005,6 +2038,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvsarp", "pvsarp",
"pvsbandp", "pvsbandp",
"pvsbandr", "pvsbandr",
"pvsbandwidth",
"pvsbin", "pvsbin",
"pvsblur", "pvsblur",
"pvsbuffer", "pvsbuffer",
@ -2013,6 +2047,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvscale", "pvscale",
"pvscent", "pvscent",
"pvsceps", "pvsceps",
"pvscfs",
"pvscross", "pvscross",
"pvsdemix", "pvsdemix",
"pvsdiskin", "pvsdiskin",
@ -2032,6 +2067,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvsinfo", "pvsinfo",
"pvsinit", "pvsinit",
"pvslock", "pvslock",
"pvslpc",
"pvsmaska", "pvsmaska",
"pvsmix", "pvsmix",
"pvsmooth", "pvsmooth",
@ -2133,6 +2169,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"qnan", "qnan",
"r2c", "r2c",
"rand", "rand",
"randc",
"randh", "randh",
"randi", "randi",
"random", "random",
@ -2156,6 +2193,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"repluck", "repluck",
"reshapearray", "reshapearray",
"reson", "reson",
"resonbnk",
"resonk", "resonk",
"resonr", "resonr",
"resonx", "resonx",
@ -2173,6 +2211,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"rms", "rms",
"rnd", "rnd",
"rnd31", "rnd31",
"rndseed",
"round", "round",
"rspline", "rspline",
"rtclock", "rtclock",
@ -2185,14 +2224,17 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sc_phasor", "sc_phasor",
"sc_trig", "sc_trig",
"scale", "scale",
"scale2",
"scalearray", "scalearray",
"scanhammer", "scanhammer",
"scans", "scans",
"scantable", "scantable",
"scanu", "scanu",
"scanu2",
"schedkwhen", "schedkwhen",
"schedkwhennamed", "schedkwhennamed",
"schedule", "schedule",
"schedulek",
"schedwhen", "schedwhen",
"scoreline", "scoreline",
"scoreline_i", "scoreline_i",
@ -2238,6 +2280,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sinh", "sinh",
"sininv", "sininv",
"sinsyn", "sinsyn",
"skf",
"sleighbells", "sleighbells",
"slicearray", "slicearray",
"slicearray_i", "slicearray_i",
@ -2273,13 +2316,16 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"spat3di", "spat3di",
"spat3dt", "spat3dt",
"spdist", "spdist",
"spf",
"splitrig", "splitrig",
"sprintf", "sprintf",
"sprintfk", "sprintfk",
"spsend", "spsend",
"sqrt", "sqrt",
"squinewave", "squinewave",
"st2ms",
"statevar", "statevar",
"sterrain",
"stix", "stix",
"strcat", "strcat",
"strcatk", "strcatk",
@ -2303,6 +2349,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"strrindex", "strrindex",
"strrindexk", "strrindexk",
"strset", "strset",
"strstrip",
"strsub", "strsub",
"strsubk", "strsubk",
"strtod", "strtod",
@ -2317,6 +2364,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sum", "sum",
"sumarray", "sumarray",
"svfilter", "svfilter",
"svn",
"syncgrain", "syncgrain",
"syncloop", "syncloop",
"syncphasor", "syncphasor",
@ -2357,7 +2405,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"tabmorphi", "tabmorphi",
"tabplay", "tabplay",
"tabrec", "tabrec",
"tabrowlin",
"tabsum", "tabsum",
"tabw", "tabw",
"tabw_i", "tabw_i",
@ -2389,7 +2436,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"trcross", "trcross",
"trfilter", "trfilter",
"trhighest", "trhighest",
"trigExpseg",
"trigLinseg",
"trigger", "trigger",
"trighold",
"trigphasor",
"trigseq", "trigseq",
"trim", "trim",
"trim_i", "trim_i",
@ -2401,6 +2452,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"trsplit", "trsplit",
"turnoff", "turnoff",
"turnoff2", "turnoff2",
"turnoff2_i",
"turnoff3",
"turnon", "turnon",
"tvconv", "tvconv",
"unirand", "unirand",
@ -2424,6 +2477,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"vbapz", "vbapz",
"vbapzmove", "vbapzmove",
"vcella", "vcella",
"vclpf",
"vco", "vco",
"vco2", "vco2",
"vco2ft", "vco2ft",
@ -2472,6 +2526,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"vpow_i", "vpow_i",
"vpowv", "vpowv",
"vpowv_i", "vpowv_i",
"vps",
"vpvoc", "vpvoc",
"vrandh", "vrandh",
"vrandi", "vrandi",
@ -2511,6 +2566,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"wrap", "wrap",
"writescratch", "writescratch",
"wterrain", "wterrain",
"wterrain2",
"xadsr", "xadsr",
"xin", "xin",
"xout", "xout",
@ -2543,24 +2599,47 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"zkwm" "zkwm"
]; ];
var deprecatedOpcodes = [ var deprecatedOpcodes = [
"OSCsendA",
"array", "array",
"beadsynt",
"beosc",
"bformdec", "bformdec",
"bformenc", "bformenc",
"changed", "buchla",
"copy2ftab", "copy2ftab",
"copy2ttab", "copy2ttab",
"getrowlin",
"hrtfer", "hrtfer",
"ktableseg", "ktableseg",
"lentab", "lentab",
"lua_exec",
"lua_iaopcall",
"lua_iaopcall_off",
"lua_ikopcall",
"lua_ikopcall_off",
"lua_iopcall",
"lua_iopcall_off",
"lua_opdef",
"maxtab", "maxtab",
"mintab", "mintab",
"mp3scal_check",
"mp3scal_load",
"mp3scal_load2",
"mp3scal_play",
"mp3scal_play2",
"pop", "pop",
"pop_f", "pop_f",
"ptable",
"ptable3",
"ptablei",
"ptableiw", "ptableiw",
"push", "push",
"push_f", "push_f",
"pvsgendy",
"scalet", "scalet",
"signalflowgraph",
"sndload", "sndload",
"socksend_k",
"soundout", "soundout",
"soundouts", "soundouts",
"specaddm", "specaddm",
@ -2573,11 +2652,14 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"specsum", "specsum",
"spectrum", "spectrum",
"stack", "stack",
"sumTableFilter",
"sumtab", "sumtab",
"systime",
"tabgen", "tabgen",
"tableiw", "tableiw",
"tabmap", "tabmap",
"tabmap_i", "tabmap_i",
"tabrowlin",
"tabslice", "tabslice",
"tb0", "tb0",
"tb0_init", "tb0_init",
@ -2612,6 +2694,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"tb9", "tb9",
"tb9_init", "tb9_init",
"vbap16", "vbap16",
"vbap1move",
"vbap4", "vbap4",
"vbap4move", "vbap4move",
"vbap8", "vbap8",
@ -4006,6 +4089,11 @@ var Mode = function() {
}; };
oop.inherits(Mode, TextMode); oop.inherits(Mode, TextMode);
(function() {
this.$id = "ace/mode/csound_document";
this.snippetFileId = "ace/snippets/csound_document";
}).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
}); (function() { }); (function() {
window.require(["ace/mode/csound_document"], function(m) { window.require(["ace/mode/csound_document"], function(m) {

View File

@ -300,7 +300,7 @@ var CsoundScoreHighlightRules = function(embeddedRulePrefix) {
start.push( start.push(
{ {
token : "keyword.control.csound-score", token : "keyword.control.csound-score",
regex : /[abCdefiqstvxy]/ regex : /[aBbCdefiqstvxy]/
}, { }, {
token : "invalid.illegal.csound-score", token : "invalid.illegal.csound-score",
regex : /w/ regex : /w/
@ -935,10 +935,10 @@ var PythonHighlightRules = function() {
regex: "\\s+" regex: "\\s+"
}, { }, {
token: "string", token: "string",
regex: "'(.)*'" regex: "'[^']*'"
}, { }, {
token: "string", token: "string",
regex: '"(.)*"' regex: '"[^"]*"'
}, { }, {
token: "function.support", token: "function.support",
regex: "(!s|!r|!a)" regex: "(!s|!r|!a)"
@ -1141,6 +1141,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"adsynt", "adsynt",
"adsynt2", "adsynt2",
"aftouch", "aftouch",
"allpole",
"alpass", "alpass",
"alwayson", "alwayson",
"ampdb", "ampdb",
@ -1148,11 +1149,17 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ampmidi", "ampmidi",
"ampmidicurve", "ampmidicurve",
"ampmidid", "ampmidid",
"apoleparams",
"arduinoRead",
"arduinoReadF",
"arduinoStart",
"arduinoStop",
"areson", "areson",
"aresonk", "aresonk",
"atone", "atone",
"atonek", "atonek",
"atonex", "atonex",
"autocorr",
"babo", "babo",
"balance", "balance",
"balance2", "balance2",
@ -1160,8 +1167,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"barmodel", "barmodel",
"bbcutm", "bbcutm",
"bbcuts", "bbcuts",
"beadsynt",
"beosc",
"betarand", "betarand",
"bexprnd", "bexprnd",
"bformdec1", "bformdec1",
@ -1170,6 +1175,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"biquad", "biquad",
"biquada", "biquada",
"birnd", "birnd",
"bob",
"bpf", "bpf",
"bpfcos", "bpfcos",
"bqrez", "bqrez",
@ -1195,6 +1201,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ceps", "ceps",
"cepsinv", "cepsinv",
"chanctrl", "chanctrl",
"changed",
"changed2", "changed2",
"chani", "chani",
"chano", "chano",
@ -1206,11 +1213,19 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"chnclear", "chnclear",
"chnexport", "chnexport",
"chnget", "chnget",
"chngeta",
"chngeti",
"chngetk",
"chngetks", "chngetks",
"chngets",
"chnmix", "chnmix",
"chnparams", "chnparams",
"chnset", "chnset",
"chnseta",
"chnseti",
"chnsetk",
"chnsetks", "chnsetks",
"chnsets",
"chuap", "chuap",
"clear", "clear",
"clfilt", "clfilt",
@ -1219,6 +1234,13 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"clockon", "clockon",
"cmp", "cmp",
"cmplxprod", "cmplxprod",
"cntCreate",
"cntCycles",
"cntDelete",
"cntDelete_i",
"cntRead",
"cntReset",
"cntState",
"comb", "comb",
"combinv", "combinv",
"compilecsd", "compilecsd",
@ -1238,6 +1260,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"cosseg", "cosseg",
"cossegb", "cossegb",
"cossegr", "cossegr",
"count",
"count_i",
"cps2pch", "cps2pch",
"cpsmidi", "cpsmidi",
"cpsmidib", "cpsmidib",
@ -1263,6 +1287,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ctrl21", "ctrl21",
"ctrl7", "ctrl7",
"ctrlinit", "ctrlinit",
"ctrlpreset",
"ctrlprint",
"ctrlprintpresets",
"ctrlsave",
"ctrlselect",
"cuserrnd", "cuserrnd",
"dam", "dam",
"date", "date",
@ -1408,6 +1437,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ftchnls", "ftchnls",
"ftconv", "ftconv",
"ftcps", "ftcps",
"ftexists",
"ftfree", "ftfree",
"ftgen", "ftgen",
"ftgenonce", "ftgenonce",
@ -1424,7 +1454,9 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"ftsamplebank", "ftsamplebank",
"ftsave", "ftsave",
"ftsavek", "ftsavek",
"ftset",
"ftslice", "ftslice",
"ftslicei",
"ftsr", "ftsr",
"gain", "gain",
"gainslider", "gainslider",
@ -1441,7 +1473,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"getcol", "getcol",
"getftargs", "getftargs",
"getrow", "getrow",
"getrowlin",
"getseed", "getseed",
"gogobel", "gogobel",
"grain", "grain",
@ -1689,8 +1720,12 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"la_k_upper_solve_mr", "la_k_upper_solve_mr",
"la_k_vc_set", "la_k_vc_set",
"la_k_vr_set", "la_k_vr_set",
"lag",
"lagud",
"lastcycle",
"lenarray", "lenarray",
"lfo", "lfo",
"lfsr",
"limit", "limit",
"limit1", "limit1",
"lincos", "lincos",
@ -1734,6 +1769,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"lowpass2", "lowpass2",
"lowres", "lowres",
"lowresx", "lowresx",
"lpcanal",
"lpcfilter",
"lpf18", "lpf18",
"lpform", "lpform",
"lpfreson", "lpfreson",
@ -1749,14 +1786,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"lpshold", "lpshold",
"lpsholdp", "lpsholdp",
"lpslot", "lpslot",
"lua_exec", "lufs",
"lua_iaopcall",
"lua_iaopcall_off",
"lua_ikopcall",
"lua_ikopcall_off",
"lua_iopcall",
"lua_iopcall_off",
"lua_opdef",
"mac", "mac",
"maca", "maca",
"madsr", "madsr",
@ -1779,6 +1809,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"median", "median",
"mediank", "mediank",
"metro", "metro",
"metro2",
"mfb", "mfb",
"midglobal", "midglobal",
"midiarp", "midiarp",
@ -1831,6 +1862,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"mp3sr", "mp3sr",
"mpulse", "mpulse",
"mrtmsg", "mrtmsg",
"ms2st",
"mtof", "mtof",
"mton", "mton",
"multitap", "multitap",
@ -1840,6 +1872,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"mvclpf2", "mvclpf2",
"mvclpf3", "mvclpf3",
"mvclpf4", "mvclpf4",
"mvmfilter",
"mxadsr", "mxadsr",
"nchnls_hw", "nchnls_hw",
"nestedap", "nestedap",
@ -1883,6 +1916,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"oscilx", "oscilx",
"out", "out",
"out32", "out32",
"outall",
"outc", "outc",
"outch", "outch",
"outh", "outh",
@ -1983,12 +2017,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"printk2", "printk2",
"printks", "printks",
"printks2", "printks2",
"println",
"prints", "prints",
"printsk",
"product", "product",
"pset", "pset",
"ptable",
"ptable3",
"ptablei",
"ptablew", "ptablew",
"ptrack", "ptrack",
"puts", "puts",
@ -2005,6 +2038,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvsarp", "pvsarp",
"pvsbandp", "pvsbandp",
"pvsbandr", "pvsbandr",
"pvsbandwidth",
"pvsbin", "pvsbin",
"pvsblur", "pvsblur",
"pvsbuffer", "pvsbuffer",
@ -2013,6 +2047,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvscale", "pvscale",
"pvscent", "pvscent",
"pvsceps", "pvsceps",
"pvscfs",
"pvscross", "pvscross",
"pvsdemix", "pvsdemix",
"pvsdiskin", "pvsdiskin",
@ -2032,6 +2067,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"pvsinfo", "pvsinfo",
"pvsinit", "pvsinit",
"pvslock", "pvslock",
"pvslpc",
"pvsmaska", "pvsmaska",
"pvsmix", "pvsmix",
"pvsmooth", "pvsmooth",
@ -2133,6 +2169,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"qnan", "qnan",
"r2c", "r2c",
"rand", "rand",
"randc",
"randh", "randh",
"randi", "randi",
"random", "random",
@ -2156,6 +2193,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"repluck", "repluck",
"reshapearray", "reshapearray",
"reson", "reson",
"resonbnk",
"resonk", "resonk",
"resonr", "resonr",
"resonx", "resonx",
@ -2173,6 +2211,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"rms", "rms",
"rnd", "rnd",
"rnd31", "rnd31",
"rndseed",
"round", "round",
"rspline", "rspline",
"rtclock", "rtclock",
@ -2185,14 +2224,17 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sc_phasor", "sc_phasor",
"sc_trig", "sc_trig",
"scale", "scale",
"scale2",
"scalearray", "scalearray",
"scanhammer", "scanhammer",
"scans", "scans",
"scantable", "scantable",
"scanu", "scanu",
"scanu2",
"schedkwhen", "schedkwhen",
"schedkwhennamed", "schedkwhennamed",
"schedule", "schedule",
"schedulek",
"schedwhen", "schedwhen",
"scoreline", "scoreline",
"scoreline_i", "scoreline_i",
@ -2238,6 +2280,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sinh", "sinh",
"sininv", "sininv",
"sinsyn", "sinsyn",
"skf",
"sleighbells", "sleighbells",
"slicearray", "slicearray",
"slicearray_i", "slicearray_i",
@ -2273,13 +2316,16 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"spat3di", "spat3di",
"spat3dt", "spat3dt",
"spdist", "spdist",
"spf",
"splitrig", "splitrig",
"sprintf", "sprintf",
"sprintfk", "sprintfk",
"spsend", "spsend",
"sqrt", "sqrt",
"squinewave", "squinewave",
"st2ms",
"statevar", "statevar",
"sterrain",
"stix", "stix",
"strcat", "strcat",
"strcatk", "strcatk",
@ -2303,6 +2349,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"strrindex", "strrindex",
"strrindexk", "strrindexk",
"strset", "strset",
"strstrip",
"strsub", "strsub",
"strsubk", "strsubk",
"strtod", "strtod",
@ -2317,6 +2364,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"sum", "sum",
"sumarray", "sumarray",
"svfilter", "svfilter",
"svn",
"syncgrain", "syncgrain",
"syncloop", "syncloop",
"syncphasor", "syncphasor",
@ -2357,7 +2405,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"tabmorphi", "tabmorphi",
"tabplay", "tabplay",
"tabrec", "tabrec",
"tabrowlin",
"tabsum", "tabsum",
"tabw", "tabw",
"tabw_i", "tabw_i",
@ -2389,7 +2436,11 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"trcross", "trcross",
"trfilter", "trfilter",
"trhighest", "trhighest",
"trigExpseg",
"trigLinseg",
"trigger", "trigger",
"trighold",
"trigphasor",
"trigseq", "trigseq",
"trim", "trim",
"trim_i", "trim_i",
@ -2401,6 +2452,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"trsplit", "trsplit",
"turnoff", "turnoff",
"turnoff2", "turnoff2",
"turnoff2_i",
"turnoff3",
"turnon", "turnon",
"tvconv", "tvconv",
"unirand", "unirand",
@ -2424,6 +2477,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"vbapz", "vbapz",
"vbapzmove", "vbapzmove",
"vcella", "vcella",
"vclpf",
"vco", "vco",
"vco2", "vco2",
"vco2ft", "vco2ft",
@ -2472,6 +2526,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"vpow_i", "vpow_i",
"vpowv", "vpowv",
"vpowv_i", "vpowv_i",
"vps",
"vpvoc", "vpvoc",
"vrandh", "vrandh",
"vrandi", "vrandi",
@ -2511,6 +2566,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"wrap", "wrap",
"writescratch", "writescratch",
"wterrain", "wterrain",
"wterrain2",
"xadsr", "xadsr",
"xin", "xin",
"xout", "xout",
@ -2543,24 +2599,47 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"zkwm" "zkwm"
]; ];
var deprecatedOpcodes = [ var deprecatedOpcodes = [
"OSCsendA",
"array", "array",
"beadsynt",
"beosc",
"bformdec", "bformdec",
"bformenc", "bformenc",
"changed", "buchla",
"copy2ftab", "copy2ftab",
"copy2ttab", "copy2ttab",
"getrowlin",
"hrtfer", "hrtfer",
"ktableseg", "ktableseg",
"lentab", "lentab",
"lua_exec",
"lua_iaopcall",
"lua_iaopcall_off",
"lua_ikopcall",
"lua_ikopcall_off",
"lua_iopcall",
"lua_iopcall_off",
"lua_opdef",
"maxtab", "maxtab",
"mintab", "mintab",
"mp3scal_check",
"mp3scal_load",
"mp3scal_load2",
"mp3scal_play",
"mp3scal_play2",
"pop", "pop",
"pop_f", "pop_f",
"ptable",
"ptable3",
"ptablei",
"ptableiw", "ptableiw",
"push", "push",
"push_f", "push_f",
"pvsgendy",
"scalet", "scalet",
"signalflowgraph",
"sndload", "sndload",
"socksend_k",
"soundout", "soundout",
"soundouts", "soundouts",
"specaddm", "specaddm",
@ -2573,11 +2652,14 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"specsum", "specsum",
"spectrum", "spectrum",
"stack", "stack",
"sumTableFilter",
"sumtab", "sumtab",
"systime",
"tabgen", "tabgen",
"tableiw", "tableiw",
"tabmap", "tabmap",
"tabmap_i", "tabmap_i",
"tabrowlin",
"tabslice", "tabslice",
"tb0", "tb0",
"tb0_init", "tb0_init",
@ -2612,6 +2694,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
"tb9", "tb9",
"tb9_init", "tb9_init",
"vbap16", "vbap16",
"vbap1move",
"vbap4", "vbap4",
"vbap4move", "vbap4move",
"vbap8", "vbap8",
@ -2937,6 +3020,8 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = ";"; this.lineCommentStart = ";";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/csound_orchestra";
this.snippetFileId = "ace/snippets/csound_orchestra";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -300,7 +300,7 @@ var CsoundScoreHighlightRules = function(embeddedRulePrefix) {
start.push( start.push(
{ {
token : "keyword.control.csound-score", token : "keyword.control.csound-score",
regex : /[abCdefiqstvxy]/ regex : /[aBbCdefiqstvxy]/
}, { }, {
token : "invalid.illegal.csound-score", token : "invalid.illegal.csound-score",
regex : /w/ regex : /w/
@ -448,6 +448,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = ";"; this.lineCommentStart = ";";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/csound_score";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -705,6 +705,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -308,7 +308,7 @@ var DHighlightRules = function() {
regex: '[a-zA-Z]+' regex: '[a-zA-Z]+'
}, { }, {
token: 'string', token: 'string',
regex: '".*"' regex: '"[^"]*"'
}, { }, {
token: 'comment', token: 'comment',
regex: '//.*$' regex: '//.*$'

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );
@ -489,6 +489,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/c_cpp"; this.$id = "ace/mode/c_cpp";
this.snippetFileId = "ace/snippets/c_cpp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -700,6 +701,7 @@ oop.inherits(Mode, CMode);
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/dart"; this.$id = "ace/mode/dart";
this.snippetFileId = "ace/snippets/dart";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -132,6 +132,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.$id = "ace/mode/diff"; this.$id = "ace/mode/diff";
this.snippetFileId = "ace/snippets/diff";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2578,6 +2581,7 @@ oop.inherits(Mode, HtmlMode);
(function() { (function() {
this.$id = "ace/mode/django"; this.$id = "ace/mode/django";
this.snippetFileId = "ace/snippets/django";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -435,6 +435,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/sh"; this.$id = "ace/mode/sh";
this.snippetFileId = "ace/snippets/sh";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -168,7 +168,7 @@ var JavaHighlightRules = function() {
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, { }, {
token : "keyword.operator", token : "keyword.operator",
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)" regex : "!|\\$|%|&|\\||\\^|\\*|\\/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
}, { }, {
token : "lparen", token : "lparen",
regex : "[[({]" regex : "[[({]"
@ -483,6 +483,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.$id = "ace/mode/drools"; this.$id = "ace/mode/drools";
this.snippetFileId = "ace/snippets/drools";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -152,6 +152,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.$id = "ace/mode/edifact"; this.$id = "ace/mode/edifact";
this.snippetFileId = "ace/snippets/edifact";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

File diff suppressed because it is too large Load Diff

View File

@ -996,6 +996,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "%"; this.lineCommentStart = "%";
this.blockComment = null; this.blockComment = null;
this.$id = "ace/mode/erlang"; this.$id = "ace/mode/erlang";
this.snippetFileId = "ace/snippets/erlang";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -245,6 +245,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/fsl"; this.$id = "ace/mode/fsl";
this.snippetFileId = "ace/snippets/fsl";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );
@ -489,6 +489,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/c_cpp"; this.$id = "ace/mode/c_cpp";
this.snippetFileId = "ace/snippets/c_cpp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1075,6 +1076,7 @@ oop.inherits(Mode, JavaScriptMode);
}; };
this.$id = "ace/mode/gobstones"; this.$id = "ace/mode/gobstones";
this.snippetFileId = "ace/snippets/gobstones";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -200,6 +200,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.lineCommentStart = "#"; this.lineCommentStart = "#";
this.$id = "ace/mode/graphqlschema"; this.$id = "ace/mode/graphqlschema";
this.snippetFileId = "ace/snippets/graphqlschema";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -1012,17 +1012,17 @@ var constantOtherSymbol = exports.constantOtherSymbol = {
regex : "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?" regex : "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
}; };
var qString = exports.qString = { exports.qString = {
token : "string", // single line token : "string", // single line
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']" regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}; };
var qqString = exports.qqString = { exports.qqString = {
token : "string", // single line token : "string", // single line
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
}; };
var tString = exports.tString = { exports.tString = {
token : "string", // backtick string token : "string", // backtick string
regex : "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]" regex : "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
}; };
@ -1032,9 +1032,34 @@ var constantNumericHex = exports.constantNumericHex = {
regex : "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b" regex : "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
}; };
var constantNumericBinary = exports.constantNumericBinary = {
token: "constant.numeric",
regex: /\b(0[bB][01](?:[01]|_(?=[01]))*)\b/
};
var constantNumericDecimal = exports.constantNumericDecimal = {
token: "constant.numeric",
regex: /\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/
};
var constantNumericOctal = exports.constantNumericDecimal = {
token: "constant.numeric",
regex: /\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/
};
var constantNumericRational = exports.constantNumericRational = {
token: "constant.numeric", //rational + complex
regex: /\b([\d]+(?:[./][\d]+)?ri?)\b/
};
var constantNumericComplex = exports.constantNumericComplex = {
token: "constant.numeric", //simple complex numbers
regex: /\b([\d]i)\b/
};
var constantNumericFloat = exports.constantNumericFloat = { var constantNumericFloat = exports.constantNumericFloat = {
token : "constant.numeric", // float token : "constant.numeric", // float + complex
regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b" regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"
}; };
var instanceVariable = exports.instanceVariable = { var instanceVariable = exports.instanceVariable = {
@ -1074,18 +1099,19 @@ var RubyHighlightRules = function() {
"filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|" + "filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|" +
"translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" + "translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" +
"cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" + "cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" +
"has_many|has_one|belongs_to|has_and_belongs_to_many" "has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|" +
"private_class_method|remove_method|undef_method"
); );
var keywords = ( var keywords = (
"alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" + "alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
"__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" + "__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" +
"redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield" "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend"
); );
var buildinConstants = ( var buildinConstants = (
"true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" + "true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
"RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING" "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION"
); );
var builtinVariables = ( var builtinVariables = (
@ -1101,126 +1127,191 @@ var RubyHighlightRules = function() {
"invalid.deprecated": "debugger" // TODO is this a remnant from js mode? "invalid.deprecated": "debugger" // TODO is this a remnant from js mode?
}, "identifier"); }, "identifier");
var escapedChars = "\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'\"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})";
var closeParen = {
"(": ")",
"[": "]",
"{": "}",
"<": ">",
"^": "^",
"|": "|",
"%": "%"
};
this.$rules = { this.$rules = {
"start" : [ "start": [
{ {
token : "comment", token: "comment",
regex : "#.*$" regex: "#.*$"
}, { }, {
token : "comment", // multi line comment token: "comment.multiline", // multi line comment
regex : "^=begin(?:$|\\s.*$)", regex: "^=begin(?=$|\\s.*$)",
next : "comment" next: "comment"
}, { }, {
token : "string.regexp", token: "string.regexp",
regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)" regex: /[/](?=.*\/)/,
next: "regex"
}, },
[{ [{
regex: "[{}]", onMatch: function(val, state, stack) { token: ["constant.other.symbol.ruby", "string.start"],
this.next = val == "{" ? this.nextState : ""; regex: /(:)?(")/,
if (val == "{" && stack.length) { push: [{
stack.unshift("start", state); token: "constant.language.escape",
return "paren.lparen"; regex: escapedChars
}
if (val == "}" && stack.length) {
stack.shift();
this.next = stack.shift();
if (this.next.indexOf("string") != -1)
return "paren.end";
}
return val == "{" ? "paren.lparen" : "paren.rparen";
},
nextState: "start"
}, {
token : "string.start",
regex : /"/,
push : [{
token : "constant.language.escape",
regex : /\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/
}, { }, {
token : "paren.start", token: "paren.start",
regex : /#{/, regex: /#{/,
push : "start" push: "start"
}, { }, {
token : "string.end", token: "string.end",
regex : /"/, regex: /"/,
next : "pop" next: "pop"
}, { }, {
defaultToken: "string" defaultToken: "string"
}] }]
}, { }, {
token : "string.start", token: "string.start",
regex : /`/, regex: /`/,
push : [{ push: [{
token : "constant.language.escape", token: "constant.language.escape",
regex : /\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/ regex: escapedChars
}, { }, {
token : "paren.start", token: "paren.start",
regex : /#{/, regex: /#{/,
push : "start" push: "start"
}, { }, {
token : "string.end", token: "string.end",
regex : /`/, regex: /`/,
next : "pop" next: "pop"
}, { }, {
defaultToken: "string" defaultToken: "string"
}] }]
}, { }, {
token : "string.start", token: ["constant.other.symbol.ruby", "string.start"],
regex : /'/, regex: /(:)?(')/,
push : [{ push: [{
token : "constant.language.escape", token: "constant.language.escape",
regex : /\\['\\]/ regex: /\\['\\]/
}, { }, {
token : "string.end", token: "string.end",
regex : /'/, regex: /'/,
next : "pop" next: "pop"
}, { }, {
defaultToken: "string" defaultToken: "string"
}] }]
}, {
token: "string.start",//doesn't see any differences between strings and array of strings in highlighting
regex: /%[qwx]([(\[<{^|%])/, onMatch: function (val, state, stack) {
if (stack.length)
stack = [];
var paren = val[val.length - 1];
stack.unshift(paren, state);
this.next = "qStateWithoutInterpolation";
return this.token;
}
}, {
token: "string.start", //doesn't see any differences between strings and array of strings in highlighting
regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
if (stack.length)
stack = [];
var paren = val[val.length - 1];
stack.unshift(paren, state);
this.next = "qStateWithInterpolation";
return this.token;
}
}, {
token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
if (stack.length)
stack = [];
var paren = val[val.length - 1];
stack.unshift(paren, state);
this.next = "sStateWithoutInterpolation";
return this.token;
}
}, {
token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
if (stack.length)
stack = [];
var paren = val[val.length - 1];
stack.unshift(paren, state);
this.next = "sStateWithInterpolation";
return this.token;
}
}, {
token: "string.regexp",
regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
if (stack.length)
stack = [];
var paren = val[val.length - 1];
stack.unshift(paren, state);
this.next = "rState";
return this.token;
}
}], }],
{ {
token : "text", // namespaces aren't symbols token: "punctuation", // namespaces aren't symbols
regex : "::" regex: "::"
},
instanceVariable,
{
token: "variable.global", // global variable
regex: "[$][a-zA-Z_\\d]+"
}, { }, {
token : "variable.instance", // instance variable token: "support.class", // class name
regex : "@{1,2}[a-zA-Z_\\d]+" regex: "[A-Z][a-zA-Z_\\d]*"
}, { }, {
token : "support.class", // class name token: ["punctuation.operator", "support.function"],
regex : "[A-Z][a-zA-Z_\\d]+" regex: /(\.)([a-zA-Z_\d]+)(?=\()/
}, {
token: ["punctuation.operator", "identifier"],
regex: /(\.)([a-zA-Z_][a-zA-Z_\d]*)/
}, {
token: "string.character",
regex: "\\B\\?(?:" + escapedChars + "|\\S)"
}, {
token: "punctuation.operator",
regex: /\?(?=.+:)/
}, },
constantNumericRational,
constantNumericComplex,
constantOtherSymbol, constantOtherSymbol,
constantNumericHex, constantNumericHex,
constantNumericFloat, constantNumericFloat,
constantNumericBinary,
constantNumericDecimal,
constantNumericOctal,
{ {
token : "constant.language.boolean", token: "constant.language.boolean",
regex : "(?:true|false)\\b" regex: "(?:true|false)\\b"
}, { }, {
token : keywordMapper, token: keywordMapper,
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, { }, {
token : "punctuation.separator.key-value", token: "punctuation.separator.key-value",
regex : "=>" regex: "=>"
}, { }, {
stateName: "heredoc", stateName: "heredoc",
onMatch : function(value, currentState, stack) { onMatch: function (value, currentState, stack) {
var next = value[2] == '-' ? "indentedHeredoc" : "heredoc"; var next = (value[2] == '-' || value[2] == '~') ? "indentedHeredoc" : "heredoc";
var tokens = value.split(this.splitRegex); var tokens = value.split(this.splitRegex);
stack.push(next, tokens[3]); stack.push(next, tokens[3]);
return [ return [
{type:"constant", value: tokens[1]}, {type: "constant", value: tokens[1]},
{type:"string", value: tokens[2]}, {type: "string", value: tokens[2]},
{type:"support.class", value: tokens[3]}, {type: "support.class", value: tokens[3]},
{type:"string", value: tokens[4]} {type: "string", value: tokens[4]}
]; ];
}, },
regex : "(<<-?)(['\"`]?)([\\w]+)(['\"`]?)", regex: "(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",
rules: { rules: {
heredoc: [{ heredoc: [{
onMatch: function(value, currentState, stack) { onMatch: function(value, currentState, stack) {
if (value === stack[1]) { if (value === stack[1]) {
stack.shift(); stack.shift();
stack.shift(); stack.shift();
@ -1237,7 +1328,7 @@ var RubyHighlightRules = function() {
token: "string", token: "string",
regex: "^ +" regex: "^ +"
}, { }, {
onMatch: function(value, currentState, stack) { onMatch: function(value, currentState, stack) {
if (value === stack[1]) { if (value === stack[1]) {
stack.shift(); stack.shift();
stack.shift(); stack.shift();
@ -1252,38 +1343,261 @@ var RubyHighlightRules = function() {
}] }]
} }
}, { }, {
regex : "$", regex: "$",
token : "empty", token: "empty",
next : function(currentState, stack) { next: function(currentState, stack) {
if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc") if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
return stack[0]; return stack[0];
return currentState; return currentState;
} }
}, {
token: "keyword.operator",
regex: "!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"
}, { }, {
token : "string.character", token: "paren.lparen",
regex : "\\B\\?." regex: "[[({]"
}, { }, {
token : "keyword.operator", token: "paren.rparen",
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)" regex: "[\\])}]",
onMatch: function(value, currentState, stack) {
this.next = '';
if (value == "}" && stack.length > 1 && stack[1] != "start") {
stack.shift();
this.next = stack.shift();
}
return this.token;
}
}, { }, {
token : "paren.lparen", token: "text",
regex : "[[({]" regex: "\\s+"
}, { }, {
token : "paren.rparen", token: "punctuation.operator",
regex : "[\\])}]" regex: /[?:,;.]/
}, {
token : "text",
regex : "\\s+"
} }
], ],
"comment" : [ "comment": [
{ {
token : "comment", // closing comment token: "comment.multiline", // closing comment
regex : "^=end(?:$|\\s.*$)", regex: "^=end(?=$|\\s.*$)",
next : "start" next: "start"
}, { }, {
token : "comment", // comment spanning whole line token: "comment", // comment spanning whole line
regex : ".+" regex: ".+"
}
],
"qStateWithInterpolation": [{
token: "string.start",// excluded nested |^% due to difficulty in realization
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
if (stack.length && val === stack[0]) {
stack.unshift(val, state);
return this.token;
}
return "string";
}
}, {
token: "constant.language.escape",
regex: escapedChars
}, {
token: "constant.language.escape",
regex: /\\./
}, {
token: "paren.start",
regex: /#{/,
push: "start"
}, {
token: "string.end",
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
if (stack.length && val === closeParen[stack[0]]) {
stack.shift();
this.next = stack.shift();
return this.token;
}
this.next = '';
return "string";
}
}, {
defaultToken: "string"
}],
"qStateWithoutInterpolation": [{
token: "string.start",// excluded nested |^% due to difficulty in realization
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
if (stack.length && val === stack[0]) {
stack.unshift(val, state);
return this.token;
}
return "string";
}
}, {
token: "constant.language.escape",
regex: /\\['\\]/
}, {
token: "constant.language.escape",
regex: /\\./
}, {
token: "string.end",
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
if (stack.length && val === closeParen[stack[0]]) {
stack.shift();
this.next = stack.shift();
return this.token;
}
this.next = '';
return "string";
}
}, {
defaultToken: "string"
}],
"sStateWithoutInterpolation": [{
token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
if (stack.length && val === stack[0]) {
stack.unshift(val, state);
return this.token;
}
return "constant.other.symbol.ruby";
}
}, {
token: "constant.other.symbol.ruby",
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
if (stack.length && val === closeParen[stack[0]]) {
stack.shift();
this.next = stack.shift();
return this.token;
}
this.next = '';
return "constant.other.symbol.ruby";
}
}, {
defaultToken: "constant.other.symbol.ruby"
}],
"sStateWithInterpolation": [{
token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
if (stack.length && val === stack[0]) {
stack.unshift(val, state);
return this.token;
}
return "constant.other.symbol.ruby";
}
}, {
token: "constant.language.escape",
regex: escapedChars
}, {
token: "constant.language.escape",
regex: /\\./
}, {
token: "paren.start",
regex: /#{/,
push: "start"
}, {
token: "constant.other.symbol.ruby",
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
if (stack.length && val === closeParen[stack[0]]) {
stack.shift();
this.next = stack.shift();
return this.token;
}
this.next = '';
return "constant.other.symbol.ruby";
}
}, {
defaultToken: "constant.other.symbol.ruby"
}],
"rState": [{
token: "string.regexp",// excluded nested |^% due to difficulty in realization
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
if (stack.length && val === stack[0]) {
stack.unshift(val, state);
return this.token;
}
return "constant.language.escape";
}
}, {
token: "paren.start",
regex: /#{/,
push: "start"
}, {
token: "string.regexp",
regex: /\//
}, {
token: "string.regexp",
regex: /[)\]>}^|%][imxouesn]*/, onMatch: function (val, state, stack) {
if (stack.length && val[0] === closeParen[stack[0]]) {
stack.shift();
this.next = stack.shift();
return this.token;
}
this.next = '';
return "constant.language.escape";
}
},
{include: "regex"},
{
defaultToken: "string.regexp"
}],
"regex": [
{// character classes
token: "regexp.keyword",
regex: /\\[wWdDhHsS]/
}, {
token: "constant.language.escape",
regex: /\\[AGbBzZ]/
}, {
token: "constant.language.escape",
regex: /\\g<[a-zA-Z0-9]*>/
}, {
token: ["constant.language.escape", "regexp.keyword", "constant.language.escape"],
regex: /(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/
}, {
token: ["constant.language.escape", "invalid", "constant.language.escape"],
regex: /(\\p{\^?)([^/]*)(})/
}, {// escapes
token: "regexp.keyword.operator",
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
}, {// flag
token: "string.regexp",
regex: /[/][imxouesn]*/,
next: "start"
}, {// invalid operators
token: "invalid",
regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
}, {// operators
token: "constant.language.escape",
regex: /\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
}, {
token: "constant.language.delimiter",
regex: /\|/
}, {
token: "regexp.keyword",
regex: /\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/
}, {
token: "constant.language.escape",
regex: /\[\^?/,
push: "regex_character_class"
}, {
defaultToken: "string.regexp"
}
],
"regex_character_class": [
{
token: "regexp.keyword",
regex: /\\[wWdDhHsS]/
}, {
token: "regexp.charclass.keyword.operator",
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
}, {
token: "constant.language.escape",
regex: /&?&?\[\^?/,
push: "regex_character_class"
}, {
token: "constant.language.escape",
regex: "]",
next: "pop"
}, {
token: "constant.language.escape",
regex: "-"
}, {
defaultToken: "string.regexp.characterclass"
} }
] ]
}; };
@ -1545,6 +1859,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.$id = "ace/mode/haml"; this.$id = "ace/mode/haml";
this.snippetFileId = "ace/snippets/haml";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -366,6 +366,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "--"; this.lineCommentStart = "--";
this.blockComment = null; this.blockComment = null;
this.$id = "ace/mode/haskell"; this.$id = "ace/mode/haskell";
this.snippetFileId = "ace/snippets/haskell";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -1704,6 +1704,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2041,6 +2042,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2933,6 +2935,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

File diff suppressed because it is too large Load Diff

View File

@ -234,6 +234,7 @@ oop.inherits(Mode, TextMode);
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"}; this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/io"; this.$id = "ace/mode/io";
this.snippetFileId = "ace/snippets/io";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -909,7 +910,7 @@ var JavaHighlightRules = function() {
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, { }, {
token : "keyword.operator", token : "keyword.operator",
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)" regex : "!|\\$|%|&|\\||\\^|\\*|\\/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
}, { }, {
token : "lparen", token : "lparen",
regex : "[[({]" regex : "[[({]"
@ -1023,6 +1024,7 @@ oop.inherits(Mode, JavaScriptMode);
}; };
this.$id = "ace/mode/java"; this.$id = "ace/mode/java";
this.snippetFileId = "ace/snippets/java";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -275,6 +275,9 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"};
this.getNextLineIndent = function(state, line, tab) { this.getNextLineIndent = function(state, line, tab) {
var indent = this.$getIndent(line); var indent = this.$getIndent(line);

View File

@ -2618,6 +2618,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/jsoniq"; this.$id = "ace/mode/jsoniq";
this.snippetFileId = "ace/snippets/jsoniq";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -1122,7 +1122,7 @@ var JavaHighlightRules = function() {
regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, { }, {
token : "keyword.operator", token : "keyword.operator",
regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)" regex : "!|\\$|%|&|\\||\\^|\\*|\\/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
}, { }, {
token : "lparen", token : "lparen",
regex : "[[({]" regex : "[[({]"
@ -1419,6 +1419,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.$id = "ace/mode/jsp"; this.$id = "ace/mode/jsp";
this.snippetFileId = "ace/snippets/jsp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -781,6 +781,8 @@ var Mode = function() {
oop.inherits(Mode, TextMode); oop.inherits(Mode, TextMode);
(function() { (function() {
this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/kotlin"; this.$id = "ace/mode/kotlin";
}).call(Mode.prototype); }).call(Mode.prototype);

File diff suppressed because it is too large Load Diff

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2725,6 +2728,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/liquid"; this.$id = "ace/mode/liquid";
this.snippetFileId = "ace/snippets/liquid";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -329,6 +329,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/lsl"; this.$id = "ace/mode/lsl";
this.snippetFileId = "ace/snippets/lsl";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -438,6 +438,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/lua"; this.$id = "ace/mode/lua";
this.snippetFileId = "ace/snippets/lua";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2938,6 +2941,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/lua"; this.$id = "ace/mode/lua";
this.snippetFileId = "ace/snippets/lua";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -398,6 +398,7 @@ oop.inherits(Mode, TextMode);
this.$indentWithTabs = true; this.$indentWithTabs = true;
this.$id = "ace/mode/makefile"; this.$id = "ace/mode/makefile";
this.snippetFileId = "ace/snippets/makefile";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1986,6 +1987,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2539,6 +2541,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -3124,6 +3127,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/sh"; this.$id = "ace/mode/sh";
this.snippetFileId = "ace/snippets/sh";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -3176,6 +3180,7 @@ oop.inherits(Mode, TextMode);
} }
}; };
this.$id = "ace/mode/markdown"; this.$id = "ace/mode/markdown";
this.snippetFileId = "ace/snippets/markdown";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -278,6 +278,7 @@ oop.inherits(Mode, TextMode);
(function() { (function() {
this.lineCommentStart = "//"; this.lineCommentStart = "//";
this.$id = "ace/mode/maze"; this.$id = "ace/mode/maze";
this.snippetFileId = "ace/snippets/maze";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -0,0 +1,592 @@
define("ace/mode/mediawiki_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var MediaWikiHighlightRules = function() {
this.$rules = {
start: [{
include: "#switch"
}, {
include: "#redirect"
}, {
include: "#variable"
}, {
include: "#comment"
}, {
include: "#entity"
}, {
include: "#emphasis"
}, {
include: "#tag"
}, {
include: "#table"
}, {
include: "#hr"
}, {
include: "#heading"
}, {
include: "#link"
}, {
include: "#list"
}, {
include: "#template"
}],
"#hr": [{
token: "markup.bold",
regex: /^[-]{4,}/
}],
"#switch": [{
token: "constant.language",
regex: /(__NOTOC__|__FORCETOC__|__TOC__|__NOEDITSECTION__|__NEWSECTIONLINK__|__NONEWSECTIONLINK__|__NOWYSIWYG__|__NOGALLERY__|__HIDDENCAT__|__EXPECTUNUSEDCATEGORY__|__NOCONTENTCONVERT__|__NOCC__|__NOTITLECONVERT__|__NOTC__|__START__|__END__|__INDEX__|__NOINDEX__|__STATICREDIRECT__|__NOGLOBAL__|__DISAMBIG__)/
}],
"#redirect": [{
token: [
"keyword.control.redirect",
"meta.keyword.control"
],
regex: /(^#REDIRECT|^#redirect|^#Redirect)(\s+)/
}],
"#variable": [{
token: "storage.type.variable",
regex: /{{{/,
push: [{
token: "storage.type.variable",
regex: /}}}/,
next: "pop"
}, {
token: [
"text",
"variable.other",
"text",
"keyword.operator"
],
regex: /(\s*)(\w+)(\s*)((?:\|)?)/
}, {
defaultToken: "storage.type.variable"
}]
}],
"#entity": [{
token: "constant.character.entity",
regex: /&\w+;/
}],
"#list": [{
token: "markup.bold",
regex: /^[#*;:]+/,
push: [{
token: "markup.list",
regex: /$/,
next: "pop"
}, {
include: "$self"
}, {
defaultToken: "markup.list"
}]
}],
"#template": [{
token: [
"storage.type.function",
"meta.template",
"entity.name.function",
"meta.template"
],
regex: /({{)(\s*)([#\w: ]+)(\s*)/,
push: [{
token: "storage.type.function",
regex: /}}/,
next: "pop"
}, {
token: [
"storage",
"meta.structure.dictionary",
"support.type.property-name",
"meta.structure.dictionary",
"punctuation.separator.dictionary.key-value",
"meta.structure.dictionary",
"meta.structure.dictionary.value"
],
regex: /(\|)(\s*)([a-zA-Z-]*)(\s*)(=)(\s*)([^|}]*)/,
push: [{
token: "meta.structure.dictionary",
regex: /(?=}}|[|])/,
next: "pop"
}, {
defaultToken: "meta.structure.dictionary"
}]
}, {
token: ["storage", "meta.template.value"],
regex: /(\|)(.*?)/,
push: [{
token: [],
regex: /(?=}}|[|])/,
next: "pop"
}, {
include: "$self"
}, {
defaultToken: "meta.template.value"
}]
}, {
defaultToken: "meta.template"
}]
}],
"#link": [{
token: [
"punctuation.definition.tag.begin",
"meta.tag.link.internal",
"entity.name.tag",
"meta.tag.link.internal",
"string.other.link.title",
"meta.tag.link.internal",
"punctuation.definition.tag"
],
regex: /(\[\[)(\s*)((?:Category|Wikipedia)?)(:?)([^\]\]\|]+)(\s*)((?:\|)*)/,
push: [{
token: "punctuation.definition.tag.end",
regex: /\]\]/,
next: "pop"
}, {
include: "$self"
}, {
defaultToken: "meta.tag.link.internal"
}]
}, {
token: [
"punctuation.definition.tag.begin",
"meta.tag.link.external",
"meta.tag.link.external",
"string.unquoted",
"punctuation.definition.tag.end"
],
regex: /(\[)(.*?)([\s]+)(.*?)(\])/
}],
"#comment": [{
token: "punctuation.definition.comment.html",
regex: /<!--/,
push: [{
token: "punctuation.definition.comment.html",
regex: /-->/,
next: "pop"
}, {
defaultToken: "comment.block.html"
}]
}],
"#emphasis": [{
token: [
"punctuation.definition.tag.begin",
"markup.italic.bold",
"punctuation.definition.tag.end"
],
regex: /(''''')(?!')(.*?)('''''|$)/
}, {
token: [
"punctuation.definition.tag.begin",
"markup.bold",
"punctuation.definition.tag.end"
],
regex: /(''')(?!')(.*?)('''|$)/
}, {
token: [
"punctuation.definition.tag.begin",
"markup.italic",
"punctuation.definition.tag.end"
],
regex: /('')(?!')(.*?)(''|$)/
}],
"#heading": [{
token: [
"punctuation.definition.heading",
"entity.name.section",
"punctuation.definition.heading"
],
regex: /(={1,6})(.+?)(\1)(?!=)/
}],
"#tag": [{
token: [
"punctuation.definition.tag.begin",
"entity.name.tag",
"meta.tag.block.ref",
"punctuation.definition.tag.end"
],
regex: /(<)(ref)((?:\s+.*?)?)(>)/,
caseInsensitive: true,
push: [{
token: [
"punctuation.definition.tag.begin",
"entity.name.tag",
"meta.tag.block.ref",
"punctuation.definition.tag.end"
],
regex: /(<\/)(ref)(\s*)(>)/,
caseInsensitive: true,
next: "pop"
}, {
include: "$self"
}, {
defaultToken: "meta.tag.block.ref"
}]
},
{
token: [
"punctuation.definition.tag.begin",
"entity.name.tag",
"meta.tag.block.nowiki",
"punctuation.definition.tag.end"
],
regex: /(<)(nowiki)((?:\s+.*?)?)(>)/,
caseInsensitive: true,
push: [{
token: [
"punctuation.definition.tag.begin",
"entity.name.tag",
"meta.tag.block.nowiki",
"punctuation.definition.tag.end"
],
regex: /(<\/)(nowiki)(\s*)(>)/,
caseInsensitive: true,
next: "pop"
}, {
defaultToken: "meta.tag.block.nowiki"
}]
}, {
token: [
"punctuation.definition.tag.begin",
"entity.name.tag"
],
regex: /(<\/?)(noinclude|includeonly|onlyinclude)(?=\W)/,
caseInsensitive: true,
push: [{
token: [
"invalid.illegal",
"punctuation.definition.tag.end"
],
regex: /((?:\/)?)(>)/,
next: "pop"
}, {
include: "#attribute"
}, {
defaultToken: "meta.tag.block.any"
}]
}, {
token: [
"punctuation.definition.tag.begin",
"entity.name.tag"
],
regex: /(<)(br|wbr|hr|meta|link)(?=\W)/,
caseInsensitive: true,
push: [{
token: "punctuation.definition.tag.end",
regex: /\/?>/,
next: "pop"
}, {
include: "#attribute"
}, {
defaultToken: "meta.tag.other"
}]
}, {
token: [
"punctuation.definition.tag.begin",
"entity.name.tag"
],
regex: /(<\/?)(div|center|span|h1|h2|h3|h4|h5|h6|bdo|em|strong|cite|dfn|code|samp|kbd|var|abbr|blockquote|q|sub|sup|p|pre|ins|del|ul|ol|li|dl|dd|dt|table|caption|thead|tfoot|tbody|colgroup|col|tr|td|th|a|img|video|source|track|tt|b|i|big|small|strike|s|u|font|ruby|rb|rp|rt|rtc|math|figure|figcaption|bdi|data|time|mark|html)(?=\W)/,
caseInsensitive: true,
push: [{
token: [
"invalid.illegal",
"punctuation.definition.tag.end"
],
regex: /((?:\/)?)(>)/,
next: "pop"
}, {
include: "#attribute"
}, {
defaultToken: "meta.tag.block"
}]
}, {
token: [
"punctuation.definition.tag.begin",
"invalid.illegal"
],
regex: /(<\/)(br|wbr|hr|meta|link)(?=\W)/,
caseInsensitive: true,
push: [{
token: "punctuation.definition.tag.end",
regex: /\/?>/,
next: "pop"
}, {
include: "#attribute"
}, {
defaultToken: "meta.tag.other"
}]
}],
"#caption": [{
token: [
"meta.tag.block.table-caption",
"punctuation.definition.tag.begin"
],
regex: /^(\s*)(\|\+)/,
push: [{
token: "meta.tag.block.table-caption",
regex: /$/,
next: "pop"
}, {
defaultToken: "meta.tag.block.table-caption"
}]
}],
"#tr": [{
token: [
"meta.tag.block.tr",
"punctuation.definition.tag.begin",
"meta.tag.block.tr",
"invalid.illegal"
],
regex: /^(\s*)(\|\-)([\s]*)(.*)/
}],
"#th": [{
token: [
"meta.tag.block.th.heading",
"punctuation.definition.tag.begin",
"meta.tag.block.th.heading",
"punctuation.definition.tag",
"markup.bold"
],
regex: /^(\s*)(!)(?:(.*?)(\|))?(.*?)(?=!!|$)/,
push: [{
token: "meta.tag.block.th.heading",
regex: /$/,
next: "pop"
}, {
token: [
"punctuation.definition.tag.begin",
"meta.tag.block.th.inline",
"punctuation.definition.tag",
"markup.bold"
],
regex: /(!!)(?:(.*?)(\|))?(.*?)(?=!!|$)/
}, {
include: "$self"
}, {
defaultToken: "meta.tag.block.th.heading"
}]
}],
"#td": [{
token: [
"meta.tag.block.td",
"punctuation.definition.tag.begin"
],
regex: /^(\s*)(\|)/,
push: [{
token: "meta.tag.block.td",
regex: /$/,
next: "pop"
}, {
include: "$self"
}, {
defaultToken: "meta.tag.block.td"
}]
}],
"#table": [{
patterns: [{
name: "meta.tag.block.table",
begin: "^\\s*({\\|)(.*?)$",
end: "^\\s*\\|}",
beginCaptures: {
1: {
name: "punctuation.definition.tag.begin"
},
2: {
patterns: [{
include: "#attribute"
}]
},
3: {
name: "invalid.illegal"
}
},
endCaptures: {
0: {
name: "punctuation.definition.tag.end"
}
},
patterns: [{
include: "#comment"
}, {
include: "#template"
}, {
include: "#caption"
}, {
include: "#tr"
}, {
include: "#th"
}, {
include: "#td"
}]
}],
repository: {
caption: {
name: "meta.tag.block.table-caption",
begin: "^\\s*(\\|\\+)",
end: "$",
beginCaptures: {
1: {
name: "punctuation.definition.tag.begin"
}
}
},
tr: {
name: "meta.tag.block.tr",
match: "^\\s*(\\|\\-)[\\s]*(.*)",
captures: {
1: {
name: "punctuation.definition.tag.begin"
},
2: {
name: "invalid.illegal"
}
}
},
th: {
name: "meta.tag.block.th.heading",
begin: "^\\s*(!)((.*?)(\\|))?(.*?)(?=(!!)|$)",
end: "$",
beginCaptures: {
1: {
name: "punctuation.definition.tag.begin"
},
3: {
patterns: [{
include: "#attribute"
}]
},
4: {
name: "punctuation.definition.tag"
},
5: {
name: "markup.bold"
}
},
patterns: [{
name: "meta.tag.block.th.inline",
match: "(!!)((.*?)(\\|))?(.*?)(?=(!!)|$)",
captures: {
1: {
name: "punctuation.definition.tag.begin"
},
3: {
patterns: [{
include: "#attribute"
}]
},
4: {
name: "punctuation.definition.tag"
},
5: {
name: "markup.bold"
}
}
}, {
include: "$self"
}]
},
td: {
name: "meta.tag.block.td",
begin: "^\\s*(\\|)",
end: "$",
beginCaptures: {
1: {
name: "punctuation.definition.tag.begin"
},
2: {
patterns: [{
include: "#attribute"
}]
},
3: {
name: "punctuation.definition.tag"
}
},
patterns: [{
include: "$self"
}]
}
}
}],
"#attribute": [{
include: "#string"
}, {
token: "entity.other.attribute-name",
regex: /\w+/
}],
"#string": [{
token: "string.quoted.double",
regex: /\"/,
push: [{
token: "string.quoted.double",
regex: /\"/,
next: "pop"
}, {
defaultToken: "string.quoted.double"
}]
}, {
token: "string.quoted.single",
regex: /\'/,
push: [{
token: "string.quoted.single",
regex: /\'/,
next: "pop"
}, {
defaultToken: "string.quoted.single"
}]
}],
"#url": [{
token: "markup.underline.link",
regex: /(?:http(?:s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:\/?#\[\]@!\$&'\(\)\*\+,;=.]+/
}, {
token: "invalid.illegal",
regex: /.*/
}]
};
this.normalizeRules();
};
MediaWikiHighlightRules.metaData = {
name: "MediaWiki",
scopeName: "text.html.mediawiki",
fileTypes: ["mediawiki", "wiki"]
};
oop.inherits(MediaWikiHighlightRules, TextHighlightRules);
exports.MediaWikiHighlightRules = MediaWikiHighlightRules;
});
define("ace/mode/mediawiki",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mediawiki_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var MediaWikiHighlightRules = require("./mediawiki_highlight_rules").MediaWikiHighlightRules;
var Mode = function() {
this.HighlightRules = MediaWikiHighlightRules;
};
oop.inherits(Mode, TextMode);
(function() {
this.type = "text";
this.blockComment = {start: "<!--", end: "-->"};
this.$id = "ace/mode/mediawiki";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/mediawiki"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -0,0 +1,264 @@
define("ace/mode/mips_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var MIPSHighlightRules = function() {
var escapeRe = /\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source;
this.$rules = {
start: [{
token: "storage.modifier.mips",
regex: /\.\b(?:align|ascii|asciiz|byte|double|extern|float|globl|space|word)\b/,
comment: "Assembler directives for data storage"
}, {
token: "entity.name.section.mips",
regex: /\.\b(?:data|text|kdata|ktext|)\b/,
comment: "Segements: .data .text"
}, {
token: "variable.parameter.mips",
regex: /\$(?:(?:3[01]|[12]?[0-9]|[0-9])|zero|at|v[01]|a[0-3]|s[0-7]|t[0-9]|k[01]|gp|sp|fp|ra)/,
comment: "Registers by id $1, $2, ..."
}, {
token: "variable.parameter.mips",
regex: /\$f(?:[0-9]|[1-2][0-9]|3[0-1])/,
comment: "Floating point registers"
}, {
token: "support.function.source.mips",
regex: /\b(?:(?:add|sub|div|l|mov|mult|neg|s|c\.eq|c\.le|c\.lt)\.[ds]|cvt\.s\.[dw]|cvt\.d\.[sw]|cvt\.w\.[ds]|bc1[tf])\b/,
comment: "The MIPS floating-point instruction set"
}, {
token: "support.function.source.mips",
regex: /\b(?:add|addu|addi|addiu|sub|subu|and|andi|or|not|ori|nor|xor|xori|slt|sltu|slti|sltiu|sll|sllv|rol|srl|sra|srlv|ror|j|jr|jal|beq|bne|lw|sw|lb|sb|lui|move|mfhi|mflo|mthi|mtlo)\b/,
comment: "Just the hardcoded instructions provided by the MIPS assembly language"
}, {
token: "support.function.other.mips",
regex: /\b(?:abs|b|beqz|bge|bgt|bgtu|ble|bleu|blt|bltu|bnez|div|divu|la|li|move|mul|neg|not|rem|remu|seq|sge|sgt|sle|sne)\b/,
comment: "Pseudo instructions"
}, {
token: "entity.name.function.mips",
regex: /\bsyscall\b/,
comment: "Other"
}, {
token : "string", // character
regex : "(?:'\")(?:" + escapeRe + "|.)?(?:'\")"
}, {
token : "string.start",
regex : '\'',
stateName: "qstring",
next: [
{ token: "string", regex: /\\\s*$/, next: "qqstring" },
{ token: "constant.language.escape", regex: escapeRe },
{ token: "string.end", regex: '\'|$', next: "start" },
{ defaultToken: "string"}
]
}, {
token : "string.start",
regex : '"',
stateName: "qqstring",
next: [
{ token: "string", regex: /\\\s*$/, next: "qqstring" },
{ token: "constant.language.escape", regex: escapeRe },
{ token: "string.end", regex: '"|$', next: "start" },
{ defaultToken: "string"}
]
}, {
token: "constant.numeric.mips",
regex: /\b(?:\d+|0(?:x|X)[a-fA-F0-9]+)\b/,
comment: "Numbers like +12, -3, 55, 0x3F"
}, {
token: "entity.name.tag.mips",
regex: /\b[\w]+\b:/,
comment: "Labels at line start: begin_repeat: add ..."
}, {
token: "comment.assembly",
regex: /#.*$/,
comment: "Single line comments"
}]
};
this.normalizeRules();
};
MIPSHighlightRules.metaData = {
fileTypes: ["s", "asm"],
name: "MIPS",
scopeName: "source.mips"
};
oop.inherits(MIPSHighlightRules, TextHighlightRules);
exports.MIPSHighlightRules = MIPSHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/mips",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mips_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var MIPSHighlightRules = require("./mips_highlight_rules").MIPSHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = MIPSHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function() {
this.lineCommentStart = ["#"];
this.$id = "ace/mode/mips";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/mips"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );
@ -489,6 +489,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/c_cpp"; this.$id = "ace/mode/c_cpp";
this.snippetFileId = "ace/snippets/c_cpp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -13,7 +13,7 @@ var NSISHighlightRules = function() {
caseInsensitive: true caseInsensitive: true
}, { }, {
token: "keyword.command.nsis", token: "keyword.command.nsis",
regex: /^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadAndSetImage|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestLongPathAware|ManifestMaxVersionTested|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEAddResource|PEDllCharacteristics|PERemoveResource|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/, regex: /^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetKnownFolderPath|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfRtlLanguage|IfShellVarContextAll|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadAndSetImage|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestLongPathAware|ManifestMaxVersionTested|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEAddResource|PEDllCharacteristics|PERemoveResource|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/,
caseInsensitive: true caseInsensitive: true
}, { }, {
token: "keyword.control.nsis", token: "keyword.control.nsis",

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );

View File

@ -367,6 +367,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/perl"; this.$id = "ace/mode/perl";
this.snippetFileId = "ace/snippets/perl";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -526,10 +526,10 @@ var PythonHighlightRules = function() {
regex: "\\s+" regex: "\\s+"
}, { }, {
token: "string", token: "string",
regex: "'(.)*'" regex: "'[^']*'"
}, { }, {
token: "string", token: "string",
regex: '"(.)*"' regex: '"[^"]*"'
}, { }, {
token: "function.support", token: "function.support",
regex: "(!s|!r|!a)" regex: "(!s|!r|!a)"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,489 @@
define("ace/mode/prisma_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var PrismaHighlightRules = function() {
this.$rules = {
start: [{
include: "#triple_comment"
}, {
include: "#double_comment"
}, {
include: "#model_block_definition"
}, {
include: "#config_block_definition"
}, {
include: "#enum_block_definition"
}, {
include: "#type_definition"
}],
"#model_block_definition": [{
token: [
"source.prisma.embedded.source",
"storage.type.model.prisma",
"source.prisma.embedded.source",
"entity.name.type.model.prisma",
"source.prisma.embedded.source",
"punctuation.definition.tag.prisma"
],
regex: /^(\s*)(model|type)(\s+)([A-Za-z][\w]*)(\s+)({)/,
push: [{
token: "punctuation.definition.tag.prisma",
regex: /\s*\}/,
next: "pop"
}, {
include: "#triple_comment"
}, {
include: "#double_comment"
}, {
include: "#field_definition"
}, {
defaultToken: "source.prisma.embedded.source"
}]
}],
"#enum_block_definition": [{
token: [
"source.prisma.embedded.source",
"storage.type.enum.prisma",
"source.prisma.embedded.source",
"entity.name.type.enum.prisma",
"source.prisma.embedded.source",
"punctuation.definition.tag.prisma"
],
regex: /^(\s*)(enum)(\s+)([A-Za-z][\w]*)(\s+)({)/,
push: [{
token: "punctuation.definition.tag.prisma",
regex: /\s*\}/,
next: "pop"
}, {
include: "#triple_comment"
}, {
include: "#double_comment"
}, {
include: "#enum_value_definition"
}, {
defaultToken: "source.prisma.embedded.source"
}]
}],
"#config_block_definition": [{
token: [
"source.prisma.embedded.source",
"storage.type.config.prisma",
"source.prisma.embedded.source",
"entity.name.type.config.prisma",
"source.prisma.embedded.source",
"punctuation.definition.tag.prisma"
],
regex: /^(\s*)(generator|datasource)(\s+)([A-Za-z][\w]*)(\s+)({)/,
push: [{
token: "source.prisma.embedded.source",
regex: /\s*\}/,
next: "pop"
}, {
include: "#triple_comment"
}, {
include: "#double_comment"
}, {
include: "#assignment"
}, {
defaultToken: "source.prisma.embedded.source"
}]
}],
"#assignment": [{
token: [
"text",
"variable.other.assignment.prisma",
"text",
"keyword.operator.terraform",
"text"
],
regex: /^(\s*)(\w+)(\s*)(=)(\s*)/,
push: [{
token: "text",
regex: /$/,
next: "pop"
}, {
include: "#value"
}, {
include: "#double_comment_inline"
}]
}],
"#field_definition": [{
token: [
"text",
"variable.other.assignment.prisma",
"invalid.illegal.colon.prisma",
"text",
"support.type.primitive.prisma",
"keyword.operator.list_type.prisma",
"keyword.operator.optional_type.prisma",
"invalid.illegal.required_type.prisma"
],
regex: /^(\s*)(\w+)((?:\s*:)?)(\s+)(\w+)((?:\[\])?)((?:\?)?)((?:\!)?)/
}, {
include: "#attribute_with_arguments"
}, {
include: "#attribute"
}],
"#type_definition": [{
token: [
"text",
"storage.type.type.prisma",
"text",
"entity.name.type.type.prisma",
"text",
"support.type.primitive.prisma"
],
regex: /^(\s*)(type)(\s+)(\w+)(\s*=\s*)(\w+)/
}, {
include: "#attribute_with_arguments"
}, {
include: "#attribute"
}],
"#enum_value_definition": [{
token: [
"text",
"variable.other.assignment.prisma",
"text"
],
regex: /^(\s*)(\w+)(\s*$)/
}, {
include: "#attribute_with_arguments"
}, {
include: "#attribute"
}],
"#attribute_with_arguments": [{
token: [
"entity.name.function.attribute.prisma",
"punctuation.definition.tag.prisma"
],
regex: /(@@?[\w\.]+)(\()/,
push: [{
token: "punctuation.definition.tag.prisma",
regex: /\)/,
next: "pop"
}, {
include: "#named_argument"
}, {
include: "#value"
}, {
defaultToken: "source.prisma.attribute.with_arguments"
}]
}],
"#attribute": [{
token: "entity.name.function.attribute.prisma",
regex: /@@?[\w\.]+/
}],
"#array": [{
token: "source.prisma.array",
regex: /\[/,
push: [{
token: "source.prisma.array",
regex: /\]/,
next: "pop"
}, {
include: "#value"
}, {
defaultToken: "source.prisma.array"
}]
}],
"#value": [{
include: "#array"
}, {
include: "#functional"
}, {
include: "#literal"
}],
"#functional": [{
token: [
"support.function.functional.prisma",
"punctuation.definition.tag.prisma"
],
regex: /(\w+)(\()/,
push: [{
token: "punctuation.definition.tag.prisma",
regex: /\)/,
next: "pop"
}, {
include: "#value"
}, {
defaultToken: "source.prisma.functional"
}]
}],
"#literal": [{
include: "#boolean"
}, {
include: "#number"
}, {
include: "#double_quoted_string"
}, {
include: "#identifier"
}],
"#identifier": [{
token: "support.constant.constant.prisma",
regex: /\b(?:\w)+\b/
}],
"#map_key": [{
token: [
"variable.parameter.key.prisma",
"text",
"punctuation.definition.separator.key-value.prisma",
"text"
],
regex: /(\w+)(\s*)(:)(\s*)/
}],
"#named_argument": [{
include: "#map_key"
}, {
include: "#value"
}],
"#triple_comment": [{
token: "comment.prisma",
regex: /\/\/\//,
push: [{
token: "comment.prisma",
regex: /$/,
next: "pop"
}, {
defaultToken: "comment.prisma"
}]
}],
"#double_comment": [{
token: "comment.prisma",
regex: /\/\//,
push: [{
token: "comment.prisma",
regex: /$/,
next: "pop"
}, {
defaultToken: "comment.prisma"
}]
}],
"#double_comment_inline": [{
token: "comment.prisma",
regex: /\/\/[^$]*/
}],
"#boolean": [{
token: "constant.language.boolean.prisma",
regex: /\b(?:true|false)\b/
}],
"#number": [{
token: "constant.numeric.prisma",
regex: /(?:0(?:x|X)[0-9a-fA-F]*|(?:\+|-)?\b(?:[0-9]+\.?[0-9]*|\.[0-9]+)(?:(?:e|E)(?:\+|-)?[0-9]+)?)(?:[LlFfUuDdg]|UL|ul)?\b/
}],
"#double_quoted_string": [{
token: "string.quoted.double.start.prisma",
regex: /"/,
push: [{
token: "string.quoted.double.end.prisma",
regex: /"/,
next: "pop"
}, {
include: "#string_interpolation"
}, {
token: "string.quoted.double.prisma",
regex: /[\w\-\/\._\\%@:\?=]+/
}, {
defaultToken: "unnamed"
}]
}],
"#string_interpolation": [{
token: "keyword.control.interpolation.start.prisma",
regex: /\$\{/,
push: [{
token: "keyword.control.interpolation.end.prisma",
regex: /\s*\}/,
next: "pop"
}, {
include: "#value"
}, {
defaultToken: "source.tag.embedded.source.prisma"
}]
}]
};
this.normalizeRules();
};
PrismaHighlightRules.metaData = {
name: "Prisma",
scopeName: "source.prisma"
};
oop.inherits(PrismaHighlightRules, TextHighlightRules);
exports.PrismaHighlightRules = PrismaHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/prisma",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/prisma_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var PrismaHighlightRules = require("./prisma_highlight_rules").PrismaHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = PrismaHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function() {
this.lineCommentStart = "//";
this.$id = "ace/mode/prisma";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/prisma"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -65,7 +65,7 @@ var c_cppHighlightRules = function() {
var storageType = ( var storageType = (
"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" + "asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|" +
"_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|" + "_Imaginary|int|int8_t|int16_t|int32_t|int64_t|long|short|signed|size_t|struct|typedef|uint8_t|uint16_t|uint32_t|uint64_t|union|unsigned|void|" +
"class|wchar_t|template|char16_t|char32_t" "class|wchar_t|template|char16_t|char32_t"
); );
@ -489,6 +489,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/c_cpp"; this.$id = "ace/mode/c_cpp";
this.snippetFileId = "ace/snippets/c_cpp";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -44,7 +44,7 @@ var PuppetHighlightRules = function () {
}, },
{ {
token: "multiline.comment.begin.puppet", token: "multiline.comment.begin.puppet",
regex: '^\\s*\\/\\*\\s*$', regex: '^\\s*\\/\\*',
push: "blockComment" push: "blockComment"
}, },
{ {
@ -82,11 +82,7 @@ var PuppetHighlightRules = function () {
} }
], ],
blockComment: [{ blockComment: [{
regex: "^\\s*\\/\\*\\s*$", regex: "\\*\\/",
token: "multiline.comment.begin.puppet",
push: "blockComment"
}, {
regex: "^\\s*\\*\\/\\s*$",
token: "multiline.comment.end.puppet", token: "multiline.comment.end.puppet",
next: "pop" next: "pop"
}, { }, {
@ -355,6 +351,9 @@ oop.inherits(Mode, TextMode);
(function () { (function () {
this.lineCommentStart = "#";
this.blockComment = {start: "/*", end: "*/"};
this.$id = "ace/mode/puppet"; this.$id = "ace/mode/puppet";
}).call(Mode.prototype); }).call(Mode.prototype);

View File

@ -343,10 +343,10 @@ var PythonHighlightRules = function() {
regex: "\\s+" regex: "\\s+"
}, { }, {
token: "string", token: "string",
regex: "'(.)*'" regex: "'[^']*'"
}, { }, {
token: "string", token: "string",
regex: '"(.)*"' regex: '"[^"]*"'
}, { }, {
token: "function.support", token: "function.support",
regex: "(!s|!r|!a)" regex: "(!s|!r|!a)"
@ -494,6 +494,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/python"; this.$id = "ace/mode/python";
this.snippetFileId = "ace/snippets/python";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -0,0 +1,381 @@
define("ace/mode/qml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var QmlHighlightRules = function() {
var keywordMapper = this.createKeywordMapper({
"variable.language":
"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
"Namespace|QName|XML|XMLList|" + // E4X
"ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
"Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
"Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
"SyntaxError|TypeError|URIError|" +
"decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
"isNaN|parseFloat|parseInt|" +
"JSON|Math|" + // Other
"this|arguments|prototype|window|document" , // Pseudo
"keyword":
"const|yield|import|get|set|async|await|" +
"break|case|catch|continue|default|delete|do|else|finally|for|function|" +
"if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
"__parent__|__count__|escape|unescape|with|__proto__|" +
"class|enum|extends|super|export|implements|private|public|interface|package|protected|static|" +
"readonly|string|int|bool|date|color|url|real|double|var|variant|" +
"height|width|anchors|parent|" +
"Abstract3DSeries|AbstractActionInput|AbstractAnimation|AbstractAxis|AbstractAxis3D|AbstractAxisInput|" +
"AbstractBarSeries|AbstractButton|AbstractClipAnimator|AbstractClipBlendNode|AbstractDataProxy|AbstractGraph3D|" +
"AbstractInputHandler3D|AbstractPhysicalDevice|AbstractRayCaster|AbstractSeries|AbstractSkeleton|AbstractTextureImage|" +
"Accelerometer|AccelerometerReading|Accessible|Action|ActionGroup|ActionInput|" +
"AdditiveClipBlend|Address|Affector|Age|AlphaCoverage|AlphaTest|" +
"Altimeter|AltimeterReading|AmbientLightReading|AmbientLightSensor|AmbientTemperatureReading|AmbientTemperatureSensor|" +
"AnalogAxisInput|AnchorAnimation|AnchorChanges|AngleDirection|AnimatedImage|AnimatedSprite|" +
"Animation|AnimationController|AnimationGroup|Animator|ApplicationWindow|ApplicationWindowStyle|" +
"AreaSeries|Armature|AttenuationModelInverse|AttenuationModelLinear|Attractor|Attribute|" +
"Audio|AudioCategory|AudioEngine|AudioListener|AudioSample|AuthenticationDialogRequest|" +
"Axis|AxisAccumulator|AxisSetting|BackspaceKey|Bar3DSeries|BarCategoryAxis|" +
"BarDataProxy|BarSeries|BarSet|Bars3D|BaseKey|Behavior|" +
"Binding|Blend|BlendEquation|BlendEquationArguments|BlendedClipAnimator|BlitFramebuffer|" +
"BluetoothDiscoveryModel|BluetoothService|BluetoothSocket|BorderImage|BorderImageMesh|BoxPlotSeries|" +
"BoxSet|BrightnessContrast|Buffer|BusyIndicator|BusyIndicatorStyle|Button|" +
"ButtonAxisInput|ButtonGroup|ButtonStyle|Calendar|CalendarStyle|Camera|" +
"Camera3D|CameraCapabilities|CameraCapture|CameraExposure|CameraFlash|CameraFocus|" +
"CameraImageProcessing|CameraLens|CameraRecorder|CameraSelector|CandlestickSeries|CandlestickSet|" +
"Canvas|Canvas3D|Canvas3DAbstractObject|Canvas3DActiveInfo|Canvas3DBuffer|Canvas3DContextAttributes|" +
"Canvas3DFrameBuffer|Canvas3DProgram|Canvas3DRenderBuffer|Canvas3DShader|Canvas3DShaderPrecisionFormat|Canvas3DTexture|" +
"Canvas3DTextureProvider|Canvas3DUniformLocation|CanvasGradient|CanvasImageData|CanvasPixelArray|Category|" +
"CategoryAxis|CategoryAxis3D|CategoryModel|CategoryRange|ChangeLanguageKey|ChartView|" +
"CheckBox|CheckBoxStyle|CheckDelegate|CircularGauge|CircularGaugeStyle|ClearBuffers|" +
"ClipAnimator|ClipPlane|CloseEvent|ColorAnimation|ColorDialog|ColorDialogRequest|" +
"ColorGradient|ColorGradientStop|ColorMask|ColorOverlay|Colorize|Column|" +
"ColumnLayout|ComboBox|ComboBoxStyle|Compass|CompassReading|Component|Component3D|" +
"ComputeCommand|ConeGeometry|ConeMesh|ConicalGradient|Connections|ContactDetail|" +
"ContactDetails|Container|Context2D|Context3D|ContextMenuRequest|Control|" +
"CoordinateAnimation|CuboidGeometry|CuboidMesh|CullFace|CumulativeDirection|" +
"Custom3DItem|Custom3DLabel|Custom3DVolume|CustomParticle|CylinderGeometry|CylinderMesh|" +
"Date|DateTimeAxis|DelayButton|DelayButtonStyle|DelegateChoice|DelegateChooser|DelegateModel|" +
"DelegateModelGroup|DepthTest|Desaturate|Dial|DialStyle|Dialog|DialogButtonBox|DiffuseMapMaterial|" +
"DiffuseSpecularMapMaterial|DiffuseSpecularMaterial|Direction|DirectionalBlur|DirectionalLight|DispatchCompute|" +
"Displace|DistanceReading|DistanceSensor|Dithering|DoubleValidator|Drag|DragEvent|DragHandler|Drawer|DropArea|" +
"DropShadow|DwmFeatures|DynamicParameter|EditorialModel|Effect|EllipseShape|Emitter|EnterKey|EnterKeyAction|" +
"Entity|EntityLoader|EnvironmentLight|EventConnection|EventPoint|EventTouchPoint|ExclusiveGroup|ExtendedAttributes|" +
"ExtrudedTextGeometry|ExtrudedTextMesh|FastBlur|FileDialog|FileDialogRequest|FillerKey|FilterKey|FinalState|" +
"FirstPersonCameraController|Flickable|Flipable|Flow|FocusScope|FolderListModel|FontDialog|FontLoader|" +
"FontMetrics|FormValidationMessageRequest|ForwardRenderer|Frame|FrameAction|FrameGraphNode|Friction|" +
"FrontFace|FrustumCulling|FullScreenRequest|GLStateDumpExt|GammaAdjust|Gauge|GaugeStyle|GaussianBlur|" +
"GeocodeModel|Geometry|GeometryRenderer|GestureEvent|Glow|GoochMaterial|Gradient|GradientStop|GraphicsApiFilter|" +
"GraphicsInfo|Gravity|Grid|GridLayout|GridMesh|GridView|GroupBox|GroupGoal|Gyroscope|GyroscopeReading|HBarModelMapper|" +
"HBoxPlotModelMapper|HCandlestickModelMapper|HPieModelMapper|HXYModelMapper|HandlerPoint|HandwritingInputPanel|" +
"HandwritingModeKey|HeightMapSurfaceDataProxy|HideKeyboardKey|HistoryState|HolsterReading|HolsterSensor|HorizontalBarSeries|" +
"|HorizontalPercentBarSeries|HorizontalStackedBarSeries|HoverHandler|HueSaturation|HumidityReading|HumiditySensor|" +
"IRProximityReading|IRProximitySensor|Icon|Image|ImageModel|ImageParticle|InnerShadow|InputChord|InputContext|InputEngine|" +
"InputHandler3D|InputMethod|InputModeKey|InputPanel|InputSequence|InputSettings|Instantiator|IntValidator|InvokedServices|" +
"Item|ItemDelegate|ItemGrabResult|ItemModelBarDataProxy|ItemModelScatterDataProxy|ItemModelSurfaceDataProxy|ItemParticle|" +
"ItemSelectionModel|IviApplication|IviSurface|JavaScriptDialogRequest|Joint|JumpList|JumpListCategory|JumpListDestination|" +
"JumpListLink|JumpListSeparator|Key|KeyEvent|KeyIcon|KeyNavigation|KeyPanel|KeyboardColumn|KeyboardDevice|KeyboardHandler|" +
"KeyboardLayout|KeyboardLayoutLoader|KeyboardRow|KeyboardStyle|KeyframeAnimation|Keys|Label|Layer|LayerFilter|Layout|" +
"LayoutMirroring|Legend|LerpBlend|LevelAdjust|LevelOfDetail|LevelOfDetailBoundingSphere|LevelOfDetailLoader|" +
"LevelOfDetailSwitch|LidReading|LidSensor|Light|Light3D|LightReading|LightSensor|LineSeries|LineShape|LineWidth|" +
"LinearGradient|ListElement|ListModel|ListView|Loader|Locale|Location|LogValueAxis|LogValueAxis3DFormatter|LoggingCategory|" +
"LogicalDevice|Magnetometer|MagnetometerReading|Map|MapCircle|MapCircleObject|MapCopyrightNotice|MapGestureArea|MapIconObject|" +
"MapItemGroup|MapItemView|MapObjectView|MapParameter|MapPinchEvent|MapPolygon|MapPolygonObject|MapPolyline|MapPolylineObject|" +
"MapQuickItem|MapRectangle|MapRoute|MapRouteObject|MapType|Margins|MaskShape|MaskedBlur|Material|Matrix4x4|MediaPlayer|" +
"MemoryBarrier|Menu|MenuBar|MenuBarItem|MenuBarStyle|MenuItem|MenuSeparator|MenuStyle|Mesh|MessageDialog|ModeKey|MorphTarget|" +
"MorphingAnimation|MouseArea|MouseDevice|MouseEvent|MouseHandler|MultiPointHandler|MultiPointTouchArea|MultiSampleAntiAliasing|" +
"Navigator|NdefFilter|NdefMimeRecord|NdefRecord|NdefTextRecord|NdefUriRecord|NearField|NoDepthMask|NoDraw|Node|NodeInstantiator|" +
"NormalDiffuseMapAlphaMaterial|NormalDiffuseMapMaterial|NormalDiffuseSpecularMapMaterial|Number|NumberAnimation|NumberKey|Object3D|" +
"ObjectModel|ObjectPicker|OpacityAnimator|OpacityMask|OpenGLInfo|OrbitCameraController|OrientationReading|OrientationSensor|Overlay|" +
"Package|Page|PageIndicator|Pane|ParallelAnimation|Parameter|ParentAnimation|ParentChange|Particle|ParticleGroup|ParticlePainter|" +
"ParticleSystem|Path|PathAngleArc|PathAnimation|PathArc|PathAttribute|PathCubic|PathCurve|PathElement|PathInterpolator|PathLine|" +
"PathMove|PathPercent|PathQuad|PathSvg|PathView|PauseAnimation|PerVertexColorMaterial|PercentBarSeries|PhongAlphaMaterial|" +
"PhongMaterial|PickEvent|PickLineEvent|PickPointEvent|PickTriangleEvent|PickingSettings|Picture|PieMenu|PieMenuStyle|PieSeries|" +
"PieSlice|PinchArea|PinchEvent|PinchHandler|Place|PlaceAttribute|PlaceSearchModel|PlaceSearchSuggestionModel|PlaneGeometry|" +
"PlaneMesh|PlayVariation|Playlist|PlaylistItem|Plugin|PluginParameter|PointDirection|PointHandler|PointLight|PointSize|" +
"PointerDevice|PointerDeviceHandler|PointerEvent|PointerHandler|PolarChartView|PolygonOffset|Popup|Position|PositionSource|" +
"Positioner|PressureReading|PressureSensor|Product|ProgressBar|ProgressBarStyle|PropertyAction|PropertyAnimation|PropertyChanges|" +
"ProximityFilter|ProximityReading|ProximitySensor|QAbstractState|QAbstractTransition|QSignalTransition|" +
"QVirtualKeyboardSelectionListModel|Qt|QtMultimedia|QtObject|QtPositioning|QuaternionAnimation|QuotaRequest|RadialBlur|" +
"RadialGradient|Radio|RadioButton|RadioButtonStyle|RadioData|RadioDelegate|RangeSlider|Ratings|RayCaster|Rectangle|" +
"RectangleShape|RectangularGlow|RecursiveBlur|RegExpValidator|RegisterProtocolHandlerRequest|RenderCapture|" +
"RenderCaptureReply|RenderPass|RenderPassFilter|RenderSettings|RenderState|RenderStateSet|RenderSurfaceSelector|" +
"RenderTarget|RenderTargetOutput|RenderTargetSelector|Repeater|ReviewModel|Rotation|RotationAnimation|RotationAnimator|" +
"RotationReading|RotationSensor|RoundButton|Route|RouteLeg|RouteManeuver|RouteModel|RouteQuery|RouteSegment|Row|" +
"RowLayout|Scale|ScaleAnimator|Scatter3D|Scatter3DSeries|ScatterDataProxy|ScatterSeries|Scene2D|Scene3D|SceneLoader|" +
"ScissorTest|Screen|ScreenRayCaster|ScriptAction|ScrollBar|ScrollIndicator|ScrollView|ScrollViewStyle|ScxmlStateMachine|" +
"SeamlessCubemap|SelectionListItem|Sensor|SensorGesture|SensorGlobal|SensorReading|SequentialAnimation|Settings|" +
"SettingsStore|ShaderEffect|ShaderEffectSource|ShaderProgram|ShaderProgramBuilder|Shape|ShellSurface|ShellSurfaceItem|" +
"ShiftHandler|ShiftKey|Shortcut|SignalSpy|SignalTransition|SinglePointHandler|Skeleton|SkeletonLoader|Slider|SliderStyle|" +
"SmoothedAnimation|SortPolicy|Sound|SoundEffect|SoundInstance|SpaceKey|SphereGeometry|SphereMesh|SpinBox|SpinBoxStyle|" +
"SplineSeries|SplitView|SpotLight|SpringAnimation|Sprite|SpriteGoal|SpriteSequence|Stack|StackLayout|StackView|" +
"StackViewDelegate|StackedBarSeries|State|StateChangeScript|StateGroup|StateMachine|StateMachineLoader|StatusBar|" +
"StatusBarStyle|StatusIndicator|StatusIndicatorStyle|StencilMask|StencilOperation|StencilOperationArguments|StencilTest|" +
"StencilTestArguments|Store|String|Supplier|Surface3D|Surface3DSeries|SurfaceDataProxy|SwipeDelegate|SwipeView|Switch|" +
"SwitchDelegate|SwitchStyle|SymbolModeKey|SystemPalette|Tab|TabBar|TabButton|TabView|TabViewStyle|TableView|TableViewColumn|" +
"TableViewStyle|TapHandler|TapReading|TapSensor|TargetDirection|TaskbarButton|Technique|TechniqueFilter|TestCase|Text|TextArea|" +
"TextAreaStyle|TextEdit|TextField|TextFieldStyle|TextInput|TextMetrics|TextureImage|TextureImageFactory|Theme3D|ThemeColor|" +
"ThresholdMask|ThumbnailToolBar|ThumbnailToolButton|TiltReading|TiltSensor|TimeoutTransition|Timer|ToggleButton|" +
"ToggleButtonStyle|ToolBar|ToolBarStyle|ToolButton|ToolSeparator|ToolTip|Torch|TorusGeometry|TorusMesh|TouchEventSequence|" +
"TouchInputHandler3D|TouchPoint|Trace|TraceCanvas|TraceInputArea|TraceInputKey|TraceInputKeyPanel|TrailEmitter|Transaction|" +
"Transform|Transition|Translate|TreeView|TreeViewStyle|Tumbler|TumblerColumn|TumblerStyle|Turbulence|UniformAnimator|User|" +
"VBarModelMapper|VBoxPlotModelMapper|VCandlestickModelMapper|VPieModelMapper|VXYModelMapper|ValueAxis|ValueAxis3D|" +
"ValueAxis3DFormatter|Vector3dAnimation|VertexBlendAnimation|Video|VideoOutput|ViewTransition|Viewport|" +
"VirtualKeyboardSettings|Wander|WavefrontMesh|WaylandClient|WaylandCompositor|WaylandHardwareLayer|" +
"WaylandOutput|WaylandQuickItem|WaylandSeat|WaylandSurface|WaylandView|Waypoint|" +
"WebChannel|WebEngine|WebEngineAction|WebEngineCertificateError|WebEngineDownloadItem|WebEngineHistory|" +
"WebEngineHistoryListModel|WebEngineLoadRequest|WebEngineNavigationRequest|WebEngineNewViewRequest|WebEngineProfile|WebEngineScript|" +
"WebEngineSettings|WebEngineView|WebSocket|WebSocketServer|WebView|WebViewLoadRequest|" +
"WheelEvent|Window|WlShell|WlShellSurface|WorkerScript|XAnimator|" +
"XYPoint|XYSeries|XdgDecorationManagerV1|XdgPopup|XdgPopupV5|XdgPopupV6|" +
"XdgShell|XdgShellV5|XdgShellV6|XdgSurface|XdgSurfaceV5|XdgSurfaceV6|" +
"XdgToplevel|XdgToplevelV6|XmlListModel|XmlRole|YAnimator|ZoomBlur",
"storage.type":
"const|let|var|function|" + // js
"property|", // qml
"constant.language":
"null|Infinity|NaN|undefined",
"support.function":
"print|console\\.log",
"constant.language.boolean": "true|false"
}, "identifier");
this.$rules = {
"start" : [
{
token : "string", // single line
regex : '"',
next : "string"
}, {
token : "constant.numeric", // hex
regex : "0[xX][0-9a-fA-F]+\\b"
}, {
token : "constant.numeric", // float
regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
}, {
token : "constant.language.boolean",
regex : "(?:true|false)\\b"
}, {
token : "text",
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}, {
token : "comment",
regex : "\\/\\/.*$"
}, {
token : "comment.start",
regex : "\\/\\*",
next : "comment"
}, {
token : "paren.lparen",
regex : "[[({]"
}, {
token : "paren.rparen",
regex : "[\\])}]"
}, {
token : "text",
regex : "\\s+"
}, {
token : keywordMapper,
regex : "\\b\\w+\\b"
}
],
"string" : [
{
token : "constant.language.escape",
regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/
}, {
token : "string",
regex : '"|$',
next : "start"
}, {
defaultToken : "string"
}
],
"comment" : [
{
token : "comment.end",
regex : "\\*\\/",
next : "start"
}, {
defaultToken: "comment"
}
]
};
};
oop.inherits(QmlHighlightRules, TextHighlightRules);
exports.QmlHighlightRules = QmlHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/qml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/qml_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var QmlHighlightRules = require("./qml_highlight_rules").QmlHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() {
this.HighlightRules = QmlHighlightRules;
this.foldingRules = new FoldMode();
this.$behaviour = this.$defaultBehaviour;
};
oop.inherits(Mode, TextMode);
(function() {
this.lineCommentStart = "//";
this.blockComment = {start: "/*", end: "*/"};
this.$quotes = { '"': '"', "'": "'" };
this.$id = "ace/mode/qml";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/qml"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -299,6 +299,7 @@ define("ace/mode/r",["require","exports","module","ace/unicode","ace/range","ace
this.nonTokenRe = new RegExp("^(?:[^" + unicode.wordChars + "._]|\s])+", "g"); this.nonTokenRe = new RegExp("^(?:[^" + unicode.wordChars + "._]|\s])+", "g");
this.$id = "ace/mode/r"; this.$id = "ace/mode/r";
this.snippetFileId = "ace/snippets/r";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
}); (function() { }); (function() {

View File

@ -1,10 +1,10 @@
define("ace/mode/perl6_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { define("ace/mode/raku_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict"; "use strict";
var oop = require("../lib/oop"); var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var Perl6HighlightRules = function() { var RakuHighlightRules = function() {
var keywords = ( var keywords = (
"my|our|class|role|grammar|is|does|sub|method|submethod|try|" + "my|our|class|role|grammar|is|does|sub|method|submethod|try|" +
@ -34,7 +34,7 @@ var Perl6HighlightRules = function() {
"Pod::Block|Pod::Block::Code|Pod::Block::Comment|Pod::Block::Declarator|"+ "Pod::Block|Pod::Block::Code|Pod::Block::Comment|Pod::Block::Declarator|"+
"Pod::Block::Named|Pod::Block::Para|Pod::Block::Table|Pod::Heading|Pod::Item|"+ "Pod::Block::Named|Pod::Block::Para|Pod::Block::Table|Pod::Heading|Pod::Item|"+
"Positional|PositionalBindFailover|Proc|Proc::Async|Promise|Proxy|PseudoStash|"+ "Positional|PositionalBindFailover|Proc|Proc::Async|Promise|Proxy|PseudoStash|"+
"QuantHash|Range|Rat|Rational|RatStr|Real|Regex|Routine|Scalar|Scheduler|"+ "Raku|QuantHash|Range|Rat|Rational|RatStr|Real|Regex|Routine|Scalar|Scheduler|"+
"Semaphore|Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|StrDistance|Stringy|"+ "Semaphore|Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|StrDistance|Stringy|"+
"Sub|Submethod|Supplier|Supplier::Preserving|Supply|Systemic|Tap|Telemetry|"+ "Sub|Submethod|Supplier|Supplier::Preserving|Supply|Systemic|Tap|Telemetry|"+
"Telemetry::Instrument::Thread|Telemetry::Instrument::Usage|Telemetry::Period|"+ "Telemetry::Instrument::Thread|Telemetry::Instrument::Usage|Telemetry::Period|"+
@ -120,7 +120,7 @@ var Perl6HighlightRules = function() {
"positional|posix|postfix|postmatch|precomp-ext|precomp-target|pred|prefix|prematch|prepend|"+ "positional|posix|postfix|postmatch|precomp-ext|precomp-target|pred|prefix|prematch|prepend|"+
"print|printf|print-nl|print-to|private|private_method_table|proc|produce|Promise|prompt|"+ "print|printf|print-nl|print-to|private|private_method_table|proc|produce|Promise|prompt|"+
"protect|pull-one|push|push-all|push-at-least|push-exactly|push-until-lazy|put|"+ "protect|pull-one|push|push-all|push-at-least|push-exactly|push-until-lazy|put|"+
"qualifier-type|quit|r|race|radix|rand|range|raw|re|read|readchars|readonly|"+ "qualifier-type|quit|r|race|radix|raku|rand|range|raw|re|read|readchars|readonly|"+
"ready|Real|reallocate|reals|reason|rebless|receive|recv|redispatcher|redo|reduce|"+ "ready|Real|reallocate|reals|reason|rebless|receive|recv|redispatcher|redo|reduce|"+
"rel2abs|relative|release|rename|repeated|replacement|report|reserved|resolve|"+ "rel2abs|relative|release|rename|repeated|replacement|report|reserved|resolve|"+
"restore|result|resume|rethrow|reverse|right|rindex|rmdir|roles_to_compose|"+ "restore|result|resume|rethrow|reverse|right|rindex|rmdir|roles_to_compose|"+
@ -339,9 +339,9 @@ var Perl6HighlightRules = function() {
}; };
}; };
oop.inherits(Perl6HighlightRules, TextHighlightRules); oop.inherits(RakuHighlightRules, TextHighlightRules);
exports.Perl6HighlightRules = Perl6HighlightRules; exports.RakuHighlightRules = RakuHighlightRules;
}); });
define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) { define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
@ -524,17 +524,17 @@ oop.inherits(FoldMode, BaseFoldMode);
}); });
define("ace/mode/perl6",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/perl6_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"], function(require, exports, module) { define("ace/mode/raku",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/raku_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"], function(require, exports, module) {
"use strict"; "use strict";
var oop = require("../lib/oop"); var oop = require("../lib/oop");
var TextMode = require("./text").Mode; var TextMode = require("./text").Mode;
var Perl6HighlightRules = require("./perl6_highlight_rules").Perl6HighlightRules; var RakuHighlightRules = require("./raku_highlight_rules").RakuHighlightRules;
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
var CStyleFoldMode = require("./folding/cstyle").FoldMode; var CStyleFoldMode = require("./folding/cstyle").FoldMode;
var Mode = function() { var Mode = function() {
this.HighlightRules = Perl6HighlightRules; this.HighlightRules = RakuHighlightRules;
this.$outdent = new MatchingBraceOutdent(); this.$outdent = new MatchingBraceOutdent();
this.foldingRules = new CStyleFoldMode({start: "^=(begin)\\b", end: "^=(end)\\b"}); this.foldingRules = new CStyleFoldMode({start: "^=(begin)\\b", end: "^=(end)\\b"});
@ -579,12 +579,12 @@ oop.inherits(Mode, TextMode);
this.$outdent.autoOutdent(doc, row); this.$outdent.autoOutdent(doc, row);
}; };
this.$id = "ace/mode/perl6"; this.$id = "ace/mode/raku";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
}); (function() { }); (function() {
window.require(["ace/mode/perl6"], function(m) { window.require(["ace/mode/raku"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) { if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m; module.exports = m;
} }

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2858,6 +2861,7 @@ oop.inherits(Mode, HtmlMode);
}; };
this.$id = "ace/mode/razor"; this.$id = "ace/mode/razor";
this.snippetFileId = "ace/snippets/razor";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -1316,6 +1317,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/css"; this.$id = "ace/mode/css";
this.snippetFileId = "ace/snippets/css";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;
@ -2493,6 +2495,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/html"; this.$id = "ace/mode/html";
this.snippetFileId = "ace/snippets/html";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -242,6 +242,7 @@ oop.inherits(Mode, TextMode);
this.type = "text"; this.type = "text";
this.$id = "ace/mode/rst"; this.$id = "ace/mode/rst";
this.snippetFileId = "ace/snippets/rst";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

File diff suppressed because it is too large Load Diff

View File

@ -5,15 +5,16 @@ var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var stringEscape = /\\(?:[nrt0'"\\]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source; var stringEscape = /\\(?:[nrt0'"\\]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\})/.source;
var wordPattern = /[a-zA-Z_\xa1-\uffff][a-zA-Z0-9_\xa1-\uffff]*/.source;
var RustHighlightRules = function() { var RustHighlightRules = function() {
this.$rules = { start: this.$rules = { start:
[ { token: 'variable.other.source.rust', [ { token: 'variable.other.source.rust',
regex: '\'[a-zA-Z_][a-zA-Z0-9_]*(?![\\\'])' }, regex: '\'' + wordPattern + '(?![\\\'])' },
{ token: 'string.quoted.single.source.rust', { token: 'string.quoted.single.source.rust',
regex: "'(?:[^'\\\\]|" + stringEscape + ")'" }, regex: "'(?:[^'\\\\]|" + stringEscape + ")'" },
{ token: 'identifier', { token: 'identifier',
regex: /r#[a-zA-Z_][a-zA-Z0-9_]*\b/ }, regex: "r#" + wordPattern + "\\b" },
{ {
stateName: "bracketedComment", stateName: "bracketedComment",
onMatch : function(value, currentState, stack){ onMatch : function(value, currentState, stack){
@ -53,8 +54,8 @@ var RustHighlightRules = function() {
regex: stringEscape }, regex: stringEscape },
{ defaultToken: 'string.quoted.double.source.rust' } ] }, { defaultToken: 'string.quoted.double.source.rust' } ] },
{ token: [ 'keyword.source.rust', 'text', 'entity.name.function.source.rust' ], { token: [ 'keyword.source.rust', 'text', 'entity.name.function.source.rust' ],
regex: '\\b(fn)(\\s+)((?:r#)?[a-zA-Z_][a-zA-Z0-9_]*)' }, regex: '\\b(fn)(\\s+)((?:r#)?'+ wordPattern + ')' },
{ token: 'support.constant', regex: '\\b[a-zA-Z_][\\w\\d]*::' }, { token: 'support.constant', regex: wordPattern + '::' },
{ token: 'keyword.source.rust', { token: 'keyword.source.rust',
regex: '\\b(?:abstract|alignof|as|async|await|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b' }, regex: '\\b(?:abstract|alignof|as|async|await|become|box|break|catch|continue|const|crate|default|do|dyn|else|enum|extern|for|final|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b' },
{ token: 'storage.type.source.rust', { token: 'storage.type.source.rust',

View File

@ -784,6 +784,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/javascript"; this.$id = "ace/mode/javascript";
this.snippetFileId = "ace/snippets/javascript";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

View File

@ -0,0 +1,364 @@
define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var DocCommentHighlightRules = function() {
this.$rules = {
"start" : [ {
token : "comment.doc.tag",
regex : "@[\\w\\d_]+" // TODO: fix email addresses
},
DocCommentHighlightRules.getTagRule(),
{
defaultToken : "comment.doc",
caseInsensitive: true
}]
};
};
oop.inherits(DocCommentHighlightRules, TextHighlightRules);
DocCommentHighlightRules.getTagRule = function(start) {
return {
token : "comment.doc.tag.storage.type",
regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
};
};
DocCommentHighlightRules.getStartRule = function(start) {
return {
token : "comment.doc", // doc comment
regex : "\\/\\*(?=\\*)",
next : start
};
};
DocCommentHighlightRules.getEndRule = function (start) {
return {
token : "comment.doc", // closing comment
regex : "\\*\\/",
next : start
};
};
exports.DocCommentHighlightRules = DocCommentHighlightRules;
});
define("ace/mode/scrypt_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function (require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
var scryptHighlightRules = function () {
var keywords = (
"contract|library|loop|new|private|" +
"public|if|else|struct|type|" +
"require|static|const|import|exit|return|asm"
);
var buildinConstants = ("true|false");
var langClasses = (
"function|auto|constructor|bytes|int|bool|SigHashPreimage|PrivKey|PubKey|Sig|Ripemd160|Sha1|Sha256|" +
"SigHashType|SigHashPreimage|OpCodeType"
);
var keywordMapper = this.createKeywordMapper({
"variable.language": "this",
"keyword": keywords,
"constant.language": buildinConstants,
"support.function": langClasses
}, "identifier");
this.$rules = {
"start": [
{
token: "comment",
regex: "\\/\\/.*$"
},
DocCommentHighlightRules.getStartRule("doc-start"),
{
token: "comment", // multi line comment
regex: "\\/\\*",
next: "comment"
}, {
token: "string", // single line
regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
}, {
token: "string", // single line
regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
}, {
token: "constant.numeric", // hex
regex: /0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/
}, {
token: "constant.numeric", // float
regex: /[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/
}, {
token: "constant.language.boolean",
regex: "(?:true|false)\\b"
},
{
token: ["support.function.math.scrypt", "text", "text"],
regex: /\b(abs|min|max|within|ripemd160|sha1|sha256|hash160|hash256|checkSig|checkMultiSig|num2bin|pack|unpack|len|reverseBytes|repeat)(\s*)(\()/
}, {
token: [
"entity.name.type.scrypt",
"text",
"text",
"text",
"variable.object.property.scrypt"
],
regex: /\b(SigHash)(\s*)(\.)(\s*)(ANYONECANPAY|ALL|FORKID|NONE|SINGLE)\b/
},
{
token: [
"entity.name.type.scrypt",
"text",
"text",
"text",
"variable.object.property.scrypt"
],
regex: /\b(OpCode)(\s*)(\.)(\s*)(OP_PUSHDATA1|OP_PUSHDATA2|OP_PUSHDATA4|OP_0|OP_FALSE|OP_1NEGATE|OP_1|OP_TRUE|OP_2|OP_3|OP_4|OP_5|OP_6|OP_7|OP_8|OP_9|OP_10|OP_11|OP_12|OP_13|OP_14|OP_15|OP_16|OP_1ADD|OP_1SUB|OP_NEGATE|OP_ABS|OP_NOT|OP_0NOTEQUAL|OP_ADD|OP_SUB|OP_MUL|OP_DIV|OP_MOD|OP_LSHIFT|OP_RSHIFT|OP_BOOLAND|OP_BOOLOR|OP_NUMEQUAL|OP_NUMEQUALVERIFY|OP_NUMNOTEQUAL|OP_LESSTHAN|OP_GREATERTHAN|OP_LESSTHANOREQUAL|OP_GREATERTHANOREQUAL|OP_MIN|OP_MAX|OP_WITHIN|OP_CAT|OP_SPLIT|OP_BIN2NUM|OP_NUM2BIN|OP_SIZE|OP_NOP|OP_IF|OP_NOTIF|OP_ELSE|OP_ENDIF|OP_VERIFY|OP_RETURN|OP_TOALTSTACK|OP_FROMALTSTACK|OP_IFDUP|OP_DEPTH|OP_DROP|OP_DUP|OP_NIP|OP_OVER|OP_PICK|OP_ROLL|OP_ROT|OP_SWAP|OP_TUCK|OP_2DROP|OP_2DUP|OP_3DUP|OP_2OVER|OP_2ROT|OP_2SWAP|OP_RIPEMD160|OP_SHA1|OP_SHA256|OP_HASH160|OP_HASH256|OP_CODESEPARATOR|OP_CHECKSIG|OP_CHECKSIGVERIFY|OP_CHECKMULTISIG|OP_CHECKMULTISIGVERIFY|OP_INVERT|OP_AND|OP_OR|OP_XOR|OP_EQUAL|OP_EQUALVERIFY)\b/
}, {
token: "entity.name.type.scrypt",
regex: /\b(?:P2PKH|P2PK|Tx|HashPuzzleRipemd160|HashPuzzleSha1|HashPuzzleSha256|HashPuzzleHash160|OpCode|SigHash)\b/
}, {
token: [
"punctuation.separator.period.scrypt",
'text',
"entity.name.function.scrypt",
"text",
"punctuation.definition.parameters.begin.bracket.round.scrypt"
],
regex: /(\.)([^\S$\r]*)([\w][\w\d]*)(\s*)(\()/,
push: [{
token: "punctuation.definition.parameters.end.bracket.round.scrypt",
regex: /\)/,
next: "pop"
}, {
defaultToken: "start"
}]
}, {
token: keywordMapper,
regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
}, {
token: "keyword.operator",
regex: "!|\\$|%|&|\\||\\^|\\*|\\/|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<>|<|>|!|&&|\\|\\||\\?|\\:|\\*=|\\/=|%=|\\+=|\\-=|&=|\\|=|\\^="
}, {
token: "lparen",
regex: "[[({]"
}, {
token: "rparen",
regex: "[\\])}]"
}, {
token: "text",
regex: "\\s+"
}
],
"comment": [
{
token: "comment", // closing comment
regex: "\\*\\/",
next: "start"
}, {
defaultToken: "comment"
}
]
};
this.embedRules(DocCommentHighlightRules, "doc-",
[DocCommentHighlightRules.getEndRule("start")]);
this.normalizeRules();
};
oop.inherits(scryptHighlightRules, TextHighlightRules);
exports.scryptHighlightRules = scryptHighlightRules;
});
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
"use strict";
var oop = require("../../lib/oop");
var Range = require("../../range").Range;
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(commentRegex) {
if (commentRegex) {
this.foldingStartMarker = new RegExp(
this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
);
this.foldingStopMarker = new RegExp(
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
);
}
};
oop.inherits(FoldMode, BaseFoldMode);
(function() {
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
this._getFoldWidgetBase = this.getFoldWidget;
this.getFoldWidget = function(session, foldStyle, row) {
var line = session.getLine(row);
if (this.singleLineBlockCommentRe.test(line)) {
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
return "";
}
var fw = this._getFoldWidgetBase(session, foldStyle, row);
if (!fw && this.startRegionRe.test(line))
return "start"; // lineCommentRegionStart
return fw;
};
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
var line = session.getLine(row);
if (this.startRegionRe.test(line))
return this.getCommentRegionBlock(session, line, row);
var match = line.match(this.foldingStartMarker);
if (match) {
var i = match.index;
if (match[1])
return this.openingBracketBlock(session, match[1], row, i);
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
if (range && !range.isMultiLine()) {
if (forceMultiline) {
range = this.getSectionRange(session, row);
} else if (foldStyle != "all")
range = null;
}
return range;
}
if (foldStyle === "markbegin")
return;
var match = line.match(this.foldingStopMarker);
if (match) {
var i = match.index + match[0].length;
if (match[1])
return this.closingBracketBlock(session, match[1], row, i);
return session.getCommentFoldRange(row, i, -1);
}
};
this.getSectionRange = function(session, row) {
var line = session.getLine(row);
var startIndent = line.search(/\S/);
var startRow = row;
var startColumn = line.length;
row = row + 1;
var endRow = row;
var maxRow = session.getLength();
while (++row < maxRow) {
line = session.getLine(row);
var indent = line.search(/\S/);
if (indent === -1)
continue;
if (startIndent > indent)
break;
var subRange = this.getFoldWidgetRange(session, "all", row);
if (subRange) {
if (subRange.start.row <= startRow) {
break;
} else if (subRange.isMultiLine()) {
row = subRange.end.row;
} else if (startIndent == indent) {
break;
}
}
endRow = row;
}
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
};
this.getCommentRegionBlock = function(session, line, row) {
var startColumn = line.search(/\s*$/);
var maxRow = session.getLength();
var startRow = row;
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
var depth = 1;
while (++row < maxRow) {
line = session.getLine(row);
var m = re.exec(line);
if (!m) continue;
if (m[1]) depth--;
else depth++;
if (!depth) break;
}
var endRow = row;
if (endRow > startRow) {
return new Range(startRow, startColumn, endRow, line.length);
}
};
}).call(FoldMode.prototype);
});
define("ace/mode/scrypt",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scrypt_highlight_rules","ace/mode/folding/cstyle"], function (require, exports, module) {
"use strict";
var oop = require("../lib/oop");
var TextMode = require("./text").Mode;
var scryptHighlightRules = require("./scrypt_highlight_rules").scryptHighlightRules;
var FoldMode = require("./folding/cstyle").FoldMode;
var Mode = function () {
this.HighlightRules = scryptHighlightRules;
this.foldingRules = new FoldMode();
};
oop.inherits(Mode, TextMode);
(function () {
this.lineCommentStart = "//";
this.blockComment = { start: "/*", end: "*/" };
this.$quotes = { '"': '"', "'": "'" };
this.createWorker = function (session) {
return null;
};
this.$id = "ace/mode/scrypt";
}).call(Mode.prototype);
exports.Mode = Mode;
}); (function() {
window.require(["ace/mode/scrypt"], function(m) {
if (typeof module == "object" && typeof exports == "object" && module) {
module.exports = m;
}
});
})();

View File

@ -435,6 +435,7 @@ oop.inherits(Mode, TextMode);
}; };
this.$id = "ace/mode/sh"; this.$id = "ace/mode/sh";
this.snippetFileId = "ace/snippets/sh";
}).call(Mode.prototype); }).call(Mode.prototype);
exports.Mode = Mode; exports.Mode = Mode;

Some files were not shown because too many files have changed in this diff Show More