# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.

package highlight;
use base qw(Exporter);
use base qw(DynaLoader);
package highlightc;
bootstrap highlight;
package highlight;
@EXPORT = qw();

# ---------- BASE METHODS -------------

package highlight;

sub TIEHASH {
    my ($classname,$obj) = @_;
    return bless $obj, $classname;
}

sub CLEAR { }

sub FIRSTKEY { }

sub NEXTKEY { }

sub FETCH {
    my ($self,$field) = @_;
    my $member_func = "swig_${field}_get";
    $self->$member_func();
}

sub STORE {
    my ($self,$field,$newval) = @_;
    my $member_func = "swig_${field}_set";
    $self->$member_func($newval);
}

sub this {
    my $ptr = shift;
    return tied(%$ptr);
}


# ------- FUNCTION WRAPPERS --------

package highlight;


############# Class : highlight::DataDir ##############

package highlight::DataDir;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( highlight );
%OWNER = ();
%ITERATORS = ();
*swig_assocByExtension_get = *highlightc::DataDir_assocByExtension_get;
*swig_assocByExtension_set = *highlightc::DataDir_assocByExtension_set;
*swig_assocByFilename_get = *highlightc::DataDir_assocByFilename_get;
*swig_assocByFilename_set = *highlightc::DataDir_assocByFilename_set;
*swig_assocByShebang_get = *highlightc::DataDir_assocByShebang_get;
*swig_assocByShebang_set = *highlightc::DataDir_assocByShebang_set;
*swig_encodingHint_get = *highlightc::DataDir_encodingHint_get;
*swig_encodingHint_set = *highlightc::DataDir_encodingHint_set;
*LSB_DATA_DIR = *highlightc::DataDir_LSB_DATA_DIR;
*LSB_CFG_DIR = *highlightc::DataDir_LSB_CFG_DIR;
*LSB_DOC_DIR = *highlightc::DataDir_LSB_DOC_DIR;
*initSearchDirectories = *highlightc::DataDir_initSearchDirectories;
*printConfigPaths = *highlightc::DataDir_printConfigPaths;
*getLangPath = *highlightc::DataDir_getLangPath;
*getSystemDataPath = *highlightc::DataDir_getSystemDataPath;
*getThemePath = *highlightc::DataDir_getThemePath;
*getFiletypesConfPath = *highlightc::DataDir_getFiletypesConfPath;
*getPluginPath = *highlightc::DataDir_getPluginPath;
*getI18nDir = *highlightc::DataDir_getI18nDir;
*getExtDir = *highlightc::DataDir_getExtDir;
*getDocDir = *highlightc::DataDir_getDocDir;
*getEncodingHint = *highlightc::DataDir_getEncodingHint;
*getFileSuffix = *highlightc::DataDir_getFileSuffix;
*guessFileType = *highlightc::DataDir_guessFileType;
*loadFileTypeConfig = *highlightc::DataDir_loadFileTypeConfig;
*loadLSPConfig = *highlightc::DataDir_loadLSPConfig;
*profileExists = *highlightc::DataDir_profileExists;
*getProfile = *highlightc::DataDir_getProfile;
sub new {
    my $pkg = shift;
    my $self = highlightc::new_DataDir(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        highlightc::delete_DataDir($self);
        delete $OWNER{$self};
    }
}

sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : highlight::SyntaxReader ##############

package highlight::SyntaxReader;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( highlight );
%OWNER = ();
%ITERATORS = ();
sub new {
    my $pkg = shift;
    my $self = highlightc::new_SyntaxReader(@_);
    bless $self, $pkg if defined($self);
}

sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        highlightc::delete_SyntaxReader($self);
        delete $OWNER{$self};
    }
}

