mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-12-27 21:11:52 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
98 lines
2.9 KiB
JavaScript
98 lines
2.9 KiB
JavaScript
// CodeMirror, copyright (c) by Marijn Haverbeke and others
|
|
// Distributed under an MIT license: http://codemirror.net/LICENSE
|
|
|
|
(function() {
|
|
var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "haml");
|
|
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
|
|
|
|
// Requires at least one media query
|
|
MT("elementName",
|
|
"[tag %h1] Hey There");
|
|
|
|
MT("oneElementPerLine",
|
|
"[tag %h1] Hey There %h2");
|
|
|
|
MT("idSelector",
|
|
"[tag %h1][attribute #test] Hey There");
|
|
|
|
MT("classSelector",
|
|
"[tag %h1][attribute .hello] Hey There");
|
|
|
|
MT("docType",
|
|
"[tag !!! XML]");
|
|
|
|
MT("comment",
|
|
"[comment / Hello WORLD]");
|
|
|
|
MT("notComment",
|
|
"[tag %h1] This is not a / comment ");
|
|
|
|
MT("attributes",
|
|
"[tag %a]([variable title][operator =][string \"test\"]){[atom :title] [operator =>] [string \"test\"]}");
|
|
|
|
MT("htmlCode",
|
|
"[tag&bracket <][tag h1][tag&bracket >]Title[tag&bracket </][tag h1][tag&bracket >]");
|
|
|
|
MT("rubyBlock",
|
|
"[operator =][variable-2 @item]");
|
|
|
|
MT("selectorRubyBlock",
|
|
"[tag %a.selector=] [variable-2 @item]");
|
|
|
|
MT("nestedRubyBlock",
|
|
"[tag %a]",
|
|
" [operator =][variable puts] [string \"test\"]");
|
|
|
|
MT("multilinePlaintext",
|
|
"[tag %p]",
|
|
" Hello,",
|
|
" World");
|
|
|
|
MT("multilineRuby",
|
|
"[tag %p]",
|
|
" [comment -# this is a comment]",
|
|
" [comment and this is a comment too]",
|
|
" Date/Time",
|
|
" [operator -] [variable now] [operator =] [tag DateTime][operator .][property now]",
|
|
" [tag %strong=] [variable now]",
|
|
" [operator -] [keyword if] [variable now] [operator >] [tag DateTime][operator .][property parse]([string \"December 31, 2006\"])",
|
|
" [operator =][string \"Happy\"]",
|
|
" [operator =][string \"Belated\"]",
|
|
" [operator =][string \"Birthday\"]");
|
|
|
|
MT("multilineComment",
|
|
"[comment /]",
|
|
" [comment Multiline]",
|
|
" [comment Comment]");
|
|
|
|
MT("hamlComment",
|
|
"[comment -# this is a comment]");
|
|
|
|
MT("multilineHamlComment",
|
|
"[comment -# this is a comment]",
|
|
" [comment and this is a comment too]");
|
|
|
|
MT("multilineHTMLComment",
|
|
"[comment <!--]",
|
|
" [comment what a comment]",
|
|
" [comment -->]");
|
|
|
|
MT("hamlAfterRubyTag",
|
|
"[attribute .block]",
|
|
" [tag %strong=] [variable now]",
|
|
" [attribute .test]",
|
|
" [operator =][variable now]",
|
|
" [attribute .right]");
|
|
|
|
MT("stretchedRuby",
|
|
"[operator =] [variable puts] [string \"Hello\"],",
|
|
" [string \"World\"]");
|
|
|
|
MT("interpolationInHashAttribute",
|
|
//"[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test");
|
|
"[tag %div]{[atom :id] [operator =>] [string \"#{][variable test][string }_#{][variable ting][string }\"]} test");
|
|
|
|
MT("interpolationInHTMLAttribute",
|
|
"[tag %div]([variable title][operator =][string \"#{][variable test][string }_#{][variable ting]()[string }\"]) Test");
|
|
})();
|