Blame view

backend/makest/js/plugins/codemirror/mode/shell/test.js 1.73 KB
d1f8bd40   Alexey Boroda   first commit
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  // CodeMirror, copyright (c) by Marijn Haverbeke and others
  // Distributed under an MIT license: http://codemirror.net/LICENSE
  
  (function() {
    var mode = CodeMirror.getMode({}, "shell");
    function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
  
    MT("var",
       "text [def $var] text");
    MT("varBraces",
       "text[def ${var}]text");
    MT("varVar",
       "text [def $a$b] text");
    MT("varBracesVarBraces",
       "text[def ${a}${b}]text");
  
    MT("singleQuotedVar",
       "[string 'text $var text']");
    MT("singleQuotedVarBraces",
       "[string 'text ${var} text']");
  
    MT("doubleQuotedVar",
       '[string "text ][def $var][string  text"]');
    MT("doubleQuotedVarBraces",
       '[string "text][def ${var}][string text"]');
    MT("doubleQuotedVarPunct",
       '[string "text ][def $@][string  text"]');
    MT("doubleQuotedVarVar",
       '[string "][def $a$b][string "]');
    MT("doubleQuotedVarBracesVarBraces",
       '[string "][def ${a}${b}][string "]');
  
    MT("notAString",
       "text\\'text");
    MT("escapes",
       "outside\\'\\\"\\`\\\\[string \"inside\\`\\'\\\"\\\\`\\$notAVar\"]outside\\$\\(notASubShell\\)");
  
    MT("subshell",
       "[builtin echo] [quote $(whoami)] s log, stardate [quote `date`].");
    MT("doubleQuotedSubshell",
       "[builtin echo] [string \"][quote $(whoami)][string 's log, stardate `date`.\"]");
  
    MT("hashbang",
       "[meta #!/bin/bash]");
    MT("comment",
       "text [comment # Blurb]");
  
    MT("numbers",
       "[number 0] [number 1] [number 2]");
    MT("keywords",
       "[keyword while] [atom true]; [keyword do]",
       "  [builtin sleep] [number 3]",
       "[keyword done]");
    MT("options",
       "[builtin ls] [attribute -l] [attribute --human-readable]");
    MT("operator",
       "[def var][operator =]value");
  })();