*load = *highlightc::SyntaxReader_load;
*needsReload = *highlightc::SyntaxReader_needsReload;
*getFailedRegex = *highlightc::SyntaxReader_getFailedRegex;
*getLuaErrorText = *highlightc::SyntaxReader_getLuaErrorText;
*getRawStringPrefix = *highlightc::SyntaxReader_getRawStringPrefix;
*getContinuationChar = *highlightc::SyntaxReader_getContinuationChar;
*highlightingEnabled = *highlightc::SyntaxReader_highlightingEnabled;
*isIgnoreCase = *highlightc::SyntaxReader_isIgnoreCase;
*isKeyword = *highlightc::SyntaxReader_isKeyword;
*getKeywordListGroup = *highlightc::SyntaxReader_getKeywordListGroup;
*allowNestedMLComments = *highlightc::SyntaxReader_allowNestedMLComments;
*highlightingDisabled = *highlightc::SyntaxReader_highlightingDisabled;
*enableReformatting = *highlightc::SyntaxReader_enableReformatting;
*assertDelimEqualLength = *highlightc::SyntaxReader_assertDelimEqualLength;
*getKeywords = *highlightc::SyntaxReader_getKeywords;
*getKeywordClasses = *highlightc::SyntaxReader_getKeywordClasses;
*getRegexElements = *highlightc::SyntaxReader_getRegexElements;
*getPersistentSnippets = *highlightc::SyntaxReader_getPersistentSnippets;
*getPersistentSnippetsNum = *highlightc::SyntaxReader_getPersistentSnippetsNum;
*getOverrideStyleAttributes = *highlightc::SyntaxReader_getOverrideStyleAttributes;
*getDescription = *highlightc::SyntaxReader_getDescription;
*getCategoryDescription = *highlightc::SyntaxReader_getCategoryDescription;
*getHeaderInjection = *highlightc::SyntaxReader_getHeaderInjection;
*getFooterInjection = *highlightc::SyntaxReader_getFooterInjection;
*delimiterIsDistinct = *highlightc::SyntaxReader_delimiterIsDistinct;
*delimiterIsRawString = *highlightc::SyntaxReader_delimiterIsRawString;
*getOpenDelimiterID = *highlightc::SyntaxReader_getOpenDelimiterID;
*matchesOpenDelimiter = *highlightc::SyntaxReader_matchesOpenDelimiter;
*restoreLangEndDelim = *highlightc::SyntaxReader_restoreLangEndDelim;
*allowsInnerSection = *highlightc::SyntaxReader_allowsInnerSection;
*requiresTwoPassRun = *highlightc::SyntaxReader_requiresTwoPassRun;
*requiresParamUpdate = *highlightc::SyntaxReader_requiresParamUpdate;
*getPersistentHookConditions = *highlightc::SyntaxReader_getPersistentHookConditions;
*clearPersistentSnippets = *highlightc::SyntaxReader_clearPersistentSnippets;
*getNewPath = *highlightc::SyntaxReader_getNewPath;
*getCurrentPath = *highlightc::SyntaxReader_getCurrentPath;
*getEncodingHint = *highlightc::SyntaxReader_getEncodingHint;
*getOverrideConfigVal = *highlightc::SyntaxReader_getOverrideConfigVal;
*getValidateStateChangeFct = *highlightc::SyntaxReader_getValidateStateChangeFct;
*getDecorateFct = *highlightc::SyntaxReader_getDecorateFct;
*getDecorateLineBeginFct = *highlightc::SyntaxReader_getDecorateLineBeginFct;
*getDecorateLineEndFct = *highlightc::SyntaxReader_getDecorateLineEndFct;
*getLuaState = *highlightc::SyntaxReader_getLuaState;
*addUserChunk = *highlightc::SyntaxReader_addUserChunk;
*setInputFileName = *highlightc::SyntaxReader_setInputFileName;
*getInputFileName = *highlightc::SyntaxReader_getInputFileName;
*addPersistentKeyword = *highlightc::SyntaxReader_addPersistentKeyword;
*addPersistentStateRange = *highlightc::SyntaxReader_addPersistentStateRange;
*initLuaState = *highlightc::SyntaxReader_initLuaState;
*generateNewKWClass = *highlightc::SyntaxReader_generateNewKWClass;
*getKeywordCount = *highlightc::SyntaxReader_getKeywordCount;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


############# Class : highlight::CodeGenerator ##############

package highlight::CodeGenerator;
use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS);
@ISA = qw( highlight );
%OWNER = ();
%ITERATORS = ();
sub DESTROY {
    return unless $_[0]->isa('HASH');
    my $self = tied(%{$_[0]});
    return unless defined $self;
    delete $ITERATORS{$self};
    if (exists $OWNER{$self}) {
        highlightc::delete_CodeGenerator($self);
        delete $OWNER{$self};
    }
}

