private void fctb1_AutoIndentNeeded(object sender, AutoIndentEventArgs e) { //auto index <-- also enables format option if (codeTextBox.Language == Language.Custom) { //currently indent indifferently for all languages // <-- need some extra work for individuals HighlightSyntax.AutoIndent(sender, e); } }
// // Set Highlight when needed // private void HighlightCodebox(Range range) { //highlight built in languages switch (codeTextBox.Language) { case Language.CSharp: codeTextBox.SyntaxHighlighter.CSharpSyntaxHighlight(range); return; case Language.HTML: codeTextBox.SyntaxHighlighter.HTMLSyntaxHighlight(range); return; case Language.JS: codeTextBox.SyntaxHighlighter.JScriptSyntaxHighlight(range); return; case Language.Lua: codeTextBox.SyntaxHighlighter.LuaSyntaxHighlight(range); return; case Language.PHP: codeTextBox.SyntaxHighlighter.PHPSyntaxHighlight(range); return; case Language.SQL: codeTextBox.SyntaxHighlighter.SQLSyntaxHighlight(range); return; case Language.VB: codeTextBox.SyntaxHighlighter.VBSyntaxHighlight(range); return; case Language.XML: codeTextBox.SyntaxHighlighter.XMLSyntaxHighlight(range); return; } //highlight custom languages switch (CustomLang) { case Structures.Language.C: case Structures.Language.CPP: case Structures.Language.CPP11: HighlightSyntax.HighlightCPPSyntax(range); return; case Structures.Language.Java: HighlightSyntax.HighlightJavaSyntax(range); return; } }
// // Set code error marker // private bool SetCodeError(int line, bool focus = false) { //get range from line-number int len = compilerOutput.GetLineLength(line); Place start = new Place(0, line); //start of the line Place stop = new Place(len, line); //end of the line Range range = compilerOutput.GetRange(start, stop); //process if valid language is selected if (CustomLang == Structures.Language.C || CustomLang == Structures.Language.CPP) { //process c or c++ error message return(HighlightSyntax.SetCPPCodeError(codeTextBox, range, focus)); } else if (CustomLang == Structures.Language.Java) { //process java error message return(HighlightSyntax.SetJavaCodeError(codeTextBox, range, focus)); } return(false); }
// // CodeTextBox events // private void codeTextBox_SelectionChangedDelayed(object sender, EventArgs e) { HighlightSyntax.SelectSameWords(codeTextBox); }
private void compilerOutput_TextChanged(object sender, TextChangedEventArgs e) { HighlightSyntax.HighlightCompilerOutput(e.ChangedRange); }