Skip to content
Snippets Groups Projects
scintilla.rb 135 KiB
Newer Older
  • Learn to ignore specific revisions
  •     # Set whether additional carets will blink
        def setAdditionalCaretsBlink(additionalCaretsBlink)
          sendMessage(2567, additionalCaretsBlink, 0)
        end
    
        # Whether additional carets will blink
        def getAdditionalCaretsBlink
          sendMessage(2568, 0, 0) == 1 ? true : false
        end
    
        # Set whether additional carets are visible
        def setAdditionalCaretsVisible(additionalCaretsBlink)
          sendMessage(2608, additionalCaretsBlink, 0)
        end
    
        # Whether additional carets are visible
        def getAdditionalCaretsVisible
          sendMessage(2609, 0, 0) == 1 ? true : false
        end
    
        # How many selections are there?
        def getSelections
          sendMessage(2570, 0, 0)
        end
    
        # Clear selections to a single empty stream selection
        def clearSelections
          sendMessage(2571, 0, 0)
        end
    
        # Set a simple selection
        def setSelection(caret, anchor)
          sendMessage(2572, caret, anchor)
        end
    
        # Add a selection
        def addSelection(caret, anchor)
          sendMessage(2573, caret, anchor)
        end
    
        # Set the main selection
        def setMainSelection(selection)
          sendMessage(2574, selection, 0)
        end
    
        # Which selection is the main selection
        def getMainSelection
          sendMessage(2575, 0, 0)
        end
    
        def setSelectionNCaret(selection, pos)
          sendMessage(2576, selection, pos)
        end
        def getSelectionNCaret(selection)
          sendMessage(2577, selection, 0)
        end
        def setSelectionNAnchor(selection, posAnchor)
          sendMessage(2578, selection, posAnchor)
        end
        def getSelectionNAnchor(selection)
          sendMessage(2579, selection, 0)
        end
        def setSelectionNCaretVirtualSpace(selection, space)
          sendMessage(2580, selection, space)
        end
        def getSelectionNCaretVirtualSpace(selection)
          sendMessage(2581, selection, 0)
        end
        def setSelectionNAnchorVirtualSpace(selection, space)
          sendMessage(2582, selection, space)
        end
        def getSelectionNAnchorVirtualSpace(selection)
          sendMessage(2583, selection, 0)
        end
    
        # Sets the position that starts the selection - this becomes the anchor.
        def setSelectionNStart(selection, pos)
          sendMessage(2584, selection, pos)
        end
    
        # Returns the position at the start of the selection.
        def getSelectionNStart(selection)
          sendMessage(2585, selection, 0)
        end
    
        # Sets the position that ends the selection - this becomes the currentPosition.
        def setSelectionNEnd(selection, pos)
          sendMessage(2586, selection, pos, 0)
        end
    
        # Returns the position at the end of the selection.
        def getSelectionNEnd(selection)
          sendMessage(2587, selection, 0)
        end
    
        def setRectangularSelectionCaret(pos)
          sendMessage(2588, pos, 0)
        end
        def getRectangularSelectionCaret
          sendMessage(2589, 0, 0)
        end
        def setRectangularSelectionAnchor(posAnchor)
          sendMessage(2590, posAnchor, 0)
        end
        def getRectangularSelectionAnchor
          sendMessage(2591, 0, 0)
        end
        def setRectangularSelectionCaretVirtualSpace(space)
          sendMessage(2592, space, 0)
        end
        def getRectangularSelectionCaretVirtualSpace
          sendMessage(2593, 0, 0)
        end
        def setRectangularSelectionAnchorVirtualSpace(space)
          sendMessage(2594, space, 0)
        end
        def getRectangularSelectionAnchorVirtualSpace
          sendMessage(2595, 0, 0)
        end
    
        SCVS_NONE = 0
        SCVS_RECTANGULARSELECTION = 1
        SCVS_USERACCESSIBLE = 2
    
        def setVirtualSpaceOptions(virtualSpaceOptions)
          sendMessage(2596, virtualSpaceOptions, 0)
        end
        def getVirtualSpaceOptions
          sendMessage(2597, 0, 0)
        end
    
        # On GTK+, allow selecting the modifier key to use for mouse-based
        # rectangular selection. Often the window manager requires Alt+Mouse Drag
        # for moving windows.
        # Valid values are SCMOD_CTRL(default), SCMOD_ALT, or SCMOD_SUPER.
    
        def setRectangularSelectionModifier(modifier)
          sendMessage(2598, modifier, 0)
        end
    
        # Get the modifier key used for rectangular selection.
        def getRectangularSelectionModifier
          sendMessage(2599, 0, 0)
        end
    
        # Set the foreground colour of additional selections.
        # Must have previously called SetSelFore with non-zero first argument for this to have an effect.
        def setAdditionalSelFore(fore)
          sendMessage(2600, fore & 0xffffff, 0)
        end
    
        # Set the background colour of additional selections.
        # Must have previously called SetSelBack with non-zero first argument for this to have an effect.
        def setAdditionalSelBack(back)
          sendMessage(2601, back & 0xffffff, 0)
        end
    
        # Set the alpha of the selection.
        def setAdditionalSelAlpha(alpha)
          sendMessage(2602, alpha, 0)
        end
    
        # Get the alpha of the selection.
        def getAdditionalSelAlpha
          sendMessage(2603, 0, 0)
        end
    
        # Set the foreground colour of additional carets.
        def setAdditionalCaretFore(fore)
          sendMessage(2604, fore & 0xffffff, 0)
        end
    
        # Get the foreground colour of additional carets.
        def getAdditionalCaretFore
          sendMessage(2605, 0, 0)
        end
    
        # Set the main selection to the next selection.
        def rotateSelection
          sendMessage(2606, 0, 0)
        end
    
        # Swap that caret and anchor of the main selection.
        def swapMainAnchorCaret
          sendMessage(2607, 0, 0)
        end
    
        # Indicate that the internal state of a lexer has changed over a range and therefore
        # there may be a need to redraw.
        def changeLexerState(start, last)
          sendMessage(2617, start, last)
        end
    
        # Find the next line at or after lineStart that is a contracted fold header line.
        # Return -1 when no more lines.
        def contractedFoldNext(lineStart)
          sendMessage(2618, lineStart, 0)
        end
    
        # Centre current line in window.
        def verticalCentreCaret
          sendMessage(2619, 0, 0)
        end
    
        # Move the selected lines up one line, shifting the line above after the selection
        def moveSelectedLinesUp
          sendMessage(2620, 0, 0)
        end
    
        # Move the selected lines down one line, shifting the line below before the selection
        def moveSelectedLinesDown
          sendMessage(2621, 0, 0)
        end
    
        # Set the identifier reported as idFrom in notification messages.
        def setIdentifier(identifier)
          sendMessage(2622, identifier, 0)
        end
    
        # Get the identifier.
        def getIdentifier
          sendMessage(2623, 0, 0)
        end
    
        # Set the width for future RGBA image data.
        def rGBAImageSetWidth(width)
          sendMessage(2624, width, 0)
        end
    
        # Set the height for future RGBA image data.
        def rGBAImageSetHeight(height)
          sendMessage(2625, height, 0)
        end
    
        # Define a marker from RGBA data.
        # It has the width and height from RGBAImageSetWidth/Height
        def markerDefineRGBAImage(markerNumber, pixels)
          sendMessage(2626, markerNumber, pixels)
        end
    
    
    Lars Kanis's avatar
    Lars Kanis committed
        # Register an RGBA image for use in autocompletion lists. 
    
        # It has the width and height from RGBAImageSetWidth/Height
        def registerRGBAImage(type, pixels)
          sendMessage(2627, type, pixels)
        end
    
        # Scroll to start of document.
        def scrollToStart
          sendMessage(2628, 0, 0)
        end
    
        # Scroll to end of document.
        def scrollToEnd
          sendMessage(2629, 0, 0)
        end
    
    
        # Start notifying the container of all key presses and commands.
        def startRecord
          sendMessage(3001, 0, 0)
        end
    
        # Stop notifying the container of all key presses and commands.
        def stopRecord
          sendMessage(3002, 0, 0)
        end
    
        # Set the lexing language of the document.
        def setLexer(lexer)
          sendMessage(4001, lexer, 0)
        end
    
        # Retrieve the lexing language of the document.
        def getLexer
          sendMessage(4002, 0, 0)
        end
    
        # Colourise a segment of the document using the current lexing language.
        def colourise(start, last)
          sendMessage(4003, start, last)
        end
    
        # Set up a value that may be used by a lexer for some optional feature.
        def setProperty(key, value)
          sendMessage(4004, key, value)
        end
    
        # Maximum value of keywordSet parameter of SetKeyWords.
        KEYWORDSET_MAX = 8
    
        # Set up the key words used by the lexer.
        def setKeyWords(keywordSet, keyWords)
          sendMessage(4005, keywordSet, keyWords)
        end
    
        # Set the lexing language of the document based on string name.
        def setLexerLanguage(language)
          sendMessage(4006, 0, language)
        end
    
        # Load a lexer library (dll / so).
        def loadLexerLibrary(path)
          sendMessage(4007, 0, path)
        end
    
        # Retrieve a "property" value previously set with SetProperty.
        def getProperty(key)
          buffer = "".ljust(key)
          sendMessage(4008, key, buffer)
          buffer
        end
    
        # Retrieve a "property" value previously set with SetProperty,
        # with "$()" variable replacement on returned buffer.
        def getPropertyExpanded(key)
          buffer = "".ljust(key)
          sendMessage(4009, key, buffer)
          buffer
        end
    
        # Retrieve a "property" value previously set with SetProperty,
        # interpreted as an int AFTER any "$()" variable replacement.
        def getPropertyInt(key)
          sendMessage(4010, key, 0)
        end
    
        # Retrieve the number of bits the current lexer needs for styling.
        def getStyleBitsNeeded
          sendMessage(4011, 0, 0)
        end
    
    
        # Retrieve the name of the lexer.
        # Return the length of the text.
        def getLexerLanguage
          sendMessage(4012, 0, text)
        end
    
        # For private communication between an application and a known lexer.
        def privateLexerCall(operation, pointer)
          sendMessage(4013, operation, pointer)
        end
    
        # Retrieve a '\n' separated list of properties understood by the current lexer.
        def propertyNames
          sendMessage(4014, 0, names)
        end
    
        SC_TYPE_BOOLEAN = 0
        SC_TYPE_INTEGER = 1
        SC_TYPE_STRING = 2
    
        # Retrieve the type of a property.
        def propertyType(name)
          sendMessage(4015, name, 0)
        end
    
        # Describe a property.
        def describeProperty(name)
          buffer = "".ljust(name)
          sendMessage(4016, name, buffer)
          buffer
        end
    
        # Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer.
        def describeKeyWordSets
          sendMessage(4017, 0, descriptions)
        end
    
    
        # Notifications
        # Type of modification and the action which caused the modification.
        # These are defined as a bit mask to make it easy to specify which notifications are wanted.
        # One bit is set from each of SC_MOD_* and SC_PERFORMED_*.
        SC_MOD_INSERTTEXT = 0x1
        SC_MOD_DELETETEXT = 0x2
        SC_MOD_CHANGESTYLE = 0x4
        SC_MOD_CHANGEFOLD = 0x8
        SC_PERFORMED_USER = 0x10
        SC_PERFORMED_UNDO = 0x20
        SC_PERFORMED_REDO = 0x40
        SC_MULTISTEPUNDOREDO = 0x80
        SC_LASTSTEPINUNDOREDO = 0x100
        SC_MOD_CHANGEMARKER = 0x200
        SC_MOD_BEFOREINSERT = 0x400
        SC_MOD_BEFOREDELETE = 0x800
        SC_MULTILINEUNDOREDO = 0x1000
    
        SC_STARTACTION = 0x2000
        SC_MOD_CHANGEINDICATOR = 0x4000
        SC_MOD_CHANGELINESTATE = 0x8000
        SC_MOD_CHANGEMARGIN = 0x10000
        SC_MOD_CHANGEANNOTATION = 0x20000
        SC_MOD_CONTAINER = 0x40000
        SC_MOD_LEXERSTATE = 0x80000
        SC_MODEVENTMASKALL = 0xFFFFF
    
        SC_UPDATE_CONTENT = 0x1
        SC_UPDATE_SELECTION = 0x2
        SC_UPDATE_V_SCROLL = 0x4
        SC_UPDATE_H_SCROLL = 0x8
    
    
        # For compatibility, these go through the COMMAND notification rather than NOTIFY
        # and should have had exactly the same values as the EN_* constants.
        # Unfortunately the SETFOCUS and KILLFOCUS are flipped over from EN_*
        # As clients depend on these constants, this will not be changed.
        SCEN_CHANGE = 768
        SCEN_SETFOCUS = 512
        SCEN_KILLFOCUS = 256
    
        # Symbolic key codes and modifier flags.
        # ASCII and other printable characters below 256.
        # Extended keys above 300.
    
        SCK_DOWN = 300
        SCK_UP = 301
        SCK_LEFT = 302
        SCK_RIGHT = 303
        SCK_HOME = 304
        SCK_END = 305
        SCK_PRIOR = 306
        SCK_NEXT = 307
        SCK_DELETE = 308
        SCK_INSERT = 309
        SCK_ESCAPE = 7
        SCK_BACK = 8
        SCK_TAB = 9
        SCK_RETURN = 13
        SCK_ADD = 310
        SCK_SUBTRACT = 311
        SCK_DIVIDE = 312
    
        SCK_WIN = 313
        SCK_RWIN = 314
        SCK_MENU = 315
    
    
        SCMOD_NORM = 0
        SCMOD_SHIFT = 1
        SCMOD_CTRL = 2
        SCMOD_ALT = 4
    
        SCMOD_SUPER = 8
        SCMOD_META = 16
    
    
        # For SciLexer.h
        SCLEX_CONTAINER = 0
        SCLEX_NULL = 1
        SCLEX_PYTHON = 2
        SCLEX_CPP = 3
        SCLEX_HTML = 4
        SCLEX_XML = 5
        SCLEX_PERL = 6
        SCLEX_SQL = 7
        SCLEX_VB = 8
        SCLEX_PROPERTIES = 9
        SCLEX_ERRORLIST = 10
        SCLEX_MAKEFILE = 11
        SCLEX_BATCH = 12
        SCLEX_XCODE = 13
        SCLEX_LATEX = 14
        SCLEX_LUA = 15
        SCLEX_DIFF = 16
        SCLEX_CONF = 17
        SCLEX_PASCAL = 18
        SCLEX_AVE = 19
        SCLEX_ADA = 20
        SCLEX_LISP = 21
        SCLEX_RUBY = 22
        SCLEX_EIFFEL = 23
        SCLEX_EIFFELKW = 24
        SCLEX_TCL = 25
        SCLEX_NNCRONTAB = 26
        SCLEX_BULLANT = 27
        SCLEX_VBSCRIPT = 28
        SCLEX_BAAN = 31
        SCLEX_MATLAB = 32
        SCLEX_SCRIPTOL = 33
        SCLEX_ASM = 34
        SCLEX_CPPNOCASE = 35
        SCLEX_FORTRAN = 36
        SCLEX_F77 = 37
        SCLEX_CSS = 38
        SCLEX_POV = 39
        SCLEX_LOUT = 40
        SCLEX_ESCRIPT = 41
        SCLEX_PS = 42
        SCLEX_NSIS = 43
        SCLEX_MMIXAL = 44
        SCLEX_CLW = 45
        SCLEX_CLWNOCASE = 46
        SCLEX_LOT = 47
        SCLEX_YAML = 48
        SCLEX_TEX = 49
        SCLEX_METAPOST = 50
        SCLEX_POWERBASIC = 51
        SCLEX_FORTH = 52
        SCLEX_ERLANG = 53
        SCLEX_OCTAVE = 54
        SCLEX_MSSQL = 55
        SCLEX_VERILOG = 56
        SCLEX_KIX = 57
        SCLEX_GUI4CLI = 58
        SCLEX_SPECMAN = 59
        SCLEX_AU3 = 60
        SCLEX_APDL = 61
        SCLEX_BASH = 62
        SCLEX_ASN1 = 63
        SCLEX_VHDL = 64
        SCLEX_CAML = 65
        SCLEX_BLITZBASIC = 66
        SCLEX_PUREBASIC = 67
        SCLEX_HASKELL = 68
        SCLEX_PHPSCRIPT = 69
        SCLEX_TADS3 = 70
        SCLEX_REBOL = 71
        SCLEX_SMALLTALK = 72
        SCLEX_FLAGSHIP = 73
        SCLEX_CSOUND = 74
        SCLEX_FREEBASIC = 75
    
        SCLEX_INNOSETUP = 76
        SCLEX_OPAL = 77
        SCLEX_SPICE = 78
    
        SCLEX_D = 79
        SCLEX_CMAKE = 80
        SCLEX_GAP = 81
        SCLEX_PLM = 82
        SCLEX_PROGRESS = 83
        SCLEX_ABAQUS = 84
        SCLEX_ASYMPTOTE = 85
        SCLEX_R = 86
        SCLEX_MAGIK = 87
        SCLEX_POWERSHELL = 88
        SCLEX_MYSQL = 89
        SCLEX_PO = 90
        SCLEX_TAL = 91
        SCLEX_COBOL = 92
        SCLEX_TACL = 93
        SCLEX_SORCUS = 94
        SCLEX_POWERPRO = 95
        SCLEX_NIMROD = 96
        SCLEX_SML = 97
        SCLEX_MARKDOWN = 98
        SCLEX_TXT2TAGS = 99
        SCLEX_A68K = 100
        SCLEX_MODULA = 101
    
    
        # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
        # value assigned in sequence from SCLEX_AUTOMATIC+1.
        SCLEX_AUTOMATIC = 1000
        # Lexical states for SCLEX_PYTHON
        SCE_P_DEFAULT = 0
        SCE_P_COMMENTLINE = 1
        SCE_P_NUMBER = 2
        SCE_P_STRING = 3
        SCE_P_CHARACTER = 4
        SCE_P_WORD = 5
        SCE_P_TRIPLE = 6
        SCE_P_TRIPLEDOUBLE = 7
        SCE_P_CLASSNAME = 8
        SCE_P_DEFNAME = 9
        SCE_P_OPERATOR = 10
        SCE_P_IDENTIFIER = 11
        SCE_P_COMMENTBLOCK = 12
        SCE_P_STRINGEOL = 13
        SCE_P_WORD2 = 14
        SCE_P_DECORATOR = 15
        # Lexical states for SCLEX_CPP
        SCE_C_DEFAULT = 0
        SCE_C_COMMENT = 1
        SCE_C_COMMENTLINE = 2
        SCE_C_COMMENTDOC = 3
        SCE_C_NUMBER = 4
        SCE_C_WORD = 5
        SCE_C_STRING = 6
        SCE_C_CHARACTER = 7
        SCE_C_UUID = 8
        SCE_C_PREPROCESSOR = 9
        SCE_C_OPERATOR = 10
        SCE_C_IDENTIFIER = 11
        SCE_C_STRINGEOL = 12
        SCE_C_VERBATIM = 13
        SCE_C_REGEX = 14
        SCE_C_COMMENTLINEDOC = 15
        SCE_C_WORD2 = 16
        SCE_C_COMMENTDOCKEYWORD = 17
        SCE_C_COMMENTDOCKEYWORDERROR = 18
        SCE_C_GLOBALCLASS = 19
    
        SCE_C_STRINGRAW = 20
        SCE_C_TRIPLEVERBATIM = 21
        # Lexical states for SCLEX_D
        SCE_D_DEFAULT = 0
        SCE_D_COMMENT = 1
        SCE_D_COMMENTLINE = 2
        SCE_D_COMMENTDOC = 3
        SCE_D_COMMENTNESTED = 4
        SCE_D_NUMBER = 5
        SCE_D_WORD = 6
        SCE_D_WORD2 = 7
        SCE_D_WORD3 = 8
        SCE_D_TYPEDEF = 9
        SCE_D_STRING = 10
        SCE_D_STRINGEOL = 11
        SCE_D_CHARACTER = 12
        SCE_D_OPERATOR = 13
        SCE_D_IDENTIFIER = 14
        SCE_D_COMMENTLINEDOC = 15
        SCE_D_COMMENTDOCKEYWORD = 16
        SCE_D_COMMENTDOCKEYWORDERROR = 17
        SCE_D_STRINGB = 18
        SCE_D_STRINGR = 19
        SCE_D_WORD5 = 20
        SCE_D_WORD6 = 21
        SCE_D_WORD7 = 22
    
        # Lexical states for SCLEX_TCL
        SCE_TCL_DEFAULT = 0
        SCE_TCL_COMMENT = 1
        SCE_TCL_COMMENTLINE = 2
        SCE_TCL_NUMBER = 3
        SCE_TCL_WORD_IN_QUOTE = 4
        SCE_TCL_IN_QUOTE = 5
        SCE_TCL_OPERATOR = 6
        SCE_TCL_IDENTIFIER = 7
        SCE_TCL_SUBSTITUTION = 8
        SCE_TCL_SUB_BRACE = 9
        SCE_TCL_MODIFIER = 10
        SCE_TCL_EXPAND = 11
        SCE_TCL_WORD = 12
        SCE_TCL_WORD2 = 13
        SCE_TCL_WORD3 = 14
        SCE_TCL_WORD4 = 15
        SCE_TCL_WORD5 = 16
        SCE_TCL_WORD6 = 17
        SCE_TCL_WORD7 = 18
        SCE_TCL_WORD8 = 19
        SCE_TCL_COMMENT_BOX = 20
        SCE_TCL_BLOCK_COMMENT = 21
    
        # Lexical states for SCLEX_HTML, SCLEX_XML
        SCE_H_DEFAULT = 0
        SCE_H_TAG = 1
        SCE_H_TAGUNKNOWN = 2
        SCE_H_ATTRIBUTE = 3
        SCE_H_ATTRIBUTEUNKNOWN = 4
        SCE_H_NUMBER = 5
        SCE_H_DOUBLESTRING = 6
        SCE_H_SINGLESTRING = 7
        SCE_H_OTHER = 8
        SCE_H_COMMENT = 9
        SCE_H_ENTITY = 10
        # XML and ASP
        SCE_H_TAGEND = 11
        SCE_H_XMLSTART = 12
        SCE_H_XMLEND = 13
        SCE_H_SCRIPT = 14
        SCE_H_ASP = 15
        SCE_H_ASPAT = 16
        SCE_H_CDATA = 17
        SCE_H_QUESTION = 18
        # More HTML
        SCE_H_VALUE = 19
        # X-Code
        SCE_H_XCCOMMENT = 20
        # SGML
        SCE_H_SGML_DEFAULT = 21
        SCE_H_SGML_COMMAND = 22
        SCE_H_SGML_1ST_PARAM = 23
        SCE_H_SGML_DOUBLESTRING = 24
        SCE_H_SGML_SIMPLESTRING = 25
        SCE_H_SGML_ERROR = 26
        SCE_H_SGML_SPECIAL = 27
        SCE_H_SGML_ENTITY = 28
        SCE_H_SGML_COMMENT = 29
        SCE_H_SGML_1ST_PARAM_COMMENT = 30
        SCE_H_SGML_BLOCK_DEFAULT = 31
        # Embedded Javascript
        SCE_HJ_START = 40
        SCE_HJ_DEFAULT = 41
        SCE_HJ_COMMENT = 42
        SCE_HJ_COMMENTLINE = 43
        SCE_HJ_COMMENTDOC = 44
        SCE_HJ_NUMBER = 45
        SCE_HJ_WORD = 46
        SCE_HJ_KEYWORD = 47
        SCE_HJ_DOUBLESTRING = 48
        SCE_HJ_SINGLESTRING = 49
        SCE_HJ_SYMBOLS = 50
        SCE_HJ_STRINGEOL = 51
        SCE_HJ_REGEX = 52
        # ASP Javascript
        SCE_HJA_START = 55
        SCE_HJA_DEFAULT = 56
        SCE_HJA_COMMENT = 57
        SCE_HJA_COMMENTLINE = 58
        SCE_HJA_COMMENTDOC = 59
        SCE_HJA_NUMBER = 60
        SCE_HJA_WORD = 61
        SCE_HJA_KEYWORD = 62
        SCE_HJA_DOUBLESTRING = 63
        SCE_HJA_SINGLESTRING = 64
        SCE_HJA_SYMBOLS = 65
        SCE_HJA_STRINGEOL = 66
        SCE_HJA_REGEX = 67
        # Embedded VBScript
        SCE_HB_START = 70
        SCE_HB_DEFAULT = 71
        SCE_HB_COMMENTLINE = 72
        SCE_HB_NUMBER = 73
        SCE_HB_WORD = 74
        SCE_HB_STRING = 75
        SCE_HB_IDENTIFIER = 76
        SCE_HB_STRINGEOL = 77
        # ASP VBScript
        SCE_HBA_START = 80
        SCE_HBA_DEFAULT = 81
        SCE_HBA_COMMENTLINE = 82
        SCE_HBA_NUMBER = 83
        SCE_HBA_WORD = 84
        SCE_HBA_STRING = 85
        SCE_HBA_IDENTIFIER = 86
        SCE_HBA_STRINGEOL = 87
        # Embedded Python
        SCE_HP_START = 90
        SCE_HP_DEFAULT = 91
        SCE_HP_COMMENTLINE = 92
        SCE_HP_NUMBER = 93
        SCE_HP_STRING = 94
        SCE_HP_CHARACTER = 95
        SCE_HP_WORD = 96
        SCE_HP_TRIPLE = 97
        SCE_HP_TRIPLEDOUBLE = 98
        SCE_HP_CLASSNAME = 99
        SCE_HP_DEFNAME = 100
        SCE_HP_OPERATOR = 101
        SCE_HP_IDENTIFIER = 102
        # PHP
        SCE_HPHP_COMPLEX_VARIABLE = 104
        # ASP Python
        SCE_HPA_START = 105
        SCE_HPA_DEFAULT = 106
        SCE_HPA_COMMENTLINE = 107
        SCE_HPA_NUMBER = 108
        SCE_HPA_STRING = 109
        SCE_HPA_CHARACTER = 110
        SCE_HPA_WORD = 111
        SCE_HPA_TRIPLE = 112
        SCE_HPA_TRIPLEDOUBLE = 113
        SCE_HPA_CLASSNAME = 114
        SCE_HPA_DEFNAME = 115
        SCE_HPA_OPERATOR = 116
        SCE_HPA_IDENTIFIER = 117
        # PHP
        SCE_HPHP_DEFAULT = 118
        SCE_HPHP_HSTRING = 119
        SCE_HPHP_SIMPLESTRING = 120
        SCE_HPHP_WORD = 121
        SCE_HPHP_NUMBER = 122
        SCE_HPHP_VARIABLE = 123
        SCE_HPHP_COMMENT = 124
        SCE_HPHP_COMMENTLINE = 125
        SCE_HPHP_HSTRING_VARIABLE = 126
        SCE_HPHP_OPERATOR = 127
        # Lexical states for SCLEX_PERL
        SCE_PL_DEFAULT = 0
        SCE_PL_ERROR = 1
        SCE_PL_COMMENTLINE = 2
        SCE_PL_POD = 3
        SCE_PL_NUMBER = 4
        SCE_PL_WORD = 5
        SCE_PL_STRING = 6
        SCE_PL_CHARACTER = 7
        SCE_PL_PUNCTUATION = 8
        SCE_PL_PREPROCESSOR = 9
        SCE_PL_OPERATOR = 10
        SCE_PL_IDENTIFIER = 11
        SCE_PL_SCALAR = 12
        SCE_PL_ARRAY = 13
        SCE_PL_HASH = 14
        SCE_PL_SYMBOLTABLE = 15
        SCE_PL_VARIABLE_INDEXER = 16
        SCE_PL_REGEX = 17
        SCE_PL_REGSUBST = 18
        SCE_PL_LONGQUOTE = 19
        SCE_PL_BACKTICKS = 20
        SCE_PL_DATASECTION = 21
        SCE_PL_HERE_DELIM = 22
        SCE_PL_HERE_Q = 23
        SCE_PL_HERE_QQ = 24
        SCE_PL_HERE_QX = 25
        SCE_PL_STRING_Q = 26
        SCE_PL_STRING_QQ = 27
        SCE_PL_STRING_QX = 28
        SCE_PL_STRING_QR = 29
        SCE_PL_STRING_QW = 30
        SCE_PL_POD_VERB = 31
    
        SCE_PL_SUB_PROTOTYPE = 40
        SCE_PL_FORMAT_IDENT = 41
        SCE_PL_FORMAT = 42
    
        # Lexical states for SCLEX_RUBY
        SCE_RB_DEFAULT = 0
        SCE_RB_ERROR = 1
        SCE_RB_COMMENTLINE = 2
        SCE_RB_POD = 3
        SCE_RB_NUMBER = 4
        SCE_RB_WORD = 5
        SCE_RB_STRING = 6
        SCE_RB_CHARACTER = 7
        SCE_RB_CLASSNAME = 8
        SCE_RB_DEFNAME = 9
        SCE_RB_OPERATOR = 10
        SCE_RB_IDENTIFIER = 11
        SCE_RB_REGEX = 12
        SCE_RB_GLOBAL = 13
        SCE_RB_SYMBOL = 14
        SCE_RB_MODULE_NAME = 15
        SCE_RB_INSTANCE_VAR = 16
        SCE_RB_CLASS_VAR = 17
        SCE_RB_BACKTICKS = 18
        SCE_RB_DATASECTION = 19
        SCE_RB_HERE_DELIM = 20
        SCE_RB_HERE_Q = 21
        SCE_RB_HERE_QQ = 22
        SCE_RB_HERE_QX = 23
        SCE_RB_STRING_Q = 24
        SCE_RB_STRING_QQ = 25
        SCE_RB_STRING_QX = 26
        SCE_RB_STRING_QR = 27
        SCE_RB_STRING_QW = 28
        SCE_RB_WORD_DEMOTED = 29
        SCE_RB_STDIN = 30
        SCE_RB_STDOUT = 31
        SCE_RB_STDERR = 40
        SCE_RB_UPPER_BOUND = 41
        # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
        SCE_B_DEFAULT = 0
        SCE_B_COMMENT = 1
        SCE_B_NUMBER = 2
        SCE_B_KEYWORD = 3
        SCE_B_STRING = 4
        SCE_B_PREPROCESSOR = 5
        SCE_B_OPERATOR = 6
        SCE_B_IDENTIFIER = 7
        SCE_B_DATE = 8
        SCE_B_STRINGEOL = 9
        SCE_B_KEYWORD2 = 10
        SCE_B_KEYWORD3 = 11
        SCE_B_KEYWORD4 = 12
        SCE_B_CONSTANT = 13
        SCE_B_ASM = 14
        SCE_B_LABEL = 15
        SCE_B_ERROR = 16
        SCE_B_HEXNUMBER = 17
        SCE_B_BINNUMBER = 18
        # Lexical states for SCLEX_PROPERTIES
        SCE_PROPS_DEFAULT = 0
        SCE_PROPS_COMMENT = 1
        SCE_PROPS_SECTION = 2
        SCE_PROPS_ASSIGNMENT = 3
        SCE_PROPS_DEFVAL = 4
    
        # Lexical states for SCLEX_LATEX
        SCE_L_DEFAULT = 0
        SCE_L_COMMAND = 1
        SCE_L_TAG = 2
        SCE_L_MATH = 3
        SCE_L_COMMENT = 4
        # Lexical states for SCLEX_LUA
        SCE_LUA_DEFAULT = 0
        SCE_LUA_COMMENT = 1
        SCE_LUA_COMMENTLINE = 2
        SCE_LUA_COMMENTDOC = 3
        SCE_LUA_NUMBER = 4
        SCE_LUA_WORD = 5
        SCE_LUA_STRING = 6
        SCE_LUA_CHARACTER = 7
        SCE_LUA_LITERALSTRING = 8
        SCE_LUA_PREPROCESSOR = 9
        SCE_LUA_OPERATOR = 10
        SCE_LUA_IDENTIFIER = 11
        SCE_LUA_STRINGEOL = 12
        SCE_LUA_WORD2 = 13
        SCE_LUA_WORD3 = 14
        SCE_LUA_WORD4 = 15
        SCE_LUA_WORD5 = 16
        SCE_LUA_WORD6 = 17
        SCE_LUA_WORD7 = 18
        SCE_LUA_WORD8 = 19
        # Lexical states for SCLEX_ERRORLIST
        SCE_ERR_DEFAULT = 0
        SCE_ERR_PYTHON = 1
        SCE_ERR_GCC = 2
        SCE_ERR_MS = 3
        SCE_ERR_CMD = 4
        SCE_ERR_BORLAND = 5
        SCE_ERR_PERL = 6
        SCE_ERR_NET = 7
        SCE_ERR_LUA = 8
        SCE_ERR_CTAG = 9
        SCE_ERR_DIFF_CHANGED = 10
        SCE_ERR_DIFF_ADDITION = 11
        SCE_ERR_DIFF_DELETION = 12
        SCE_ERR_DIFF_MESSAGE = 13
        SCE_ERR_PHP = 14
        SCE_ERR_ELF = 15
        SCE_ERR_IFC = 16
        SCE_ERR_IFORT = 17
        SCE_ERR_ABSF = 18
        SCE_ERR_TIDY = 19
        SCE_ERR_JAVA_STACK = 20
    
        # Lexical states for SCLEX_BATCH
        SCE_BAT_DEFAULT = 0
        SCE_BAT_COMMENT = 1
        SCE_BAT_WORD = 2
        SCE_BAT_LABEL = 3
        SCE_BAT_HIDE = 4
        SCE_BAT_COMMAND = 5
        SCE_BAT_IDENTIFIER = 6
        SCE_BAT_OPERATOR = 7
        # Lexical states for SCLEX_MAKEFILE
        SCE_MAKE_DEFAULT = 0
        SCE_MAKE_COMMENT = 1
        SCE_MAKE_PREPROCESSOR = 2
        SCE_MAKE_IDENTIFIER = 3
        SCE_MAKE_OPERATOR = 4
        SCE_MAKE_TARGET = 5
        SCE_MAKE_IDEOL = 9
        # Lexical states for SCLEX_DIFF
        SCE_DIFF_DEFAULT = 0
        SCE_DIFF_COMMENT = 1
        SCE_DIFF_COMMAND = 2
        SCE_DIFF_HEADER = 3
        SCE_DIFF_POSITION = 4
        SCE_DIFF_DELETED = 5
        SCE_DIFF_ADDED = 6
    
        # Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
        SCE_CONF_DEFAULT = 0
        SCE_CONF_COMMENT = 1
        SCE_CONF_NUMBER = 2
        SCE_CONF_IDENTIFIER = 3
        SCE_CONF_EXTENSION = 4
        SCE_CONF_PARAMETER = 5
        SCE_CONF_STRING = 6
        SCE_CONF_OPERATOR = 7
        SCE_CONF_IP = 8
        SCE_CONF_DIRECTIVE = 9
        # Lexical states for SCLEX_AVE, Avenue
        SCE_AVE_DEFAULT = 0
        SCE_AVE_COMMENT = 1
        SCE_AVE_NUMBER = 2
        SCE_AVE_WORD = 3
        SCE_AVE_STRING = 6
        SCE_AVE_ENUM = 7
        SCE_AVE_STRINGEOL = 8
        SCE_AVE_IDENTIFIER = 9
        SCE_AVE_OPERATOR = 10
        SCE_AVE_WORD1 = 11
        SCE_AVE_WORD2 = 12
        SCE_AVE_WORD3 = 13
        SCE_AVE_WORD4 = 14
        SCE_AVE_WORD5 = 15
        SCE_AVE_WORD6 = 16
        # Lexical states for SCLEX_ADA
        SCE_ADA_DEFAULT = 0
        SCE_ADA_WORD = 1
        SCE_ADA_IDENTIFIER = 2
        SCE_ADA_NUMBER = 3
        SCE_ADA_DELIMITER = 4
        SCE_ADA_CHARACTER = 5
        SCE_ADA_CHARACTEREOL = 6
        SCE_ADA_STRING = 7
        SCE_ADA_STRINGEOL = 8
        SCE_ADA_LABEL = 9
        SCE_ADA_COMMENTLINE = 10
        SCE_ADA_ILLEGAL = 11
        # Lexical states for SCLEX_BAAN
        SCE_BAAN_DEFAULT = 0
        SCE_BAAN_COMMENT = 1
        SCE_BAAN_COMMENTDOC = 2
        SCE_BAAN_NUMBER = 3
        SCE_BAAN_WORD = 4
        SCE_BAAN_STRING = 5
        SCE_BAAN_PREPROCESSOR = 6
        SCE_BAAN_OPERATOR = 7
        SCE_BAAN_IDENTIFIER = 8
        SCE_BAAN_STRINGEOL = 9
        SCE_BAAN_WORD2 = 10
        # Lexical states for SCLEX_LISP
        SCE_LISP_DEFAULT = 0
        SCE_LISP_COMMENT = 1
        SCE_LISP_NUMBER = 2
        SCE_LISP_KEYWORD = 3
        SCE_LISP_KEYWORD_KW = 4
        SCE_LISP_SYMBOL = 5
        SCE_LISP_STRING = 6
        SCE_LISP_STRINGEOL = 8
        SCE_LISP_IDENTIFIER = 9
        SCE_LISP_OPERATOR = 10
        SCE_LISP_SPECIAL = 11
        SCE_LISP_MULTI_COMMENT = 12
        # Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
        SCE_EIFFEL_DEFAULT = 0
        SCE_EIFFEL_COMMENTLINE = 1
        SCE_EIFFEL_NUMBER = 2
        SCE_EIFFEL_WORD = 3
        SCE_EIFFEL_STRING = 4
        SCE_EIFFEL_CHARACTER = 5