*getInstance = *highlightc::CodeGenerator_getInstance;
*deleteInstance = *highlightc::CodeGenerator_deleteInstance;
*initTheme = *highlightc::CodeGenerator_initTheme;
*initLanguageServer = *highlightc::CodeGenerator_initLanguageServer;
*exitLanguageServer = *highlightc::CodeGenerator_exitLanguageServer;
*getThemeInitError = *highlightc::CodeGenerator_getThemeInitError;
*getPluginScriptError = *highlightc::CodeGenerator_getPluginScriptError;
*initIndentationScheme = *highlightc::CodeGenerator_initIndentationScheme;
*loadLanguage = *highlightc::CodeGenerator_loadLanguage;
*generateFile = *highlightc::CodeGenerator_generateFile;
*generateString = *highlightc::CodeGenerator_generateString;
*generateStringFromFile = *highlightc::CodeGenerator_generateStringFromFile;
*printExternalStyle = *highlightc::CodeGenerator_printExternalStyle;
*printPersistentState = *highlightc::CodeGenerator_printPersistentState;
*printIndexFile = *highlightc::CodeGenerator_printIndexFile;
*setPreformatting = *highlightc::CodeGenerator_setPreformatting;
*setAdditionalEOFChar = *highlightc::CodeGenerator_setAdditionalEOFChar;
*getAdditionalEOFChar = *highlightc::CodeGenerator_getAdditionalEOFChar;
*styleFound = *highlightc::CodeGenerator_styleFound;
*formattingDisabled = *highlightc::CodeGenerator_formattingDisabled;
*formattingIsPossible = *highlightc::CodeGenerator_formattingIsPossible;
*setPrintLineNumbers = *highlightc::CodeGenerator_setPrintLineNumbers;
*getPrintLineNumbers = *highlightc::CodeGenerator_getPrintLineNumbers;
*setPrintZeroes = *highlightc::CodeGenerator_setPrintZeroes;
*getPrintZeroes = *highlightc::CodeGenerator_getPrintZeroes;
*setFragmentCode = *highlightc::CodeGenerator_setFragmentCode;
*getFragmentCode = *highlightc::CodeGenerator_getFragmentCode;
*setLineNumberWidth = *highlightc::CodeGenerator_setLineNumberWidth;
*getLineNumberWidth = *highlightc::CodeGenerator_getLineNumberWidth;
*setValidateInput = *highlightc::CodeGenerator_setValidateInput;
*getValidateInput = *highlightc::CodeGenerator_getValidateInput;
*setKeepInjections = *highlightc::CodeGenerator_setKeepInjections;
*getKeepInjections = *highlightc::CodeGenerator_getKeepInjections;
*requiresTwoPassParsing = *highlightc::CodeGenerator_requiresTwoPassParsing;
*setNumberWrappedLines = *highlightc::CodeGenerator_setNumberWrappedLines;
*getNumberWrappedLines = *highlightc::CodeGenerator_getNumberWrappedLines;
*setOmitVersionComment = *highlightc::CodeGenerator_setOmitVersionComment;
*getOmitVersionComment = *highlightc::CodeGenerator_getOmitVersionComment;
*setIsolateTags = *highlightc::CodeGenerator_setIsolateTags;
*getIsolateTags = *highlightc::CodeGenerator_getIsolateTags;
*getStyleName = *highlightc::CodeGenerator_getStyleName;
*setBaseFont = *highlightc::CodeGenerator_setBaseFont;
*getBaseFont = *highlightc::CodeGenerator_getBaseFont;
*setBaseFontSize = *highlightc::CodeGenerator_setBaseFontSize;
*getBaseFontSize = *highlightc::CodeGenerator_getBaseFontSize;
*setIncludeStyle = *highlightc::CodeGenerator_setIncludeStyle;
*disableTrailingNL = *highlightc::CodeGenerator_disableTrailingNL;
*setStyleInputPath = *highlightc::CodeGenerator_setStyleInputPath;
*setStyleOutputPath = *highlightc::CodeGenerator_setStyleOutputPath;
*setEncoding = *highlightc::CodeGenerator_setEncoding;
*getStyleInputPath = *highlightc::CodeGenerator_getStyleInputPath;
*getStyleOutputPath = *highlightc::CodeGenerator_getStyleOutputPath;
*setTitle = *highlightc::CodeGenerator_setTitle;
*getTitle = *highlightc::CodeGenerator_getTitle;
*setStartingInputLine = *highlightc::CodeGenerator_setStartingInputLine;
*setMaxInputLineCnt = *highlightc::CodeGenerator_setMaxInputLineCnt;
*setFilesCnt = *highlightc::CodeGenerator_setFilesCnt;
*setKeyWordCase = *highlightc::CodeGenerator_setKeyWordCase;
*setEOLDelimiter = *highlightc::CodeGenerator_setEOLDelimiter;
*setPluginParameter = *highlightc::CodeGenerator_setPluginParameter;
*resetSyntaxReaders = *highlightc::CodeGenerator_resetSyntaxReaders;
*initPluginScript = *highlightc::CodeGenerator_initPluginScript;
*syntaxRequiresTwoPassRun = *highlightc::CodeGenerator_syntaxRequiresTwoPassRun;
*clearPersistentSnippets = *highlightc::CodeGenerator_clearPersistentSnippets;
*setStyleCaching = *highlightc::CodeGenerator_setStyleCaching;
*getSyntaxRegexError = *highlightc::CodeGenerator_getSyntaxRegexError;
*getSyntaxLuaError = *highlightc::CodeGenerator_getSyntaxLuaError;
*getSyntaxDescription = *highlightc::CodeGenerator_getSyntaxDescription;
*getSyntaxEncodingHint = *highlightc::CodeGenerator_getSyntaxEncodingHint;
*getThemeDescription = *highlightc::CodeGenerator_getThemeDescription;
*getSyntaxCatDescription = *highlightc::CodeGenerator_getSyntaxCatDescription;
*getThemeContrast = *highlightc::CodeGenerator_getThemeContrast;
*getThemeCatDescription = *highlightc::CodeGenerator_getThemeCatDescription;
*getPosTestErrors = *highlightc::CodeGenerator_getPosTestErrors;
*getSyntaxReader = *highlightc::CodeGenerator_getSyntaxReader;
*readUserStyleDef = *highlightc::CodeGenerator_readUserStyleDef;
*getStyleDefinition = *highlightc::CodeGenerator_getStyleDefinition;
*getHoverTagOpen = *highlightc::CodeGenerator_getHoverTagOpen;
*getHoverTagClose = *highlightc::CodeGenerator_getHoverTagClose;
*lsOpenDocument = *highlightc::CodeGenerator_lsOpenDocument;
*lsCloseDocument = *highlightc::CodeGenerator_lsCloseDocument;
*lsAddSemanticInfo = *highlightc::CodeGenerator_lsAddSemanticInfo;
*lsAddHoverInfo = *highlightc::CodeGenerator_lsAddHoverInfo;
*lsAddSyntaxErrorInfo = *highlightc::CodeGenerator_lsAddSyntaxErrorInfo;
*isHoverProvider = *highlightc::CodeGenerator_isHoverProvider;
*isSemanticTokensProvider = *highlightc::CodeGenerator_isSemanticTokensProvider;
*setHTMLAttachAnchors = *highlightc::CodeGenerator_setHTMLAttachAnchors;
*setHTMLOrderedList = *highlightc::CodeGenerator_setHTMLOrderedList;
*setHTMLInlineCSS = *highlightc::CodeGenerator_setHTMLInlineCSS;
*setHTMLEnclosePreTag = *highlightc::CodeGenerator_setHTMLEnclosePreTag;
*setHTMLUseNonBreakingSpace = *highlightc::CodeGenerator_setHTMLUseNonBreakingSpace;
*setHTMLAnchorPrefix = *highlightc::CodeGenerator_setHTMLAnchorPrefix;
*setHTMLClassName = *highlightc::CodeGenerator_setHTMLClassName;
*setLATEXReplaceQuotes = *highlightc::CodeGenerator_setLATEXReplaceQuotes;
*setLATEXNoShorthands = *highlightc::CodeGenerator_setLATEXNoShorthands;
*setLATEXPrettySymbols = *highlightc::CodeGenerator_setLATEXPrettySymbols;
*setLATEXBeamerMode = *highlightc::CodeGenerator_setLATEXBeamerMode;
*setRTFPageSize = *highlightc::CodeGenerator_setRTFPageSize;
*setRTFCharStyles = *highlightc::CodeGenerator_setRTFCharStyles;
*setRTFPageColor = *highlightc::CodeGenerator_setRTFPageColor;
*setSVGSize = *highlightc::CodeGenerator_setSVGSize;
*setESCTrueColor = *highlightc::CodeGenerator_setESCTrueColor;
*setESCCanvasPadding = *highlightc::CodeGenerator_setESCCanvasPadding;
sub DISOWN {
    my $self = shift;
    my $ptr = tied(%$self);
    delete $OWNER{$ptr};
}

