示例#1
0
 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);
     }
 }
示例#2
0
        //
        // 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;
            }
        }
示例#3
0
        //
        // 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);
        }
示例#4
0
        //
        // CodeTextBox events
        //

        private void codeTextBox_SelectionChangedDelayed(object sender, EventArgs e)
        {
            HighlightSyntax.SelectSameWords(codeTextBox);
        }
示例#5
0
 private void compilerOutput_TextChanged(object sender, TextChangedEventArgs e)
 {
     HighlightSyntax.HighlightCompilerOutput(e.ChangedRange);
 }