Commit 47097d9e authored by Jérome Perrin's avatar Jérome Perrin
parent 7bb5c6c7
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155552.62</string> </value> <value> <string>ts83646622.78</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155552.86</string> </value> <value> <string>ts83646622.76</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -198,7 +198,7 @@ module.exports.getEditorKeybordShortcuts = function(editor) {\n ...@@ -198,7 +198,7 @@ module.exports.getEditorKeybordShortcuts = function(editor) {\n
var keybindings = [];\n var keybindings = [];\n
var commandMap = {};\n var commandMap = {};\n
editor.keyBinding.$handlers.forEach(function(handler) {\n editor.keyBinding.$handlers.forEach(function(handler) {\n
var ckb = handler.commmandKeyBinding;\n var ckb = handler.commandKeyBinding;\n
for (var i in ckb) {\n for (var i in ckb) {\n
var modifier = parseInt(i);\n var modifier = parseInt(i);\n
if (modifier == -1) {\n if (modifier == -1) {\n
...@@ -238,7 +238,7 @@ module.exports.getEditorKeybordShortcuts = function(editor) {\n ...@@ -238,7 +238,7 @@ module.exports.getEditorKeybordShortcuts = function(editor) {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>7803</int> </value> <value> <int>7802</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.0</string> </value> <value> <string>ts83646622.7</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -59,17 +59,17 @@ Mode.prototype.supportsFile = function(filename) {\n ...@@ -59,17 +59,17 @@ Mode.prototype.supportsFile = function(filename) {\n
};\n };\n
var supportedModes = {\n var supportedModes = {\n
ABAP: ["abap"],\n ABAP: ["abap"],\n
ADA: ["ada|adb"],\n
ActionScript:["as"],\n ActionScript:["as"],\n
ADA: ["ada|adb"],\n
AsciiDoc: ["asciidoc"],\n AsciiDoc: ["asciidoc"],\n
Assembly_x86:["asm"],\n Assembly_x86:["asm"],\n
AutoHotKey: ["ahk"],\n AutoHotKey: ["ahk"],\n
BatchFile: ["bat|cmd"],\n BatchFile: ["bat|cmd"],\n
C9Search: ["c9search_results"],\n C9Search: ["c9search_results"],\n
C_Cpp: ["c|cc|cpp|cxx|h|hh|hpp"],\n C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp"],\n
Clojure: ["clj"],\n Clojure: ["clj"],\n
Cobol: ["^CBL|COB"],\n Cobol: ["CBL|COB"],\n
coffee: ["^Cakefile|coffee|cf|cson"],\n coffee: ["coffee|cf|cson|^Cakefile"],\n
ColdFusion: ["cfm"],\n ColdFusion: ["cfm"],\n
CSharp: ["cs"],\n CSharp: ["cs"],\n
CSS: ["css"],\n CSS: ["css"],\n
...@@ -81,25 +81,27 @@ var supportedModes = {\n ...@@ -81,25 +81,27 @@ var supportedModes = {\n
Erlang: ["erl|hrl"],\n Erlang: ["erl|hrl"],\n
EJS: ["ejs"],\n EJS: ["ejs"],\n
Forth: ["frt|fs|ldr"],\n Forth: ["frt|fs|ldr"],\n
FreeMarker: ["ftl"],\n FTL: ["ftl"],\n
Glsl: ["glsl|frag|vert"],\n Glsl: ["glsl|frag|vert"],\n
golang: ["go"],\n golang: ["go"],\n
Groovy: ["groovy"],\n Groovy: ["groovy"],\n
HAML: ["haml"],\n HAML: ["haml"],\n
Handlebars: ["hbs|handlebars|tpl|mustache"],\n
Haskell: ["hs"],\n Haskell: ["hs"],\n
haXe: ["hx"],\n haXe: ["hx"],\n
HTML: ["htm|html|xhtml"],\n HTML: ["html|htm|xhtml"],\n
HTML_Ruby: ["erb|rhtml|html.erb"],\n HTML_Ruby: ["erb|rhtml|html.erb"],\n
Ini: ["Ini|conf"],\n INI: ["ini|conf|cfg|prefs"],\n
Jack: ["jack"],\n
Jade: ["jade"],\n Jade: ["jade"],\n
Java: ["java"],\n Java: ["java"],\n
JavaScript: ["js"],\n JavaScript: ["js|jsm"],\n
JSON: ["json"],\n JSON: ["json"],\n
JSONiq: ["jq"],\n JSONiq: ["jq"],\n
JSP: ["jsp"],\n JSP: ["jsp"],\n
JSX: ["jsx"],\n JSX: ["jsx"],\n
Julia: ["jl"],\n Julia: ["jl"],\n
LaTeX: ["latex|tex|ltx|bib"],\n LaTeX: ["tex|latex|ltx|bib"],\n
LESS: ["less"],\n LESS: ["less"],\n
Liquid: ["liquid"],\n Liquid: ["liquid"],\n
Lisp: ["lisp"],\n Lisp: ["lisp"],\n
...@@ -109,11 +111,12 @@ var supportedModes = {\n ...@@ -109,11 +111,12 @@ var supportedModes = {\n
Lua: ["lua"],\n Lua: ["lua"],\n
LuaPage: ["lp"],\n LuaPage: ["lp"],\n
Lucene: ["lucene"],\n Lucene: ["lucene"],\n
Makefile: ["^GNUmakefile|^makefile|^Makefile|^OCamlMakefile|make"],\n Makefile: ["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],\n
MATLAB: ["matlab"],\n MATLAB: ["matlab"],\n
Markdown: ["md|markdown"],\n Markdown: ["md|markdown"],\n
MySQL: ["mysql"],\n MySQL: ["mysql"],\n
MUSHCode: ["mc|mush"],\n MUSHCode: ["mc|mush"],\n
Nix: ["nix"],\n
ObjectiveC: ["m|mm"],\n ObjectiveC: ["m|mm"],\n
OCaml: ["ml|mli"],\n OCaml: ["ml|mli"],\n
Pascal: ["pas|p"],\n Pascal: ["pas|p"],\n
...@@ -123,19 +126,23 @@ var supportedModes = {\n ...@@ -123,19 +126,23 @@ var supportedModes = {\n
Powershell: ["ps1"],\n Powershell: ["ps1"],\n
Prolog: ["plg|prolog"],\n Prolog: ["plg|prolog"],\n
Properties: ["properties"],\n Properties: ["properties"],\n
Protobuf: ["proto"],\n
Python: ["py"],\n Python: ["py"],\n
R: ["r"],\n R: ["r"],\n
RDoc: ["Rd"],\n RDoc: ["Rd"],\n
RHTML: ["Rhtml"],\n RHTML: ["Rhtml"],\n
Ruby: ["ru|gemspec|rake|rb"],\n Ruby: ["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],\n
Rust: ["rs"],\n Rust: ["rs"],\n
SASS: ["sass"],\n SASS: ["sass"],\n
SCAD: ["scad"],\n SCAD: ["scad"],\n
Scala: ["scala"],\n Scala: ["scala"],\n
Scheme: ["scm|rkt"],\n Scheme: ["scm|rkt"],\n
SCSS: ["scss"],\n SCSS: ["scss"],\n
SH: ["sh|bash"],\n SH: ["sh|bash|^.bashrc"],\n
SJS: ["sjs"],\n
Space: ["space"],\n
snippets: ["snippets"],\n snippets: ["snippets"],\n
Soy_Template:["soy"],\n
SQL: ["sql"],\n SQL: ["sql"],\n
Stylus: ["styl|stylus"],\n Stylus: ["styl|stylus"],\n
SVG: ["svg"],\n SVG: ["svg"],\n
...@@ -145,12 +152,13 @@ var supportedModes = {\n ...@@ -145,12 +152,13 @@ var supportedModes = {\n
Textile: ["textile"],\n Textile: ["textile"],\n
Toml: ["toml"],\n Toml: ["toml"],\n
Twig: ["twig"],\n Twig: ["twig"],\n
Typescript: ["typescript|ts|str"],\n Typescript: ["ts|typescript|str"],\n
VBScript: ["vbs"],\n VBScript: ["vbs"],\n
Velocity: ["vm"],\n Velocity: ["vm"],\n
Verilog: ["v|vh|sv|svh"],\n
XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],\n XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],\n
XQuery: ["xq"],\n XQuery: ["xq"],\n
YAML: ["yaml"]\n YAML: ["yaml|yml"]\n
};\n };\n
\n \n
var nameOverrides = {\n var nameOverrides = {\n
...@@ -159,7 +167,8 @@ var nameOverrides = {\n ...@@ -159,7 +167,8 @@ var nameOverrides = {\n
golang: "Go",\n golang: "Go",\n
C_Cpp: "C/C++",\n C_Cpp: "C/C++",\n
coffee: "CoffeeScript",\n coffee: "CoffeeScript",\n
HTML_Ruby: "HTML (Ruby)"\n HTML_Ruby: "HTML (Ruby)",\n
FTL: "FreeMarker"\n
};\n };\n
var modesByName = {};\n var modesByName = {};\n
for (var name in supportedModes) {\n for (var name in supportedModes) {\n
...@@ -189,7 +198,7 @@ module.exports = {\n ...@@ -189,7 +198,7 @@ module.exports = {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>4320</int> </value> <value> <int>4644</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.14</string> </value> <value> <string>ts83646622.68</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.29</string> </value> <value> <string>ts83646622.67</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -222,7 +222,7 @@ var html = \'<div class="ace_search right">\\\n ...@@ -222,7 +222,7 @@ var html = \'<div class="ace_search right">\\\n
</div>\\\n </div>\\\n
<div class="ace_replace_form">\\\n <div class="ace_replace_form">\\\n
<input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>\\\n <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>\\\n
<button type="button" action="replace" class="ace_replacebtn">Replace</button>\\\n <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button>\\\n
<button type="button" action="replaceAll" class="ace_replacebtn">All</button>\\\n <button type="button" action="replaceAll" class="ace_replacebtn">All</button>\\\n
</div>\\\n </div>\\\n
<div class="ace_search_options">\\\n <div class="ace_search_options">\\\n
...@@ -248,9 +248,7 @@ var SearchBox = function(editor, range, showReplaceForm) {\n ...@@ -248,9 +248,7 @@ var SearchBox = function(editor, range, showReplaceForm) {\n
this.editor = editor;\n this.editor = editor;\n
};\n };\n
\n \n
this.$init = function() {\n this.$initElements = function(sb) {\n
var sb = this.element;\n
\n
this.searchBox = sb.querySelector(".ace_search_form");\n this.searchBox = sb.querySelector(".ace_search_form");\n
this.replaceBox = sb.querySelector(".ace_replace_form");\n this.replaceBox = sb.querySelector(".ace_replace_form");\n
this.searchOptions = sb.querySelector(".ace_search_options");\n this.searchOptions = sb.querySelector(".ace_search_options");\n
...@@ -259,7 +257,13 @@ var SearchBox = function(editor, range, showReplaceForm) {\n ...@@ -259,7 +257,13 @@ var SearchBox = function(editor, range, showReplaceForm) {\n
this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]");\n this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]");\n
this.searchInput = this.searchBox.querySelector(".ace_search_field");\n this.searchInput = this.searchBox.querySelector(".ace_search_field");\n
this.replaceInput = this.replaceBox.querySelector(".ace_search_field");\n this.replaceInput = this.replaceBox.querySelector(".ace_search_field");\n
\n };\n
\n
this.$init = function() {\n
var sb = this.element;\n
\n
this.$initElements(sb);\n
\n
var _this = this;\n var _this = this;\n
event.addListener(sb, "mousedown", function(e) {\n event.addListener(sb, "mousedown", function(e) {\n
setTimeout(function(){\n setTimeout(function(){\n
...@@ -268,7 +272,7 @@ var SearchBox = function(editor, range, showReplaceForm) {\n ...@@ -268,7 +272,7 @@ var SearchBox = function(editor, range, showReplaceForm) {\n
event.stopPropagation(e);\n event.stopPropagation(e);\n
});\n });\n
event.addListener(sb, "click", function(e) {\n event.addListener(sb, "click", function(e) {\n
var t = e.target;\n var t = e.target || e.srcElement;\n
var action = t.getAttribute("action");\n var action = t.getAttribute("action");\n
if (action && _this[action])\n if (action && _this[action])\n
_this[action]();\n _this[action]();\n
...@@ -383,7 +387,9 @@ var SearchBox = function(editor, range, showReplaceForm) {\n ...@@ -383,7 +387,9 @@ var SearchBox = function(editor, range, showReplaceForm) {\n
caseSensitive: this.caseSensitiveOption.checked,\n caseSensitive: this.caseSensitiveOption.checked,\n
wholeWord: this.wholeWordOption.checked\n wholeWord: this.wholeWordOption.checked\n
});\n });\n
dom.setCssClass(this.searchBox, "ace_nomatch", !range && this.searchInput.value);\n var noMatch = !range && this.searchInput.value;\n
dom.setCssClass(this.searchBox, "ace_nomatch", noMatch);\n
this.editor._emit("findSearchBox", { match: !noMatch });\n
this.highlight();\n this.highlight();\n
};\n };\n
this.findNext = function() {\n this.findNext = function() {\n
...@@ -393,10 +399,18 @@ var SearchBox = function(editor, range, showReplaceForm) {\n ...@@ -393,10 +399,18 @@ var SearchBox = function(editor, range, showReplaceForm) {\n
this.find(true, true);\n this.find(true, true);\n
};\n };\n
this.replace = function() {\n this.replace = function() {\n
this.editor.replace(this.replaceInput.value);\n if (!this.editor.getReadOnly())\n
this.editor.replace(this.replaceInput.value);\n
}; \n
this.replaceAndFindNext = function() {\n
if (!this.editor.getReadOnly()) {\n
this.editor.replace(this.replaceInput.value);\n
this.findNext()\n
}\n
};\n };\n
this.replaceAll = function() {\n this.replaceAll = function() {\n
this.editor.replaceAll(this.replaceInput.value);\n if (!this.editor.getReadOnly())\n
this.editor.replaceAll(this.replaceInput.value);\n
};\n };\n
\n \n
this.hide = function() {\n this.hide = function() {\n
...@@ -427,47 +441,6 @@ exports.Search = function(editor, isReplace) {\n ...@@ -427,47 +441,6 @@ exports.Search = function(editor, isReplace) {\n
sb.show(editor.session.getTextRange(), isReplace);\n sb.show(editor.session.getTextRange(), isReplace);\n
};\n };\n
\n \n
\n
exports.ISearch = function(session, options) {\n
this.$changeListener = this.$changeListener.bind(this);\n
this.startRange = session.selection.toOrientedRange();\n
this.options = options || {};\n
};\n
\n
(function(){\n
this.setSession = function(session) {\n
if (this.session) {\n
this.session.removeListener(this.$changeListener);\n
}\n
this.session = session;\n
this.session.addListener(this.$changeListener);\n
};\n
this.setSearchString = function() {\n
\n
};\n
this.getValue = function() {\n
if (this.value == null)\n
this.value = this.session.getValue();\n
return this.value;\n
};\n
this.$changeListener = function() {\n
this.value = null;\n
};\n
this.find = function() {\n
\n
};\n
this.$edgeBefore = function() {\n
this.cursor = this.startRange[this.options.backwards ? "start" : "end"];\n
};\n
this.$edgeAfter = function() {\n
\n
};\n
this.next = function(dir) {\n
\n
};\n
}).call(exports.ISearch.prototype);\n
\n
\n
});\n });\n
...@@ -479,7 +452,7 @@ exports.ISearch = function(session, options) {\n ...@@ -479,7 +452,7 @@ exports.ISearch = function(session, options) {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>14773</int> </value> <value> <int>14267</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.44</string> </value> <value> <string>ts83646622.66</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -327,17 +327,17 @@ Mode.prototype.supportsFile = function(filename) {\n ...@@ -327,17 +327,17 @@ Mode.prototype.supportsFile = function(filename) {\n
};\n };\n
var supportedModes = {\n var supportedModes = {\n
ABAP: ["abap"],\n ABAP: ["abap"],\n
ADA: ["ada|adb"],\n
ActionScript:["as"],\n ActionScript:["as"],\n
ADA: ["ada|adb"],\n
AsciiDoc: ["asciidoc"],\n AsciiDoc: ["asciidoc"],\n
Assembly_x86:["asm"],\n Assembly_x86:["asm"],\n
AutoHotKey: ["ahk"],\n AutoHotKey: ["ahk"],\n
BatchFile: ["bat|cmd"],\n BatchFile: ["bat|cmd"],\n
C9Search: ["c9search_results"],\n C9Search: ["c9search_results"],\n
C_Cpp: ["c|cc|cpp|cxx|h|hh|hpp"],\n C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp"],\n
Clojure: ["clj"],\n Clojure: ["clj"],\n
Cobol: ["^CBL|COB"],\n Cobol: ["CBL|COB"],\n
coffee: ["^Cakefile|coffee|cf|cson"],\n coffee: ["coffee|cf|cson|^Cakefile"],\n
ColdFusion: ["cfm"],\n ColdFusion: ["cfm"],\n
CSharp: ["cs"],\n CSharp: ["cs"],\n
CSS: ["css"],\n CSS: ["css"],\n
...@@ -349,25 +349,27 @@ var supportedModes = {\n ...@@ -349,25 +349,27 @@ var supportedModes = {\n
Erlang: ["erl|hrl"],\n Erlang: ["erl|hrl"],\n
EJS: ["ejs"],\n EJS: ["ejs"],\n
Forth: ["frt|fs|ldr"],\n Forth: ["frt|fs|ldr"],\n
FreeMarker: ["ftl"],\n FTL: ["ftl"],\n
Glsl: ["glsl|frag|vert"],\n Glsl: ["glsl|frag|vert"],\n
golang: ["go"],\n golang: ["go"],\n
Groovy: ["groovy"],\n Groovy: ["groovy"],\n
HAML: ["haml"],\n HAML: ["haml"],\n
Handlebars: ["hbs|handlebars|tpl|mustache"],\n
Haskell: ["hs"],\n Haskell: ["hs"],\n
haXe: ["hx"],\n haXe: ["hx"],\n
HTML: ["htm|html|xhtml"],\n HTML: ["html|htm|xhtml"],\n
HTML_Ruby: ["erb|rhtml|html.erb"],\n HTML_Ruby: ["erb|rhtml|html.erb"],\n
Ini: ["Ini|conf"],\n INI: ["ini|conf|cfg|prefs"],\n
Jack: ["jack"],\n
Jade: ["jade"],\n Jade: ["jade"],\n
Java: ["java"],\n Java: ["java"],\n
JavaScript: ["js"],\n JavaScript: ["js|jsm"],\n
JSON: ["json"],\n JSON: ["json"],\n
JSONiq: ["jq"],\n JSONiq: ["jq"],\n
JSP: ["jsp"],\n JSP: ["jsp"],\n
JSX: ["jsx"],\n JSX: ["jsx"],\n
Julia: ["jl"],\n Julia: ["jl"],\n
LaTeX: ["latex|tex|ltx|bib"],\n LaTeX: ["tex|latex|ltx|bib"],\n
LESS: ["less"],\n LESS: ["less"],\n
Liquid: ["liquid"],\n Liquid: ["liquid"],\n
Lisp: ["lisp"],\n Lisp: ["lisp"],\n
...@@ -377,11 +379,12 @@ var supportedModes = {\n ...@@ -377,11 +379,12 @@ var supportedModes = {\n
Lua: ["lua"],\n Lua: ["lua"],\n
LuaPage: ["lp"],\n LuaPage: ["lp"],\n
Lucene: ["lucene"],\n Lucene: ["lucene"],\n
Makefile: ["^GNUmakefile|^makefile|^Makefile|^OCamlMakefile|make"],\n Makefile: ["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],\n
MATLAB: ["matlab"],\n MATLAB: ["matlab"],\n
Markdown: ["md|markdown"],\n Markdown: ["md|markdown"],\n
MySQL: ["mysql"],\n MySQL: ["mysql"],\n
MUSHCode: ["mc|mush"],\n MUSHCode: ["mc|mush"],\n
Nix: ["nix"],\n
ObjectiveC: ["m|mm"],\n ObjectiveC: ["m|mm"],\n
OCaml: ["ml|mli"],\n OCaml: ["ml|mli"],\n
Pascal: ["pas|p"],\n Pascal: ["pas|p"],\n
...@@ -391,19 +394,23 @@ var supportedModes = {\n ...@@ -391,19 +394,23 @@ var supportedModes = {\n
Powershell: ["ps1"],\n Powershell: ["ps1"],\n
Prolog: ["plg|prolog"],\n Prolog: ["plg|prolog"],\n
Properties: ["properties"],\n Properties: ["properties"],\n
Protobuf: ["proto"],\n
Python: ["py"],\n Python: ["py"],\n
R: ["r"],\n R: ["r"],\n
RDoc: ["Rd"],\n RDoc: ["Rd"],\n
RHTML: ["Rhtml"],\n RHTML: ["Rhtml"],\n
Ruby: ["ru|gemspec|rake|rb"],\n Ruby: ["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],\n
Rust: ["rs"],\n Rust: ["rs"],\n
SASS: ["sass"],\n SASS: ["sass"],\n
SCAD: ["scad"],\n SCAD: ["scad"],\n
Scala: ["scala"],\n Scala: ["scala"],\n
Scheme: ["scm|rkt"],\n Scheme: ["scm|rkt"],\n
SCSS: ["scss"],\n SCSS: ["scss"],\n
SH: ["sh|bash"],\n SH: ["sh|bash|^.bashrc"],\n
SJS: ["sjs"],\n
Space: ["space"],\n
snippets: ["snippets"],\n snippets: ["snippets"],\n
Soy_Template:["soy"],\n
SQL: ["sql"],\n SQL: ["sql"],\n
Stylus: ["styl|stylus"],\n Stylus: ["styl|stylus"],\n
SVG: ["svg"],\n SVG: ["svg"],\n
...@@ -413,12 +420,13 @@ var supportedModes = {\n ...@@ -413,12 +420,13 @@ var supportedModes = {\n
Textile: ["textile"],\n Textile: ["textile"],\n
Toml: ["toml"],\n Toml: ["toml"],\n
Twig: ["twig"],\n Twig: ["twig"],\n
Typescript: ["typescript|ts|str"],\n Typescript: ["ts|typescript|str"],\n
VBScript: ["vbs"],\n VBScript: ["vbs"],\n
Velocity: ["vm"],\n Velocity: ["vm"],\n
Verilog: ["v|vh|sv|svh"],\n
XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],\n XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],\n
XQuery: ["xq"],\n XQuery: ["xq"],\n
YAML: ["yaml"]\n YAML: ["yaml|yml"]\n
};\n };\n
\n \n
var nameOverrides = {\n var nameOverrides = {\n
...@@ -427,7 +435,8 @@ var nameOverrides = {\n ...@@ -427,7 +435,8 @@ var nameOverrides = {\n
golang: "Go",\n golang: "Go",\n
C_Cpp: "C/C++",\n C_Cpp: "C/C++",\n
coffee: "CoffeeScript",\n coffee: "CoffeeScript",\n
HTML_Ruby: "HTML (Ruby)"\n HTML_Ruby: "HTML (Ruby)",\n
FTL: "FreeMarker"\n
};\n };\n
var modesByName = {};\n var modesByName = {};\n
for (var name in supportedModes) {\n for (var name in supportedModes) {\n
...@@ -487,8 +496,8 @@ module.exports.themes = [\n ...@@ -487,8 +496,8 @@ module.exports.themes = [\n
"kr_theme",\n "kr_theme",\n
"merbivore",\n "merbivore",\n
"merbivore_soft",\n "merbivore_soft",\n
"monokai",\n
"mono_industrial",\n "mono_industrial",\n
"monokai",\n
"pastel_on_dark",\n "pastel_on_dark",\n
"solarized_dark",\n "solarized_dark",\n
"solarized_light",\n "solarized_light",\n
...@@ -656,7 +665,7 @@ module.exports.overlayPage = function overlayPage(editor, contentElement, top, r ...@@ -656,7 +665,7 @@ module.exports.overlayPage = function overlayPage(editor, contentElement, top, r
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>19778</int> </value> <value> <int>20102</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.56</string> </value> <value> <string>ts83646622.64</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -39,8 +39,9 @@ exports.contextMenuHandler = function(e){\n ...@@ -39,8 +39,9 @@ exports.contextMenuHandler = function(e){\n
var PLACEHOLDER = "\\x01\\x01";\n var PLACEHOLDER = "\\x01\\x01";\n
var value = w + " " + PLACEHOLDER;\n var value = w + " " + PLACEHOLDER;\n
text.value = value;\n text.value = value;\n
text.setSelectionRange(w.length + 1, w.length + 1);\n text.setSelectionRange(w.length, w.length + 1);\n
text.setSelectionRange(0, 0);\n text.setSelectionRange(0, 0);\n
text.setSelectionRange(0, w.length);\n
\n \n
var afterKeydown = false;\n var afterKeydown = false;\n
event.addListener(text, "keydown", function onKeydown() {\n event.addListener(text, "keydown", function onKeydown() {\n
...@@ -95,7 +96,7 @@ require("../config").defineOptions(Editor.prototype, "editor", {\n ...@@ -95,7 +96,7 @@ require("../config").defineOptions(Editor.prototype, "editor", {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>2227</int> </value> <value> <int>2264</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.66</string> </value> <value> <string>ts83646622.63</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -52,34 +52,37 @@ ...@@ -52,34 +52,37 @@
*\n *\n
* ***** END LICENSE BLOCK ***** */\n * ***** END LICENSE BLOCK ***** */\n
\n \n
define(\'ace/ext/static_highlight\', [\'require\', \'exports\', \'module\' , \'ace/edit_session\', \'ace/layer/text\', \'ace/config\'], function(require, exports, module) {\n define(\'ace/ext/static_highlight\', [\'require\', \'exports\', \'module\' , \'ace/edit_session\', \'ace/layer/text\', \'ace/config\', \'ace/lib/dom\'], function(require, exports, module) {\n
\n \n
\n \n
var EditSession = require("../edit_session").EditSession;\n var EditSession = require("../edit_session").EditSession;\n
var TextLayer = require("../layer/text").Text;\n var TextLayer = require("../layer/text").Text;\n
var baseStyles = ".ace_editor {\\\n var baseStyles = ".ace_static_highlight {\\\n
font-family: \'Monaco\', \'Menlo\', \'Droid Sans Mono\', \'Courier New\', monospace;\\\n font-family: \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', \'Droid Sans Mono\', monospace;\\\n
font-size: 12px;\\\n font-size: 12px;\\\n
}\\\n }\\\n
.ace_editor .ace_gutter {\\\n .ace_static_highlight .ace_gutter {\\\n
width: 25px !important;\\\n width: 25px !important;\\\n
display: block;\\\n display: block;\\\n
float: left;\\\n float: left;\\\n
text-align: right;\\\n text-align: right;\\\n
padding: 0 3px 0 0;\\\n padding: 0 3px 0 0;\\\n
margin-right: 3px;\\\n margin-right: 3px;\\\n
position: static !important;\\\n
}\\\n }\\\n
.ace_line { clear: both; }\\\n .ace_static_highlight .ace_line { clear: both; }\\\n
*.ace_gutter-cell {\\\n .ace_static_highlight .ace_gutter-cell {\\\n
-moz-user-select: -moz-none;\\\n -moz-user-select: -moz-none;\\\n
-khtml-user-select: none;\\\n -khtml-user-select: none;\\\n
-webkit-user-select: none;\\\n -webkit-user-select: none;\\\n
user-select: none;\\\n user-select: none;\\\n
}";\n }";\n
var config = require("../config");\n var config = require("../config");\n
var dom = require("../lib/dom");\n
\n \n
exports.render = function(input, mode, theme, lineStart, disableGutter, callback) {\n exports.render = function(input, mode, theme, lineStart, disableGutter, callback) {\n
var waiting = 0\n var waiting = 0;\n
var modeCache = EditSession.prototype.$modes;\n
if (typeof theme == "string") {\n if (typeof theme == "string") {\n
waiting++;\n waiting++;\n
config.loadModule([\'theme\', theme], function(m) {\n config.loadModule([\'theme\', theme], function(m) {\n
...@@ -91,7 +94,8 @@ exports.render = function(input, mode, theme, lineStart, disableGutter, callback ...@@ -91,7 +94,8 @@ exports.render = function(input, mode, theme, lineStart, disableGutter, callback
if (typeof mode == "string") {\n if (typeof mode == "string") {\n
waiting++;\n waiting++;\n
config.loadModule([\'mode\', mode], function(m) {\n config.loadModule([\'mode\', mode], function(m) {\n
mode = new m.Mode()\n if (!modeCache[mode]) modeCache[mode] = new m.Mode();\n
mode = modeCache[mode];\n
--waiting || done();\n --waiting || done();\n
});\n });\n
}\n }\n
...@@ -128,11 +132,11 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n ...@@ -128,11 +132,11 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n
textLayer.$renderLine(stringBuilder, ix, true, false);\n textLayer.$renderLine(stringBuilder, ix, true, false);\n
stringBuilder.push("</div>");\n stringBuilder.push("</div>");\n
}\n }\n
var html = "<div class=\':cssClass\'>\\\n var html = "<div class=\'" + theme.cssClass + "\'>" +\n
<div class=\'ace_editor ace_scroller ace_text-layer\'>\\\n "<div class=\'ace_static_highlight\'>" +\n
:code\\\n stringBuilder.join("") +\n
</div>\\\n "</div>" +\n
</div>".replace(/:cssClass/, theme.cssClass).replace(/:code/, stringBuilder.join(""));\n "</div>";\n
\n \n
textLayer.destroy();\n textLayer.destroy();\n
\n \n
...@@ -142,6 +146,46 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n ...@@ -142,6 +146,46 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n
};\n };\n
};\n };\n
\n \n
\n
\n
exports.highlight = function(el, opts, callback) {\n
var m = el.className.match(/lang-(\\w+)/);\n
var mode = opts.mode || m && ("ace/mode/" + m[1]);\n
if (!mode)\n
return false;\n
var theme = opts.theme || "ace/theme/textmate";\n
\n
var data = "";\n
var nodes = [];\n
\n
if (el.firstElementChild) {\n
var textLen = 0;\n
for (var i = 0; i < el.childNodes.length; i++) {\n
var ch = el.childNodes[i];\n
if (ch.nodeType == 3) {\n
textLen += ch.data.length;\n
data += ch.data;\n
} else {\n
nodes.push(textLen, ch);\n
}\n
}\n
} else {\n
data = dom.getInnerText(el);\n
}\n
\n
exports.render(data, mode, theme, 1, true, function (highlighted) {\n
dom.importCssString(highlighted.css, "ace_highlight");\n
el.innerHTML = highlighted.html;\n
var container = el.firstChild.firstChild\n
for (var i = 0; i < nodes.length; i += 2) {\n
var pos = highlighted.session.doc.indexToPosition(nodes[i])\n
var node = nodes[i + 1];\n
var lineEl = container.children[pos.row];\n
lineEl && lineEl.appendChild(nodes[i+1]);\n
}\n
callback && callback();\n
});\n
};\n
});\n });\n
...@@ -153,7 +197,7 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n ...@@ -153,7 +197,7 @@ exports.renderSync = function(input, mode, theme, lineStart, disableGutter) {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>4310</int> </value> <value> <int>5794</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.77</string> </value> <value> <string>ts83646622.6</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155553.93</string> </value> <value> <string>ts83646622.59</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -88,7 +88,7 @@ function applyStyles(elm, styles) {\n ...@@ -88,7 +88,7 @@ function applyStyles(elm, styles) {\n
\n \n
function setupContainer(element, getValue) {\n function setupContainer(element, getValue) {\n
if (element.type != \'textarea\') {\n if (element.type != \'textarea\') {\n
throw "Textarea required!";\n throw new Error("Textarea required!");\n
}\n }\n
\n \n
var parentNode = element.parentNode;\n var parentNode = element.parentNode;\n
...@@ -247,21 +247,18 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n ...@@ -247,21 +247,18 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n
settingDiv.hideButton.focus();\n settingDiv.hideButton.focus();\n
editor.on("focus", function onFocus() {\n editor.on("focus", function onFocus() {\n
editor.removeListener("focus", onFocus);\n editor.removeListener("focus", onFocus);\n
settingDiv.style.display = "none"\n settingDiv.style.display = "none";\n
});\n });\n
} else {\n } else {\n
editor.focus();\n editor.focus();\n
};\n }\n
};\n };\n
\n \n
editor.$setOption = editor.setOption;\n
editor.setOption = function(key, value) {\n editor.setOption = function(key, value) {\n
if (options[key] == value) return;\n if (options[key] == value) return;\n
\n \n
switch (key) {\n switch (key) {\n
case "gutter":\n
renderer.setShowGutter(toBool(value));\n
break;\n
\n
case "mode":\n case "mode":\n
if (value != "text") {\n if (value != "text") {\n
loader("mode-" + value + ".js", "ace/mode/" + value, function() {\n loader("mode-" + value + ".js", "ace/mode/" + value, function() {\n
...@@ -323,18 +320,9 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n ...@@ -323,18 +320,9 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n
break;\n break;\n
}\n }\n
break;\n break;\n
\n \n
case "useSoftTabs":\n default:\n
session.setUseSoftTabs(toBool(value));\n editor.$setOption(key, toBool(value));\n
break;\n
\n
case "showPrintMargin":\n
renderer.setShowPrintMargin(toBool(value));\n
break;\n
\n
case "showInvisibles":\n
editor.setShowInvisibles(toBool(value));\n
break;\n
}\n }\n
\n \n
options[key] = value;\n options[key] = value;\n
...@@ -348,9 +336,7 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n ...@@ -348,9 +336,7 @@ function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {\n
return options;\n return options;\n
};\n };\n
\n \n
for (var option in exports.options) {\n editor.setOptions(exports.options);\n
editor.setOption(option, exports.options[option]);\n
}\n
\n \n
return editor;\n return editor;\n
}\n }\n
...@@ -450,7 +436,7 @@ function setupSettingPanel(settingDiv, settingOpener, editor, options) {\n ...@@ -450,7 +436,7 @@ function setupSettingPanel(settingDiv, settingOpener, editor, options) {\n
cValue == "true" ? "checked=\'true\'" : "",\n cValue == "true" ? "checked=\'true\'" : "",\n
"\'></input>"\n "\'></input>"\n
);\n );\n
return\n return;\n
}\n }\n
builder.push("<select title=\'" + option + "\'>");\n builder.push("<select title=\'" + option + "\'>");\n
for (var value in obj) {\n for (var value in obj) {\n
...@@ -524,7 +510,7 @@ exports.options = {\n ...@@ -524,7 +510,7 @@ exports.options = {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>16096</int> </value> <value> <int>15735</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155554.04</string> </value> <value> <string>ts83646622.57</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -92,8 +92,8 @@ module.exports.themes = [\n ...@@ -92,8 +92,8 @@ module.exports.themes = [\n
"kr_theme",\n "kr_theme",\n
"merbivore",\n "merbivore",\n
"merbivore_soft",\n "merbivore_soft",\n
"monokai",\n
"mono_industrial",\n "mono_industrial",\n
"monokai",\n
"pastel_on_dark",\n "pastel_on_dark",\n
"solarized_dark",\n "solarized_dark",\n
"solarized_light",\n "solarized_light",\n
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155554.14</string> </value> <value> <string>ts83646622.56</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -82,7 +82,7 @@ exports.$detectIndentation = function(lines, fallback) {\n ...@@ -82,7 +82,7 @@ exports.$detectIndentation = function(lines, fallback) {\n
prevSpaces = spaces;\n prevSpaces = spaces;\n
while (line[line.length - 1] == "\\\\")\n while (line[line.length - 1] == "\\\\")\n
line = lines[i++];\n line = lines[i++];\n
};\n }\n
\n \n
function getScore(indent) {\n function getScore(indent) {\n
var score = 0;\n var score = 0;\n
...@@ -132,15 +132,17 @@ exports.detectIndentation = function(session) {\n ...@@ -132,15 +132,17 @@ exports.detectIndentation = function(session) {\n
return indent;\n return indent;\n
};\n };\n
\n \n
exports.trimTrailingSpace = function(session) {\n exports.trimTrailingSpace = function(session, trimEmpty) {\n
var doc = session.getDocument();\n var doc = session.getDocument();\n
var lines = doc.getAllLines();\n var lines = doc.getAllLines();\n
\n
var min = trimEmpty ? -1 : 0;\n
\n \n
for (var i = 0, l=lines.length; i < l; i++) {\n for (var i = 0, l=lines.length; i < l; i++) {\n
var line = lines[i];\n var line = lines[i];\n
var index = line.search(/\\s+$/);\n var index = line.search(/\\s+$/);\n
\n \n
if (index !== -1)\n if (index > min)\n
doc.removeInLine(i, index, line.length);\n doc.removeInLine(i, index, line.length);\n
}\n }\n
};\n };\n
...@@ -179,14 +181,14 @@ exports.convertIndentation = function(session, ch, len) {\n ...@@ -179,14 +181,14 @@ exports.convertIndentation = function(session, ch, len) {\n
};\n };\n
\n \n
exports.$parseStringArg = function(text) {\n exports.$parseStringArg = function(text) {\n
var indent = {}\n var indent = {};\n
if (/t/.test(text))\n if (/t/.test(text))\n
indent.ch = "\\t";\n indent.ch = "\\t";\n
else if (/s/.test(text))\n else if (/s/.test(text))\n
indent.ch = " ";\n indent.ch = " ";\n
var m = text.match(/\\d+/);\n var m = text.match(/\\d+/);\n
if (m)\n if (m)\n
indent.length = parseInt(m[0]);\n indent.length = parseInt(m[0], 10);\n
return indent;\n return indent;\n
};\n };\n
\n \n
...@@ -198,7 +200,7 @@ exports.$parseArg = function(arg) {\n ...@@ -198,7 +200,7 @@ exports.$parseArg = function(arg) {\n
if (typeof arg.text == "string")\n if (typeof arg.text == "string")\n
return exports.$parseStringArg(arg.text);\n return exports.$parseStringArg(arg.text);\n
return arg;\n return arg;\n
}\n };\n
\n \n
exports.commands = [{\n exports.commands = [{\n
name: "detectIndentation",\n name: "detectIndentation",\n
...@@ -214,7 +216,7 @@ exports.commands = [{\n ...@@ -214,7 +216,7 @@ exports.commands = [{\n
name: "convertIndentation",\n name: "convertIndentation",\n
exec: function(editor, arg) {\n exec: function(editor, arg) {\n
var indent = exports.$parseArg(arg);\n var indent = exports.$parseArg(arg);\n
exports.convertIndentation(editor.session, arg.ch, arg.length);\n exports.convertIndentation(editor.session, indent.ch, indent.length);\n
}\n }\n
}, {\n }, {\n
name: "setIndentation",\n name: "setIndentation",\n
...@@ -223,7 +225,7 @@ exports.commands = [{\n ...@@ -223,7 +225,7 @@ exports.commands = [{\n
indent.length && editor.session.setTabSize(indent.length);\n indent.length && editor.session.setTabSize(indent.length);\n
indent.ch && editor.session.setUseSoftTabs(indent.ch == " ");\n indent.ch && editor.session.setUseSoftTabs(indent.ch == " ");\n
}\n }\n
}]\n }];\n
\n \n
});\n });\n
...@@ -236,7 +238,7 @@ exports.commands = [{\n ...@@ -236,7 +238,7 @@ exports.commands = [{\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>6632</int> </value> <value> <int>6693</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155554.27</string> </value> <value> <string>ts83646622.54</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -95,7 +95,7 @@ exports.handler.attach = function(editor) {\n ...@@ -95,7 +95,7 @@ exports.handler.attach = function(editor) {\n
background-color: rgba(0,250,0,0.9);\\\n background-color: rgba(0,250,0,0.9);\\\n
opacity: 0.5;\\\n opacity: 0.5;\\\n
}\\\n }\\\n
.emacs-mode .ace_cursor.ace_hidden{\\\n .emacs-mode .ace_hidden-cursors .ace_cursor{\\\n
opacity: 1;\\\n opacity: 1;\\\n
background-color: transparent;\\\n background-color: transparent;\\\n
}\\\n }\\\n
...@@ -219,7 +219,7 @@ exports.handler.bindKey = function(key, command) {\n ...@@ -219,7 +219,7 @@ exports.handler.bindKey = function(key, command) {\n
if (!key)\n if (!key)\n
return;\n return;\n
\n \n
var ckb = this.commmandKeyBinding;\n var ckb = this.commandKeyBinding;\n
key.split("|").forEach(function(keyPart) {\n key.split("|").forEach(function(keyPart) {\n
keyPart = keyPart.toLowerCase();\n keyPart = keyPart.toLowerCase();\n
ckb[keyPart] = command;\n ckb[keyPart] = command;\n
...@@ -260,7 +260,7 @@ exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {\n ...@@ -260,7 +260,7 @@ exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {\n
data.universalArgument = false;\n data.universalArgument = false;\n
if (modifier) key = modifier + key;\n if (modifier) key = modifier + key;\n
if (data.keyChain) key = data.keyChain += " " + key;\n if (data.keyChain) key = data.keyChain += " " + key;\n
var command = this.commmandKeyBinding[key];\n var command = this.commandKeyBinding[key];\n
data.keyChain = command == "null" ? key : "";\n data.keyChain = command == "null" ? key : "";\n
if (!command) return undefined;\n if (!command) return undefined;\n
if (command === "null") return {command: "null"};\n if (command === "null") return {command: "null"};\n
...@@ -1090,7 +1090,7 @@ exports.Occur = Occur;\n ...@@ -1090,7 +1090,7 @@ exports.Occur = Occur;\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>36738</int> </value> <value> <int>36745</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155554.39</string> </value> <value> <string>ts83646622.53</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -99,6 +99,38 @@ exports.handler = {\n ...@@ -99,6 +99,38 @@ exports.handler = {\n
data.lastEvent = "keypress";\n data.lastEvent = "keypress";\n
}\n }\n
},\n },\n
updateMacCompositionHandlers: function(editor, enable) {\n
var onCompositionUpdateOverride = function(text) {\n
if (util.currentMode !== "insert") {\n
var el = this.textInput.getElement();\n
el.blur();\n
el.focus();\n
el.value = text;\n
} else {\n
this.onCompositionUpdateOrig(text);\n
}\n
};\n
var onCompositionStartOverride = function(text) {\n
if (util.currentMode === "insert") { \n
this.onCompositionStartOrig(text);\n
}\n
}\n
if (enable) {\n
if (!editor.onCompositionUpdateOrig) {\n
editor.onCompositionUpdateOrig = editor.onCompositionUpdate;\n
editor.onCompositionUpdate = onCompositionUpdateOverride;\n
editor.onCompositionStartOrig = editor.onCompositionStart;\n
editor.onCompositionStart = onCompositionStartOverride;\n
}\n
} else {\n
if (editor.onCompositionUpdateOrig) {\n
editor.onCompositionUpdate = editor.onCompositionUpdateOrig;\n
editor.onCompositionUpdateOrig = null;\n
editor.onCompositionStart = editor.onCompositionStartOrig;\n
editor.onCompositionStartOrig = null;\n
}\n
}\n
},\n
\n \n
handleKeyboard: function(data, hashId, key, keyCode, e) {\n handleKeyboard: function(data, hashId, key, keyCode, e) {\n
if (hashId != 0 && (key == "" || key == "\\x00"))\n if (hashId != 0 && (key == "" || key == "\\x00"))\n
...@@ -150,12 +182,15 @@ exports.handler = {\n ...@@ -150,12 +182,15 @@ exports.handler = {\n
if (util.currentMode !== "insert")\n if (util.currentMode !== "insert")\n
cmds.coreCommands.stop.exec(editor);\n cmds.coreCommands.stop.exec(editor);\n
editor.$vimModeHandler = this;\n editor.$vimModeHandler = this;\n
\n
this.updateMacCompositionHandlers(editor, true);\n
},\n },\n
\n \n
detach: function(editor) {\n detach: function(editor) {\n
editor.removeListener("click", exports.onCursorMove);\n editor.removeListener("click", exports.onCursorMove);\n
util.noMode(editor);\n util.noMode(editor);\n
util.currentMode = "normal";\n util.currentMode = "normal";\n
this.updateMacCompositionHandlers(editor, false);\n
},\n },\n
\n \n
actions: cmds.actions,\n actions: cmds.actions,\n
...@@ -231,6 +266,18 @@ var actions = exports.actions = {\n ...@@ -231,6 +266,18 @@ var actions = exports.actions = {\n
case "b":\n case "b":\n
editor.renderer.alignCursor(null, 1);\n editor.renderer.alignCursor(null, 1);\n
break;\n break;\n
case "c":\n
editor.session.onFoldWidgetClick(range.start.row, {domEvent:{target :{}}});\n
break;\n
case "o":\n
editor.session.onFoldWidgetClick(range.start.row, {domEvent:{target :{}}});\n
break;\n
case "C":\n
editor.session.foldAll();\n
break;\n
case "O":\n
editor.session.unfold();\n
break;\n
}\n }\n
}\n }\n
},\n },\n
...@@ -1744,7 +1791,7 @@ module.exports = {\n ...@@ -1744,7 +1791,7 @@ module.exports = {\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>55892</int> </value> <value> <int>57858</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<dictionary> <dictionary>
<item> <item>
<key> <string>_EtagSupport__etag</string> </key> <key> <string>_EtagSupport__etag</string> </key>
<value> <string>ts77155554.49</string> </value> <value> <string>ts83646622.79</string> </value>
</item> </item>
<item> <item>
<key> <string>__name__</string> </key> <key> <string>__name__</string> </key>
...@@ -63,7 +63,7 @@ var TextMode = require("./text").Mode;\n ...@@ -63,7 +63,7 @@ var TextMode = require("./text").Mode;\n
var oop = require("../lib/oop");\n var oop = require("../lib/oop");\n
\n \n
function Mode() {\n function Mode() {\n
this.$tokenizer = new Tokenizer(new Rules().getRules());\n this.HighlightRules = Rules;\n
this.foldingRules = new FoldMode();\n this.foldingRules = new FoldMode();\n
}\n }\n
\n \n
...@@ -292,7 +292,7 @@ oop.inherits(FoldMode, BaseFoldMode);\n ...@@ -292,7 +292,7 @@ oop.inherits(FoldMode, BaseFoldMode);\n
</item> </item>
<item> <item>
<key> <string>size</string> </key> <key> <string>size</string> </key>
<value> <int>11346</int> </value> <value> <int>11318</int> </value>
</item> </item>
<item> <item>
<key> <string>title</string> </key> <key> <string>title</string> </key>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment