-
Notifications
You must be signed in to change notification settings - Fork 2
/
syntax.js
35 lines (30 loc) · 1.31 KB
/
syntax.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
/*global define, brackets */
define(function (require, exports, module) {
"use strict";
var CodeMirror = brackets.getModule("thirdparty/CodeMirror/lib/codemirror"),
LanguageManager = brackets.getModule("language/LanguageManager");
CodeMirror.defineSimpleMode("mermaid", {
start: [
{regex: /%%.*/, token: "comment"},
{regex: /^\w*(graph|subgraph|sequenceDiagram|participant|Note|loop|end|alt|opt|else|gantt|title|section|dateFormat|click|classDef|class|TB|LR|default|left of|right of|over)/, token: "keyword"},
{regex: /".*"/, token: "string"},
{regex: /\[.*\]/, token: "string"},
{regex: /\(.*\)/, token: "string"},
{regex: /\{.*\}/, token: "string"},
{regex: />.*\]/, token: "string"},
{regex: /\|.*\|/, token: "string"},
{regex: /#[0-9a-fxA-FX]+/, token: "number"},
{regex: /[\-\.=<>:]+/, token: "atom"}
],
meta: {
lineComment: "%%"
}
});
LanguageManager.defineLanguage("mermaid", {
name: "Mermaid UML",
mode: "mermaid",
fileExtensions: ["mermaid", "uml"],
lineComment: ['%%']
});
});