Table of Contents

Class CPlusPlusParserEmbedded

Namespace
Alternet.Syntax.Parsers.Lsp.Clangd.Embedded
Assembly
Alternet.Syntax.Parsers.Clangd.Embedded.v9.dll

Represents a class that performs syntax and lexical analysis of specified C++ code text.

[ToolboxBitmap(typeof(CPlusPlusParserEmbedded), "Images.CppParserEmbedded.Icon.bmp")]
public class CPlusPlusParserEmbedded : CPlusPlusParser, IComponent, IDisposable, ISyntaxParser, IParser, ILexer, INotify, IUpdate, IImport, ILspDocumentProvider
Inheritance
CPlusPlusParserEmbedded
Implements

Examples

Here is how to declare a CPlusPlusParserEmbedded and assign it to the edit control from the C# code:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        var parser = new Alternet.Syntax.Parsers.Lsp.Clangd.Embedded.CPlusPlusParserEmbedded();
        var edit = new Alternet.Editor.SyntaxEdit();
        edit.Parent = this;
        edit.Lexer = parser;

        string fileName = "myfile.c";
        if (System.IO.File.Exists(fileName))
        {
            parser.FileName = fileName;
            edit.LoadFile(fileName);
        }
    }
}

Here is how to declare a CPlusPlusParserEmbedded and assign it to the edit control from the Visual Basic code:

Partial Public Class Form1
    Inherits Form

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim parser = New Alternet.Syntax.Parsers.Lsp.Clangd.Embedded.CPlusPlusParserEmbedded()
        Dim edit = New Alternet.Editor.SyntaxEdit()
        edit.Parent = Me
        edit.Lexer = parser
        Dim fileName As String = "myfile.c"

        If System.IO.File.Exists(fileName) Then
            parser.FileName = fileName
            edit.LoadFile(fileName)
        End If
    End Sub
End Class

Remarks

CPlusPlusParserEmbedded is a non-visual component designed to perform syntax highlighting for the C++ language. This LangServer-based parser includes all required payloads (such as the Clang language server) in the form of embedded resources to provide features like full syntax and analysis of the C++ code. When linked to the SyntaxEdit or TextEditor controls, this parser drives additional features such as code completion, code outlining, and underlying syntax errors and warnings.

Here are some of the essential features provided by the Embedded CPlusPlusParser:

  • Syntax Highlighting
  • IntelliSense (Code completion)
  • Code Outlining

Constructors

CPlusPlusParserEmbedded()

Initializes a new instance of the CPlusPlusParserEmbedded class with default settings.

CPlusPlusParserEmbedded(IContainer)

Initializes a new instance of the CPlusPlusParserEmbedded class with specified container.

Methods

CreateWorkspace()
DeployServer(IProgress<double>, string)
IsServerDeployed(string)