c9-core/plugins/c9.ide.ace/modes.js

41 wiersze
1.2 KiB
JavaScript

define(function(require, exports, module) {
var modesByName = require("ace/ext/modelist").modesByName;
modesByName.javascript.extensions += "|run|build|outline";
var primaryModes = ["c_cpp", "clojure", "coffee", "csharp", "css", "dart", "golang",
"html", "jade", "java", "javascript", "json", "less", "lua", "perl", "php", "python",
"ruby", "scala", "scss", "sh", "stylus", "sql", "text", "typescript", "xml", "xquery",
"yaml"];
var hiddenModes = ["text", "snippets"];
var fileExtensions = Object.create(null);
var modesByCaption = Object.create(null);
var customExtensions = Object.create(null);
Object.keys(modesByName).forEach(function(name) {
var mode = modesByName[name];
modesByCaption[mode.caption] = mode;
mode.id = name;
if (primaryModes.indexOf(mode.name) != -1)
mode.order = 100000;
else if (hiddenModes.indexOf(mode.name) != -1)
mode.order = -1;
else
mode.order = 0;
mode.extensions.split("|").forEach(function(ext) {
if (!fileExtensions[ext])
fileExtensions[ext] = name;
});
});
module.exports = {
byName: modesByName,
extensions: fileExtensions,
customExtensions: customExtensions,
byCaption: modesByCaption
};
});