103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
<!doctype html>
 | 
						|
 | 
						|
<title>CodeMirror: VB.NET mode</title>
 | 
						|
<meta charset="utf-8"/>
 | 
						|
<link rel=stylesheet href="../../doc/docs.css">
 | 
						|
 | 
						|
<link rel="stylesheet" href="../../lib/codemirror.css">
 | 
						|
<link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css">
 | 
						|
<script src="../../lib/codemirror.js"></script>
 | 
						|
<script src="vb.js"></script>
 | 
						|
<script type="text/javascript" src="../../addon/runmode/runmode.js"></script>
 | 
						|
<style>
 | 
						|
      .CodeMirror {border: 1px solid #aaa; height:210px; height: auto;}
 | 
						|
      .CodeMirror-scroll { overflow-x: auto; overflow-y: hidden;}
 | 
						|
      .CodeMirror pre { font-family: Inconsolata; font-size: 14px}
 | 
						|
    </style>
 | 
						|
<div id=nav>
 | 
						|
  <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
 | 
						|
 | 
						|
  <ul>
 | 
						|
    <li><a href="../../index.html">Home</a>
 | 
						|
    <li><a href="../../doc/manual.html">Manual</a>
 | 
						|
    <li><a href="https://github.com/codemirror/codemirror">Code</a>
 | 
						|
  </ul>
 | 
						|
  <ul>
 | 
						|
    <li><a href="../index.html">Language modes</a>
 | 
						|
    <li><a class=active href="#">VB.NET</a>
 | 
						|
  </ul>
 | 
						|
</div>
 | 
						|
 | 
						|
<article>
 | 
						|
<h2>VB.NET mode</h2>
 | 
						|
 | 
						|
<script type="text/javascript">
 | 
						|
function test(golden, text) {
 | 
						|
  var ok = true;
 | 
						|
  var i = 0;
 | 
						|
  function callback(token, style, lineNo, pos){
 | 
						|
		//console.log(String(token) + " " + String(style) + " " + String(lineNo) + " " + String(pos));
 | 
						|
    var result = [String(token), String(style)];
 | 
						|
    if (golden[i][0] != result[0] || golden[i][1] != result[1]){
 | 
						|
      return "Error, expected: " + String(golden[i]) + ", got: " + String(result);
 | 
						|
      ok = false;
 | 
						|
    }
 | 
						|
    i++;
 | 
						|
  }
 | 
						|
  CodeMirror.runMode(text, "text/x-vb",callback); 
 | 
						|
 | 
						|
  if (ok) return "Tests OK";
 | 
						|
}
 | 
						|
function testTypes() {
 | 
						|
  var golden = [['Integer','keyword'],[' ','null'],['Float','keyword']]
 | 
						|
  var text =  "Integer Float";
 | 
						|
  return test(golden,text);
 | 
						|
}
 | 
						|
function testIf(){
 | 
						|
  var golden = [['If','keyword'],[' ','null'],['True','keyword'],[' ','null'],['End','keyword'],[' ','null'],['If','keyword']];
 | 
						|
  var text = 'If True End If';
 | 
						|
  return test(golden, text);
 | 
						|
}
 | 
						|
function testDecl(){
 | 
						|
   var golden = [['Dim','keyword'],[' ','null'],['x','variable'],[' ','null'],['as','keyword'],[' ','null'],['Integer','keyword']];
 | 
						|
   var text = 'Dim x as Integer';
 | 
						|
   return test(golden, text);
 | 
						|
}
 | 
						|
function testAll(){
 | 
						|
  var result = "";
 | 
						|
 | 
						|
  result += testTypes() + "\n";
 | 
						|
  result += testIf() + "\n";
 | 
						|
  result += testDecl() + "\n";
 | 
						|
  return result;
 | 
						|
 | 
						|
}
 | 
						|
function initText(editor) {
 | 
						|
  var content = 'Class rocket\nPrivate quality as Double\nPublic Sub launch() as String\nif quality > 0.8\nlaunch = "Successful"\nElse\nlaunch = "Failed"\nEnd If\nEnd sub\nEnd class\n';
 | 
						|
  editor.setValue(content);
 | 
						|
  for (var i =0; i< editor.lineCount(); i++) editor.indentLine(i);
 | 
						|
}
 | 
						|
function init() {
 | 
						|
    editor = CodeMirror.fromTextArea(document.getElementById("solution"), {
 | 
						|
        lineNumbers: true,
 | 
						|
        mode: "text/x-vb",
 | 
						|
        readOnly: false
 | 
						|
    });
 | 
						|
    runTest();
 | 
						|
}
 | 
						|
function runTest() {
 | 
						|
	document.getElementById('testresult').innerHTML = testAll();
 | 
						|
  initText(editor);
 | 
						|
	
 | 
						|
}
 | 
						|
document.body.onload = init;
 | 
						|
</script>
 | 
						|
 | 
						|
  <div id="edit">
 | 
						|
  <textarea style="width:95%;height:200px;padding:5px;" name="solution" id="solution" ></textarea>
 | 
						|
  </div>
 | 
						|
  <pre id="testresult"></pre>
 | 
						|
  <p>MIME type defined: <code>text/x-vb</code>.</p>
 | 
						|
 | 
						|
</article>
 |