sub ACQUIRE {
    my $self = shift;
    my $ptr = tied(%$self);
    $OWNER{$ptr} = 1;
}


# ------- VARIABLE STUBS --------

package highlight;

*DataDir_LSB_DATA_DIR = *highlightc::DataDir_LSB_DATA_DIR;
*DataDir_LSB_CFG_DIR = *highlightc::DataDir_LSB_CFG_DIR;
*DataDir_LSB_DOC_DIR = *highlightc::DataDir_LSB_DOC_DIR;
*STANDARD = *highlightc::STANDARD;
*STRING = *highlightc::STRING;
*NUMBER = *highlightc::NUMBER;
*SL_COMMENT = *highlightc::SL_COMMENT;
*ML_COMMENT = *highlightc::ML_COMMENT;
*ESC_CHAR = *highlightc::ESC_CHAR;
*DIRECTIVE = *highlightc::DIRECTIVE;
*DIRECTIVE_STRING = *highlightc::DIRECTIVE_STRING;
*LINENUMBER = *highlightc::LINENUMBER;
*SYMBOL = *highlightc::SYMBOL;
*STRING_INTERPOLATION = *highlightc::STRING_INTERPOLATION;
*SYNTAX_ERROR = *highlightc::SYNTAX_ERROR;
*SYNTAX_ERROR_MSG = *highlightc::SYNTAX_ERROR_MSG;
*KEYWORD = *highlightc::KEYWORD;
*STRING_END = *highlightc::STRING_END;
*NUMBER_END = *highlightc::NUMBER_END;
*SL_COMMENT_END = *highlightc::SL_COMMENT_END;
*ML_COMMENT_END = *highlightc::ML_COMMENT_END;
*ESC_CHAR_END = *highlightc::ESC_CHAR_END;
*DIRECTIVE_END = *highlightc::DIRECTIVE_END;
*SYMBOL_END = *highlightc::SYMBOL_END;
*STRING_INTERPOLATION_END = *highlightc::STRING_INTERPOLATION_END;
*KEYWORD_END = *highlightc::KEYWORD_END;
*IDENTIFIER_BEGIN = *highlightc::IDENTIFIER_BEGIN;
*IDENTIFIER_END = *highlightc::IDENTIFIER_END;
*EMBEDDED_CODE_BEGIN = *highlightc::EMBEDDED_CODE_BEGIN;
*EMBEDDED_CODE_END = *highlightc::EMBEDDED_CODE_END;
*_UNKNOWN = *highlightc::_UNKNOWN;
*_REJECT = *highlightc::_REJECT;
*_EOL = *highlightc::_EOL;
*_EOF = *highlightc::_EOF;
*_WS = *highlightc::_WS;
*_TESTPOS = *highlightc::_TESTPOS;
*PARSE_OK = *highlightc::PARSE_OK;
*BAD_INPUT = *highlightc::BAD_INPUT;
*BAD_OUTPUT = *highlightc::BAD_OUTPUT;
*BAD_STYLE = *highlightc::BAD_STYLE;
*BAD_BINARY = *highlightc::BAD_BINARY;
*WRAP_DISABLED = *highlightc::WRAP_DISABLED;
*WRAP_SIMPLE = *highlightc::WRAP_SIMPLE;
*WRAP_DEFAULT = *highlightc::WRAP_DEFAULT;
*LOAD_OK = *highlightc::LOAD_OK;
*LOAD_FAILED = *highlightc::LOAD_FAILED;
*LOAD_FAILED_REGEX = *highlightc::LOAD_FAILED_REGEX;
*LOAD_FAILED_LUA = *highlightc::LOAD_FAILED_LUA;
*INIT_OK = *highlightc::INIT_OK;
*INIT_BAD_PIPE = *highlightc::INIT_BAD_PIPE;
*INIT_BAD_REQUEST = *highlightc::INIT_BAD_REQUEST;
*CMD_ERROR = *highlightc::CMD_ERROR;
*HTML = *highlightc::HTML;
*XHTML = *highlightc::XHTML;
*TEX = *highlightc::TEX;
*LATEX = *highlightc::LATEX;
*RTF = *highlightc::RTF;
*ESC_ANSI = *highlightc::ESC_ANSI;
*ESC_XTERM256 = *highlightc::ESC_XTERM256;
*ESC_TRUECOLOR = *highlightc::ESC_TRUECOLOR;
*SVG = *highlightc::SVG;
*BBCODE = *highlightc::BBCODE;
*PANGO = *highlightc::PANGO;
*ODTFLAT = *highlightc::ODTFLAT;
*GLOBAL_SR_INSTANCE_NAME = *highlightc::GLOBAL_SR_INSTANCE_NAME;
1;
