@sourceacademy/autocomplete
    Preparing search index...

    Interface SyntaxHighlightData

    The SyntaxHighlightData interface defines the structure of the syntax highlighting information that the runner plugin sends to the web plugin.
    This data includes rules for tokenizing code, folding rules for code blocks, and other information necessary for the web plugin to perform syntax highlighting in the editor.\

    Right now, the SyntaxHighlightData uses functions from other pre-existing Ace Editor modes (the hookFrom properties) to determine how to perform syntax highlighting, folding, indentation, and outdenting.
    This design allows the plugin to use existing Ace Editor modes, at the cost of some flexibility. If more flexibility is needed in the future, it should be extended.

    interface SyntaxHighlightData {
        autoOutdent: { hookFrom: string };
        foldingRules: { args: string[]; hookFrom: string };
        highlightRules: AceRules;
        id: string;
        indents: { hookFrom: string };
        lineCommentStart: string;
        outdents: { hookFrom: string };
        pairQuotesAfter: Record<string, RegExp>;
        snippetFileId?: string;
    }
    Index

    Properties

    autoOutdent: { hookFrom: string }

    The auto-outdentation rules

    foldingRules: { args: string[]; hookFrom: string }
    highlightRules: AceRules
    id: string

    The unique identifier for the syntax highlighting rules (ensure it doesn't conflict with other syntax highlighting rules, such as java or python)

    indents: { hookFrom: string }

    The indentation rules

    lineCommentStart: string

    The start of a line comment

    outdents: { hookFrom: string }

    The outdentation rules

    pairQuotesAfter: Record<string, RegExp>

    The regular expressions which have to precede a quote for pairing to occur

    snippetFileId?: string

    The unique identifier for the snippet file associated with the syntax highlighting rules