mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-23 05:18:41 +00:00
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");
|
|
})();
|