diff --git a/lib/ace/config.js b/lib/ace/config.js index 97a18954..605abe1e 100644 --- a/lib/ace/config.js +++ b/lib/ace/config.js @@ -190,19 +190,25 @@ var optionsProvider = { this.setOption(key, optList[key]); }, this); }, - getOptions: function(a) { - var b = {}; - Object.keys(a).forEach(function(key) { - b[key] = this.getOption(key); + getOptions: function(optionNames) { + var result = {}; + if (!optionNames) { + optionNames = Object.keys(this.$options); + } else if (!Array.isArray(optionNames)) { + result = optionNames; + optionNames = Object.keys(result); + } + optionNames.forEach(function(key) { + result[key] = this.getOption(key); }, this); - return b; + return result; }, setOption: function(name, value) { if (this["$" + name] === value) return; var opt = this.$options[name]; if (!opt) - return undefined; + return false; if (opt.forwardTo) return this[opt.forwardTo] && this[opt.forwardTo].setOption(name, value); @@ -214,7 +220,7 @@ var optionsProvider = { getOption: function(name) { var opt = this.$options[name]; if (!opt) - return undefined; + return false; if (opt.forwardTo) return this[opt.forwardTo] && this[opt.forwardTo].getOption(name); return opt && opt.get ? opt.get.call(this) : this["$" + name]; diff --git a/lib/ace/ext/modelist.js b/lib/ace/ext/modelist.js index 536d9430..0a5363fb 100644 --- a/lib/ace/ext/modelist.js +++ b/lib/ace/ext/modelist.js @@ -90,7 +90,7 @@ var supportedModes = { Makefile: ["^GNUmakefile|^makefile|^Makefile|^OCamlMakefile|make"], Markdown: ["md|markdown"], MUSHCode: ["mc|mush"], - ObjectiveC: ["m"], + ObjectiveC: ["m|mm"], OCaml: ["ml|mli"], Pascal: ["pas|p"], Perl: ["pl|pm"],