File modules/editor/codemirror/mode/vue/vue.js

Last commit: Sun Dec 17 01:14:09 2017 +0100	Jan Dankert	Integration eines weiteren Code-Editors: Codemirror. Demnächst müssen wir hier mal aufräumen und andere Editoren rauswerfen.
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 // Distributed under an MIT license: http://codemirror.net/LICENSE 3 4 (function (mod) { 5 "use strict"; 6 if (typeof exports === "object" && typeof module === "object") {// CommonJS 7 mod(require("../../lib/codemirror"), 8 require("../../addon/mode/overlay"), 9 require("../xml/xml"), 10 require("../javascript/javascript"), 11 require("../coffeescript/coffeescript"), 12 require("../css/css"), 13 require("../sass/sass"), 14 require("../stylus/stylus"), 15 require("../pug/pug"), 16 require("../handlebars/handlebars")); 17 } else if (typeof define === "function" && define.amd) { // AMD 18 define(["../../lib/codemirror", 19 "../../addon/mode/overlay", 20 "../xml/xml", 21 "../javascript/javascript", 22 "../coffeescript/coffeescript", 23 "../css/css", 24 "../sass/sass", 25 "../stylus/stylus", 26 "../pug/pug", 27 "../handlebars/handlebars"], mod); 28 } else { // Plain browser env 29 mod(CodeMirror); 30 } 31 })(function (CodeMirror) { 32 var tagLanguages = { 33 script: [ 34 ["lang", /coffee(script)?/, "coffeescript"], 35 ["type", /^(?:text|application)\/(?:x-)?coffee(?:script)?$/, "coffeescript"], 36 ["lang", /^babel$/, "javascript"], 37 ["type", /^text\/babel$/, "javascript"], 38 ["type", /^text\/ecmascript-\d+$/, "javascript"] 39 ], 40 style: [ 41 ["lang", /^stylus$/i, "stylus"], 42 ["lang", /^sass$/i, "sass"], 43 ["lang", /^less$/i, "text/x-less"], 44 ["lang", /^scss$/i, "text/x-scss"], 45 ["type", /^(text\/)?(x-)?styl(us)?$/i, "stylus"], 46 ["type", /^text\/sass/i, "sass"], 47 ["type", /^(text\/)?(x-)?scss$/i, "text/x-scss"], 48 ["type", /^(text\/)?(x-)?less$/i, "text/x-less"] 49 ], 50 template: [ 51 ["lang", /^vue-template$/i, "vue"], 52 ["lang", /^pug$/i, "pug"], 53 ["lang", /^handlebars$/i, "handlebars"], 54 ["type", /^(text\/)?(x-)?pug$/i, "pug"], 55 ["type", /^text\/x-handlebars-template$/i, "handlebars"], 56 [null, null, "vue-template"] 57 ] 58 }; 59 60 CodeMirror.defineMode("vue-template", function (config, parserConfig) { 61 var mustacheOverlay = { 62 token: function (stream) { 63 if (stream.match(/^\{\{.*?\}\}/)) return "meta mustache"; 64 while (stream.next() && !stream.match("{{", false)) {} 65 return null; 66 } 67 }; 68 return CodeMirror.overlayMode(CodeMirror.getMode(config, parserConfig.backdrop || "text/html"), mustacheOverlay); 69 }); 70 71 CodeMirror.defineMode("vue", function (config) { 72 return CodeMirror.getMode(config, {name: "htmlmixed", tags: tagLanguages}); 73 }, "htmlmixed", "xml", "javascript", "coffeescript", "css", "sass", "stylus", "pug", "handlebars"); 74 75 CodeMirror.defineMIME("script/x-vue", "vue"); 76 CodeMirror.defineMIME("text/x-vue", "vue"); 77 });
Download modules/editor/codemirror/mode/vue/vue.js
History Sun, 17 Dec 2017 01:14:09 +0100 Jan Dankert Integration eines weiteren Code-Editors: Codemirror. Demnächst müssen wir hier mal aufräumen und andere Editoren rauswerfen.