// NPP plugin platform for .Net v0.94.00 by Kasper B. Graversen etc. // // This file should stay in sync with the CPP project file // "notepad-plus-plus/scintilla/include/Scintilla.iface" // found at // https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/scintilla/include/Scintilla.iface using System; using System.Runtime.InteropServices; namespace NppChnConvPlugin.NppPluginInfrastructure { /// /// Compatible with Windows NMHDR. /// hwndFrom is really an environment specific window handle or pointer /// but most clients of Scintilla.h do not have this type visible. /// [StructLayout(LayoutKind.Sequential)] public struct ScNotificationHeader { /// /// environment specific window handle/pointer /// public IntPtr hwndFrom; /// /// CtrlID of the window issuing the notification /// public IntPtr IdFrom; /// /// The SCN_* notification Code /// public uint Code; } [StructLayout(LayoutKind.Sequential)] public struct ScNotification { public ScNotificationHeader Header; private int position; /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ public int character; /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETE, SCN_AUTOCSELECTION, SCN_USERLISTSELECTION */ public int Mmodifiers; /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE */ public int ModificationType; /* SCN_MODIFIED - modification types are name "SC_MOD_*" */ public IntPtr TextPointer; /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ public int Length; /* SCN_MODIFIED */ public int LinesAdded; /* SCN_MODIFIED */ public int Message; /* SCN_MACRORECORD */ public IntPtr wParam; /* SCN_MACRORECORD */ public IntPtr lParam; /* SCN_MACRORECORD */ /// /// 0-based index /// public int LineNumber; /* SCN_MODIFIED */ public int FoldLevelNow; /* SCN_MODIFIED */ public int FoldLevelPrev; /* SCN_MODIFIED */ public int Margin; /* SCN_MARGINCLICK */ public int ListType; /* SCN_USERLISTSELECTION */ public int X; /* SCN_DWELLSTART, SCN_DWELLEND */ public int Y; /* SCN_DWELLSTART, SCN_DWELLEND */ public int Token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ public int AnnotationLinesAdded; /* SC_MOD_CHANGEANNOTATION */ public int Updated; /* SCN_UPDATEUI */ public int ListCompletionMethod; /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION */ /// /// SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION /// public Position Position { get { return new Position(position); } } /// /// Character of the notification - eg keydown /// SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETE, SCN_AUTOCSELECTION, SCN_USERLISTSELECTION /// public char Character { get { return (char) character; } } } [Flags] public enum SciMsg : uint { /* ++Autogenerated -- start of section automatically generated from Scintilla.iface */ INVALID_POSITION = 0xFFFFFFFF, SCI_START = 2000, SCI_OPTIONAL_START = 3000, SCI_LEXER_START = 4000, /// Add text to the document at current position. SCI_ADDTEXT = 2001, /// Add array of cells to document. SCI_ADDSTYLEDTEXT = 2002, /// Insert string at a position. SCI_INSERTTEXT = 2003, /// Change the text that is being inserted in response to SC_MOD_INSERTCHECK SCI_CHANGEINSERTION = 2672, /// Delete all text in the document. SCI_CLEARALL = 2004, /// Delete a range of text in the document. SCI_DELETERANGE = 2645, /// Set all style bytes to 0, remove all folding information. SCI_CLEARDOCUMENTSTYLE = 2005, /// Returns the number of bytes in the document. SCI_GETLENGTH = 2006, /// Returns the character byte at the position. SCI_GETCHARAT = 2007, /// Returns the position of the caret. SCI_GETCURRENTPOS = 2008, /// Returns the position of the opposite end of the selection to the caret. SCI_GETANCHOR = 2009, /// Returns the style byte at the position. SCI_GETSTYLEAT = 2010, /// Redoes the next action on the undo history. SCI_REDO = 2011, /// Choose between collecting actions into the undo /// history and discarding them. SCI_SETUNDOCOLLECTION = 2012, /// Select all the text in the document. SCI_SELECTALL = 2013, /// Remember the current position in the undo history as the position /// at which the document was saved. SCI_SETSAVEPOINT = 2014, /// Retrieve a buffer of cells. /// Returns the number of bytes in the buffer not including terminating NULs. SCI_GETSTYLEDTEXT = 2015, /// Are there any redoable actions in the undo history? SCI_CANREDO = 2016, /// Retrieve the line number at which a particular marker is located. SCI_MARKERLINEFROMHANDLE = 2017, /// Delete a marker. SCI_MARKERDELETEHANDLE = 2018, /// Is undo history being collected? SCI_GETUNDOCOLLECTION = 2019, SCWS_INVISIBLE = 0, SCWS_VISIBLEALWAYS = 1, SCWS_VISIBLEAFTERINDENT = 2, /// Are white space characters currently visible? /// Returns one of SCWS_* constants. SCI_GETVIEWWS = 2020, /// Make white space characters invisible, always visible or visible outside indentation. SCI_SETVIEWWS = 2021, /// Find the position from a point within the window. SCI_POSITIONFROMPOINT = 2022, /// Find the position from a point within the window but return /// INVALID_POSITION if not close to text. SCI_POSITIONFROMPOINTCLOSE = 2023, /// Set caret to start of a line and ensure it is visible. SCI_GOTOLINE = 2024, /// Set caret to a position and ensure it is visible. SCI_GOTOPOS = 2025, /// Set the selection anchor to a position. The anchor is the opposite /// end of the selection from the caret. SCI_SETANCHOR = 2026, /// Retrieve the text of the line containing the caret. /// Returns the index of the caret on the line. /// Result is NUL-terminated. SCI_GETCURLINE = 2027, /// Retrieve the position of the last correctly styled character. SCI_GETENDSTYLED = 2028, SC_EOL_CRLF = 0, SC_EOL_CR = 1, SC_EOL_LF = 2, /// Convert all line endings in the document to one mode. SCI_CONVERTEOLS = 2029, /// Retrieve the current end of line mode - one of CRLF, CR, or LF. SCI_GETEOLMODE = 2030, /// Set the current end of line mode. SCI_SETEOLMODE = 2031, /// Set the current styling position to pos and the styling mask to mask. /// The styling mask can be used to protect some bits in each styling byte from modification. SCI_STARTSTYLING = 2032, /// Change style from current styling position for length characters to a style /// and move the current styling position to after this newly styled segment. SCI_SETSTYLING = 2033, /// Is drawing done first into a buffer or direct to the screen? SCI_GETBUFFEREDDRAW = 2034, /// If drawing is buffered then each line of text is drawn into a bitmap buffer /// before drawing it to the screen to avoid flicker. SCI_SETBUFFEREDDRAW = 2035, /// Change the visible size of a tab to be a multiple of the width of a space character. SCI_SETTABWIDTH = 2036, /// Retrieve the visible size of a tab. SCI_GETTABWIDTH = 2121, /// Clear explicit tabstops on a line. SCI_CLEARTABSTOPS = 2675, /// Add an explicit tab stop for a line. SCI_ADDTABSTOP = 2676, /// Find the next explicit tab stop position on a line after a position. SCI_GETNEXTTABSTOP = 2677, SC_CP_UTF8 = 65001, /// Set the code page used to interpret the bytes of the document as characters. /// The SC_CP_UTF8 value can be used to enter Unicode mode. SCI_SETCODEPAGE = 2037, SC_IME_WINDOWED = 0, SC_IME_INLINE = 1, /// Is the IME displayed in a winow or inline? SCI_GETIMEINTERACTION = 2678, /// Choose to display the the IME in a winow or inline. SCI_SETIMEINTERACTION = 2679, MARKER_MAX = 31, SC_MARK_CIRCLE = 0, SC_MARK_ROUNDRECT = 1, SC_MARK_ARROW = 2, SC_MARK_SMALLRECT = 3, SC_MARK_SHORTARROW = 4, SC_MARK_EMPTY = 5, SC_MARK_ARROWDOWN = 6, SC_MARK_MINUS = 7, SC_MARK_PLUS = 8, SC_MARK_VLINE = 9, SC_MARK_LCORNER = 10, SC_MARK_TCORNER = 11, SC_MARK_BOXPLUS = 12, SC_MARK_BOXPLUSCONNECTED = 13, SC_MARK_BOXMINUS = 14, SC_MARK_BOXMINUSCONNECTED = 15, SC_MARK_LCORNERCURVE = 16, SC_MARK_TCORNERCURVE = 17, SC_MARK_CIRCLEPLUS = 18, SC_MARK_CIRCLEPLUSCONNECTED = 19, SC_MARK_CIRCLEMINUS = 20, SC_MARK_CIRCLEMINUSCONNECTED = 21, SC_MARK_BACKGROUND = 22, SC_MARK_DOTDOTDOT = 23, SC_MARK_ARROWS = 24, SC_MARK_PIXMAP = 25, SC_MARK_FULLRECT = 26, SC_MARK_LEFTRECT = 27, SC_MARK_AVAILABLE = 28, SC_MARK_UNDERLINE = 29, SC_MARK_RGBAIMAGE = 30, SC_MARK_BOOKMARK = 31, SC_MARK_CHARACTER = 10000, SC_MARKNUM_FOLDEREND = 25, SC_MARKNUM_FOLDEROPENMID = 26, SC_MARKNUM_FOLDERMIDTAIL = 27, SC_MARKNUM_FOLDERTAIL = 28, SC_MARKNUM_FOLDERSUB = 29, SC_MARKNUM_FOLDER = 30, SC_MARKNUM_FOLDEROPEN = 31, SC_MASK_FOLDERS = 0xFE000000, /// Set the symbol used for a particular marker number. SCI_MARKERDEFINE = 2040, /// Set the foreground colour used for a particular marker number. SCI_MARKERSETFORE = 2041, /// Set the background colour used for a particular marker number. SCI_MARKERSETBACK = 2042, /// Set the background colour used for a particular marker number when its folding block is selected. SCI_MARKERSETBACKSELECTED = 2292, /// Enable/disable highlight for current folding bloc (smallest one that contains the caret) SCI_MARKERENABLEHIGHLIGHT = 2293, /// Add a marker to a line, returning an ID which can be used to find or delete the marker. SCI_MARKERADD = 2043, /// Delete a marker from a line. SCI_MARKERDELETE = 2044, /// Delete all markers with a particular number from all lines. SCI_MARKERDELETEALL = 2045, /// Get a bit mask of all the markers set on a line. SCI_MARKERGET = 2046, /// Find the next line at or after lineStart that includes a marker in mask. /// Return -1 when no more lines. SCI_MARKERNEXT = 2047, /// Find the previous line before lineStart that includes a marker in mask. SCI_MARKERPREVIOUS = 2048, /// Define a marker from a pixmap. SCI_MARKERDEFINEPIXMAP = 2049, /// Add a set of markers to a line. SCI_MARKERADDSET = 2466, /// Set the alpha used for a marker that is drawn in the text area, not the margin. SCI_MARKERSETALPHA = 2476, SC_MAX_MARGIN = 4, SC_MARGIN_SYMBOL = 0, SC_MARGIN_NUMBER = 1, SC_MARGIN_BACK = 2, SC_MARGIN_FORE = 3, SC_MARGIN_TEXT = 4, SC_MARGIN_RTEXT = 5, /// Set a margin to be either numeric or symbolic. SCI_SETMARGINTYPEN = 2240, /// Retrieve the type of a margin. SCI_GETMARGINTYPEN = 2241, /// Set the width of a margin to a width expressed in pixels. SCI_SETMARGINWIDTHN = 2242, /// Retrieve the width of a margin in pixels. SCI_GETMARGINWIDTHN = 2243, /// Set a mask that determines which markers are displayed in a margin. SCI_SETMARGINMASKN = 2244, /// Retrieve the marker mask of a margin. SCI_GETMARGINMASKN = 2245, /// Make a margin sensitive or insensitive to mouse clicks. SCI_SETMARGINSENSITIVEN = 2246, /// Retrieve the mouse click sensitivity of a margin. SCI_GETMARGINSENSITIVEN = 2247, /// Set the cursor shown when the mouse is inside a margin. SCI_SETMARGINCURSORN = 2248, /// Retrieve the cursor shown in a margin. SCI_GETMARGINCURSORN = 2249, STYLE_DEFAULT = 32, STYLE_LINENUMBER = 33, STYLE_BRACELIGHT = 34, STYLE_BRACEBAD = 35, STYLE_CONTROLCHAR = 36, STYLE_INDENTGUIDE = 37, STYLE_CALLTIP = 38, STYLE_LASTPREDEFINED = 39, STYLE_MAX = 255, SC_CHARSET_ANSI = 0, SC_CHARSET_DEFAULT = 1, SC_CHARSET_BALTIC = 186, SC_CHARSET_CHINESEBIG5 = 136, SC_CHARSET_EASTEUROPE = 238, SC_CHARSET_GB2312 = 134, SC_CHARSET_GREEK = 161, SC_CHARSET_HANGUL = 129, SC_CHARSET_MAC = 77, SC_CHARSET_OEM = 255, SC_CHARSET_RUSSIAN = 204, SC_CHARSET_CYRILLIC = 1251, SC_CHARSET_SHIFTJIS = 128, SC_CHARSET_SYMBOL = 2, SC_CHARSET_TURKISH = 162, SC_CHARSET_JOHAB = 130, SC_CHARSET_HEBREW = 177, SC_CHARSET_ARABIC = 178, SC_CHARSET_VIETNAMESE = 163, SC_CHARSET_THAI = 222, SC_CHARSET_8859_15 = 1000, /// Clear all the styles and make equivalent to the global default style. SCI_STYLECLEARALL = 2050, /// Set the foreground colour of a style. SCI_STYLESETFORE = 2051, /// Set the background colour of a style. SCI_STYLESETBACK = 2052, /// Set a style to be bold or not. SCI_STYLESETBOLD = 2053, /// Set a style to be italic or not. SCI_STYLESETITALIC = 2054, /// Set the size of characters of a style. SCI_STYLESETSIZE = 2055, /// Set the font of a style. SCI_STYLESETFONT = 2056, /// Set a style to have its end of line filled or not. SCI_STYLESETEOLFILLED = 2057, /// Reset the default style to its state at startup SCI_STYLERESETDEFAULT = 2058, /// Set a style to be underlined or not. SCI_STYLESETUNDERLINE = 2059, SC_CASE_MIXED = 0, SC_CASE_UPPER = 1, SC_CASE_LOWER = 2, /// Get the foreground colour of a style. SCI_STYLEGETFORE = 2481, /// Get the background colour of a style. SCI_STYLEGETBACK = 2482, /// Get is a style bold or not. SCI_STYLEGETBOLD = 2483, /// Get is a style italic or not. SCI_STYLEGETITALIC = 2484, /// Get the size of characters of a style. SCI_STYLEGETSIZE = 2485, /// Get the font of a style. /// Returns the length of the fontName /// Result is NUL-terminated. SCI_STYLEGETFONT = 2486, /// Get is a style to have its end of line filled or not. SCI_STYLEGETEOLFILLED = 2487, /// Get is a style underlined or not. SCI_STYLEGETUNDERLINE = 2488, /// Get is a style mixed case, or to force upper or lower case. SCI_STYLEGETCASE = 2489, /// Get the character get of the font in a style. SCI_STYLEGETCHARACTERSET = 2490, /// Get is a style visible or not. SCI_STYLEGETVISIBLE = 2491, /// Get is a style changeable or not (read only). /// Experimental feature, currently buggy. SCI_STYLEGETCHANGEABLE = 2492, /// Get is a style a hotspot or not. SCI_STYLEGETHOTSPOT = 2493, /// Set a style to be mixed case, or to force upper or lower case. SCI_STYLESETCASE = 2060, SC_FONT_SIZE_MULTIPLIER = 100, /// Set the size of characters of a style. Size is in points multiplied by 100. SCI_STYLESETSIZEFRACTIONAL = 2061, /// Get the size of characters of a style in points multiplied by 100 SCI_STYLEGETSIZEFRACTIONAL = 2062, SC_WEIGHT_NORMAL = 400, SC_WEIGHT_SEMIBOLD = 600, SC_WEIGHT_BOLD = 700, /// Set the weight of characters of a style. SCI_STYLESETWEIGHT = 2063, /// Get the weight of characters of a style. SCI_STYLEGETWEIGHT = 2064, /// Set the character set of the font in a style. SCI_STYLESETCHARACTERSET = 2066, /// Set a style to be a hotspot or not. SCI_STYLESETHOTSPOT = 2409, /// Set the foreground colour of the main and additional selections and whether to use this setting. SCI_SETSELFORE = 2067, /// Set the background colour of the main and additional selections and whether to use this setting. SCI_SETSELBACK = 2068, /// Get the alpha of the selection. SCI_GETSELALPHA = 2477, /// Set the alpha of the selection. SCI_SETSELALPHA = 2478, /// Is the selection end of line filled? SCI_GETSELEOLFILLED = 2479, /// Set the selection to have its end of line filled or not. SCI_SETSELEOLFILLED = 2480, /// Set the foreground colour of the caret. SCI_SETCARETFORE = 2069, /// When key+modifier combination km is pressed perform msg. SCI_ASSIGNCMDKEY = 2070, /// When key+modifier combination km is pressed do nothing. SCI_CLEARCMDKEY = 2071, /// Drop all key mappings. SCI_CLEARALLCMDKEYS = 2072, /// Set the styles for a segment of the document. SCI_SETSTYLINGEX = 2073, /// Set a style to be visible or not. SCI_STYLESETVISIBLE = 2074, /// Get the time in milliseconds that the caret is on and off. SCI_GETCARETPERIOD = 2075, /// Get the time in milliseconds that the caret is on and off. 0 = steady on. SCI_SETCARETPERIOD = 2076, /// Set the set of characters making up words for when moving or selecting by word. /// First sets defaults like SetCharsDefault. SCI_SETWORDCHARS = 2077, /// Get the set of characters making up words for when moving or selecting by word. /// Returns the number of characters SCI_GETWORDCHARS = 2646, /// Start a sequence of actions that is undone and redone as a unit. /// May be nested. SCI_BEGINUNDOACTION = 2078, /// End a sequence of actions that is undone and redone as a unit. SCI_ENDUNDOACTION = 2079, INDIC_PLAIN = 0, INDIC_SQUIGGLE = 1, INDIC_TT = 2, INDIC_DIAGONAL = 3, INDIC_STRIKE = 4, INDIC_HIDDEN = 5, INDIC_BOX = 6, INDIC_ROUNDBOX = 7, INDIC_STRAIGHTBOX = 8, INDIC_DASH = 9, INDIC_DOTS = 10, INDIC_SQUIGGLELOW = 11, INDIC_DOTBOX = 12, INDIC_SQUIGGLEPIXMAP = 13, INDIC_COMPOSITIONTHICK = 14, INDIC_COMPOSITIONTHIN = 15, INDIC_FULLBOX = 16, INDIC_TEXTFORE = 17, INDIC_IME = 32, INDIC_IME_MAX = 35, INDIC_MAX = 35, INDIC_CONTAINER = 8, INDIC0_MASK = 0x20, INDIC1_MASK = 0x40, INDIC2_MASK = 0x80, INDICS_MASK = 0xE0, /// Set an indicator to plain, squiggle or TT. SCI_INDICSETSTYLE = 2080, /// Retrieve the style of an indicator. SCI_INDICGETSTYLE = 2081, /// Set the foreground colour of an indicator. SCI_INDICSETFORE = 2082, /// Retrieve the foreground colour of an indicator. SCI_INDICGETFORE = 2083, /// Set an indicator to draw under text or over(default). SCI_INDICSETUNDER = 2510, /// Retrieve whether indicator drawn under or over text. SCI_INDICGETUNDER = 2511, /// Set a hover indicator to plain, squiggle or TT. SCI_INDICSETHOVERSTYLE = 2680, /// Retrieve the hover style of an indicator. SCI_INDICGETHOVERSTYLE = 2681, /// Set the foreground hover colour of an indicator. SCI_INDICSETHOVERFORE = 2682, /// Retrieve the foreground hover colour of an indicator. SCI_INDICGETHOVERFORE = 2683, SC_INDICVALUEBIT = 0x1000000, SC_INDICVALUEMASK = 0xFFFFFF, SC_INDICFLAG_VALUEFORE = 1, /// Set the attributes of an indicator. SCI_INDICSETFLAGS = 2684, /// Retrieve the attributes of an indicator. SCI_INDICGETFLAGS = 2685, /// Set the foreground colour of all whitespace and whether to use this setting. SCI_SETWHITESPACEFORE = 2084, /// Set the background colour of all whitespace and whether to use this setting. SCI_SETWHITESPACEBACK = 2085, /// Set the size of the dots used to mark space characters. SCI_SETWHITESPACESIZE = 2086, /// Get the size of the dots used to mark space characters. SCI_GETWHITESPACESIZE = 2087, /// Divide each styling byte into lexical class bits (default: 5) and indicator /// bits (default: 3). If a lexer requires more than 32 lexical states, then this /// is used to expand the possible states. SCI_SETSTYLEBITS = 2090, /// Retrieve number of bits in style bytes used to hold the lexical state. SCI_GETSTYLEBITS = 2091, /// Used to hold extra styling information for each line. SCI_SETLINESTATE = 2092, /// Retrieve the extra styling information for a line. SCI_GETLINESTATE = 2093, /// Retrieve the last line number that has line state. SCI_GETMAXLINESTATE = 2094, /// Is the background of the line containing the caret in a different colour? SCI_GETCARETLINEVISIBLE = 2095, /// Display the background of the line containing the caret in a different colour. SCI_SETCARETLINEVISIBLE = 2096, /// Get the colour of the background of the line containing the caret. SCI_GETCARETLINEBACK = 2097, /// Set the colour of the background of the line containing the caret. SCI_SETCARETLINEBACK = 2098, /// Set a style to be changeable or not (read only). /// Experimental feature, currently buggy. SCI_STYLESETCHANGEABLE = 2099, /// Display a auto-completion list. /// The lenEntered parameter indicates how many characters before /// the caret should be used to provide context. SCI_AUTOCSHOW = 2100, /// Remove the auto-completion list from the screen. SCI_AUTOCCANCEL = 2101, /// Is there an auto-completion list visible? SCI_AUTOCACTIVE = 2102, /// Retrieve the position of the caret when the auto-completion list was displayed. SCI_AUTOCPOSSTART = 2103, /// User has selected an item so remove the list and insert the selection. SCI_AUTOCCOMPLETE = 2104, /// Define a set of character that when typed cancel the auto-completion list. SCI_AUTOCSTOPS = 2105, /// Change the separator character in the string setting up an auto-completion list. /// Default is space but can be changed if items contain space. SCI_AUTOCSETSEPARATOR = 2106, /// Retrieve the auto-completion list separator character. SCI_AUTOCGETSEPARATOR = 2107, /// Select the item in the auto-completion list that starts with a string. SCI_AUTOCSELECT = 2108, /// Should the auto-completion list be cancelled if the user backspaces to a /// position before where the box was created. SCI_AUTOCSETCANCELATSTART = 2110, /// Retrieve whether auto-completion cancelled by backspacing before start. SCI_AUTOCGETCANCELATSTART = 2111, /// Define a set of characters that when typed will cause the autocompletion to /// choose the selected item. SCI_AUTOCSETFILLUPS = 2112, /// Should a single item auto-completion list automatically choose the item. SCI_AUTOCSETCHOOSESINGLE = 2113, /// Retrieve whether a single item auto-completion list automatically choose the item. SCI_AUTOCGETCHOOSESINGLE = 2114, /// Set whether case is significant when performing auto-completion searches. SCI_AUTOCSETIGNORECASE = 2115, /// Retrieve state of ignore case flag. SCI_AUTOCGETIGNORECASE = 2116, /// Display a list of strings and send notification when user chooses one. SCI_USERLISTSHOW = 2117, /// Set whether or not autocompletion is hidden automatically when nothing matches. SCI_AUTOCSETAUTOHIDE = 2118, /// Retrieve whether or not autocompletion is hidden automatically when nothing matches. SCI_AUTOCGETAUTOHIDE = 2119, /// Set whether or not autocompletion deletes any word characters /// after the inserted text upon completion. SCI_AUTOCSETDROPRESTOFWORD = 2270, /// Retrieve whether or not autocompletion deletes any word characters /// after the inserted text upon completion. SCI_AUTOCGETDROPRESTOFWORD = 2271, /// Register an XPM image for use in autocompletion lists. SCI_REGISTERIMAGE = 2405, /// Clear all the registered XPM images. SCI_CLEARREGISTEREDIMAGES = 2408, /// Retrieve the auto-completion list type-separator character. SCI_AUTOCGETTYPESEPARATOR = 2285, /// Change the type-separator character in the string setting up an auto-completion list. /// Default is '?' but can be changed if items contain '?'. SCI_AUTOCSETTYPESEPARATOR = 2286, /// Set the maximum width, in characters, of auto-completion and user lists. /// Set to 0 to autosize to fit longest item, which is the default. SCI_AUTOCSETMAXWIDTH = 2208, /// Get the maximum width, in characters, of auto-completion and user lists. SCI_AUTOCGETMAXWIDTH = 2209, /// Set the maximum height, in rows, of auto-completion and user lists. /// The default is 5 rows. SCI_AUTOCSETMAXHEIGHT = 2210, /// Set the maximum height, in rows, of auto-completion and user lists. SCI_AUTOCGETMAXHEIGHT = 2211, /// Set the number of spaces used for one level of indentation. SCI_SETINDENT = 2122, /// Retrieve indentation size. SCI_GETINDENT = 2123, /// Indentation will only use space characters if useTabs is false, otherwise /// it will use a combination of tabs and spaces. SCI_SETUSETABS = 2124, /// Retrieve whether tabs will be used in indentation. SCI_GETUSETABS = 2125, /// Change the indentation of a line to a number of columns. SCI_SETLINEINDENTATION = 2126, /// Retrieve the number of columns that a line is indented. SCI_GETLINEINDENTATION = 2127, /// Retrieve the position before the first non indentation character on a line. SCI_GETLINEINDENTPOSITION = 2128, /// Retrieve the column number of a position, taking tab width into account. SCI_GETCOLUMN = 2129, /// Count characters between two positions. SCI_COUNTCHARACTERS = 2633, /// Show or hide the horizontal scroll bar. SCI_SETHSCROLLBAR = 2130, /// Is the horizontal scroll bar visible? SCI_GETHSCROLLBAR = 2131, SC_IV_NONE = 0, SC_IV_REAL = 1, SC_IV_LOOKFORWARD = 2, SC_IV_LOOKBOTH = 3, /// Show or hide indentation guides. SCI_SETINDENTATIONGUIDES = 2132, /// Are the indentation guides visible? SCI_GETINDENTATIONGUIDES = 2133, /// Set the highlighted indentation guide column. /// 0 = no highlighted guide. SCI_SETHIGHLIGHTGUIDE = 2134, /// Get the highlighted indentation guide column. SCI_GETHIGHLIGHTGUIDE = 2135, /// Get the position after the last visible characters on a line. SCI_GETLINEENDPOSITION = 2136, /// Get the code page used to interpret the bytes of the document as characters. SCI_GETCODEPAGE = 2137, /// Get the foreground colour of the caret. SCI_GETCARETFORE = 2138, /// In read-only mode? SCI_GETREADONLY = 2140, /// Sets the position of the caret. SCI_SETCURRENTPOS = 2141, /// Sets the position that starts the selection - this becomes the anchor. SCI_SETSELECTIONSTART = 2142, /// Returns the position at the start of the selection. SCI_GETSELECTIONSTART = 2143, /// Sets the position that ends the selection - this becomes the currentPosition. SCI_SETSELECTIONEND = 2144, /// Returns the position at the end of the selection. SCI_GETSELECTIONEND = 2145, /// Set caret to a position, while removing any existing selection. SCI_SETEMPTYSELECTION = 2556, /// Sets the print magnification added to the point size of each style for printing. SCI_SETPRINTMAGNIFICATION = 2146, /// Returns the print magnification. SCI_GETPRINTMAGNIFICATION = 2147, SC_PRINT_NORMAL = 0, SC_PRINT_INVERTLIGHT = 1, SC_PRINT_BLACKONWHITE = 2, SC_PRINT_COLOURONWHITE = 3, SC_PRINT_COLOURONWHITEDEFAULTBG = 4, /// Modify colours when printing for clearer printed text. SCI_SETPRINTCOLOURMODE = 2148, /// Returns the print colour mode. SCI_GETPRINTCOLOURMODE = 2149, SCFIND_WHOLEWORD = 0x2, SCFIND_MATCHCASE = 0x4, SCFIND_WORDSTART = 0x00100000, SCFIND_REGEXP = 0x00200000, SCFIND_POSIX = 0x00400000, SCFIND_CXX11REGEX = 0x00800000, /// Find some text in the document. SCI_FINDTEXT = 2150, /// On Windows, will draw the document into a display context such as a printer. SCI_FORMATRANGE = 2151, /// Retrieve the display line at the top of the display. SCI_GETFIRSTVISIBLELINE = 2152, /// Retrieve the contents of a line. /// Returns the length of the line. SCI_GETLINE = 2153, /// Returns the number of lines in the document. There is always at least one. SCI_GETLINECOUNT = 2154, /// Sets the size in pixels of the left margin. SCI_SETMARGINLEFT = 2155, /// Returns the size in pixels of the left margin. SCI_GETMARGINLEFT = 2156, /// Sets the size in pixels of the right margin. SCI_SETMARGINRIGHT = 2157, /// Returns the size in pixels of the right margin. SCI_GETMARGINRIGHT = 2158, /// Is the document different from when it was last saved? SCI_GETMODIFY = 2159, /// Select a range of text. SCI_SETSEL = 2160, /// Retrieve the selected text. /// Return the length of the text. /// Result is NUL-terminated. SCI_GETSELTEXT = 2161, /// Retrieve a range of text. /// Return the length of the text. SCI_GETTEXTRANGE = 2162, /// Draw the selection in normal style or with selection highlighted. SCI_HIDESELECTION = 2163, /// Retrieve the x value of the point in the window where a position is displayed. SCI_POINTXFROMPOSITION = 2164, /// Retrieve the y value of the point in the window where a position is displayed. SCI_POINTYFROMPOSITION = 2165, /// Retrieve the line containing a position. SCI_LINEFROMPOSITION = 2166, /// Retrieve the position at the start of a line. SCI_POSITIONFROMLINE = 2167, /// Scroll horizontally and vertically. SCI_LINESCROLL = 2168, /// Ensure the caret is visible. SCI_SCROLLCARET = 2169, /// Scroll the argument positions and the range between them into view giving /// priority to the primary position then the secondary position. /// This may be used to make a search match visible. SCI_SCROLLRANGE = 2569, /// Replace the selected text with the argument text. SCI_REPLACESEL = 2170, /// Set to read only or read write. SCI_SETREADONLY = 2171, /// Null operation. SCI_NULL = 2172, /// Will a paste succeed? SCI_CANPASTE = 2173, /// Are there any undoable actions in the undo history? SCI_CANUNDO = 2174, /// Delete the undo history. SCI_EMPTYUNDOBUFFER = 2175, /// Undo one action in the undo history. SCI_UNDO = 2176, /// Cut the selection to the clipboard. SCI_CUT = 2177, /// Copy the selection to the clipboard. SCI_COPY = 2178, /// Paste the contents of the clipboard into the document replacing the selection. SCI_PASTE = 2179, /// Clear the selection. SCI_CLEAR = 2180, /// Replace the contents of the document with the argument text. SCI_SETTEXT = 2181, /// Retrieve all the text in the document. /// Returns number of characters retrieved. /// Result is NUL-terminated. SCI_GETTEXT = 2182, /// Retrieve the number of characters in the document. SCI_GETTEXTLENGTH = 2183, /// Retrieve a pointer to a function that processes messages for this Scintilla. SCI_GETDIRECTFUNCTION = 2184, /// Retrieve a pointer value to use as the first argument when calling /// the function returned by GetDirectFunction. SCI_GETDIRECTPOINTER = 2185, /// Set to overtype (true) or insert mode. SCI_SETOVERTYPE = 2186, /// Returns true if overtype mode is active otherwise false is returned. SCI_GETOVERTYPE = 2187, /// Set the width of the insert mode caret. SCI_SETCARETWIDTH = 2188, /// Returns the width of the insert mode caret. SCI_GETCARETWIDTH = 2189, /// Sets the position that starts the target which is used for updating the /// document without affecting the scroll position. SCI_SETTARGETSTART = 2190, /// Get the position that starts the target. SCI_GETTARGETSTART = 2191, /// Sets the position that ends the target which is used for updating the /// document without affecting the scroll position. SCI_SETTARGETEND = 2192, /// Get the position that ends the target. SCI_GETTARGETEND = 2193, /// Sets both the start and end of the target in one call. SCI_SETTARGETRANGE = 2686, /// Retrieve the text in the target. SCI_GETTARGETTEXT = 2687, /// Replace the target text with the argument text. /// Text is counted so it can contain NULs. /// Returns the length of the replacement text. SCI_REPLACETARGET = 2194, /// Replace the target text with the argument text after \d processing. /// Text is counted so it can contain NULs. /// Looks for \d where d is between 1 and 9 and replaces these with the strings /// matched in the last search operation which were surrounded by \( and \). /// Returns the length of the replacement text including any change /// caused by processing the \d patterns. SCI_REPLACETARGETRE = 2195, /// Search for a counted string in the target and set the target to the found /// range. Text is counted so it can contain NULs. /// Returns length of range or -1 for failure in which case target is not moved. SCI_SEARCHINTARGET = 2197, /// Set the search flags used by SearchInTarget. SCI_SETSEARCHFLAGS = 2198, /// Get the search flags used by SearchInTarget. SCI_GETSEARCHFLAGS = 2199, /// Show a call tip containing a definition near position pos. SCI_CALLTIPSHOW = 2200, /// Remove the call tip from the screen. SCI_CALLTIPCANCEL = 2201, /// Is there an active call tip? SCI_CALLTIPACTIVE = 2202, /// Retrieve the position where the caret was before displaying the call tip. SCI_CALLTIPPOSSTART = 2203, /// Set the start position in order to change when backspacing removes the calltip. SCI_CALLTIPSETPOSSTART = 2214, /// Highlight a segment of the definition. SCI_CALLTIPSETHLT = 2204, /// Set the background colour for the call tip. SCI_CALLTIPSETBACK = 2205, /// Set the foreground colour for the call tip. SCI_CALLTIPSETFORE = 2206, /// Set the foreground colour for the highlighted part of the call tip. SCI_CALLTIPSETFOREHLT = 2207, /// Enable use of STYLE_CALLTIP and set call tip tab size in pixels. SCI_CALLTIPUSESTYLE = 2212, /// Set position of calltip, above or below text. SCI_CALLTIPSETPOSITION = 2213, /// Find the display line of a document line taking hidden lines into account. SCI_VISIBLEFROMDOCLINE = 2220, /// Find the document line of a display line taking hidden lines into account. SCI_DOCLINEFROMVISIBLE = 2221, /// The number of display lines needed to wrap a document line SCI_WRAPCOUNT = 2235, SC_FOLDLEVELBASE = 0x400, SC_FOLDLEVELWHITEFLAG = 0x1000, SC_FOLDLEVELHEADERFLAG = 0x2000, SC_FOLDLEVELNUMBERMASK = 0x0FFF, /// Set the fold level of a line. /// This encodes an integer level along with flags indicating whether the /// line is a header and whether it is effectively white space. SCI_SETFOLDLEVEL = 2222, /// Retrieve the fold level of a line. SCI_GETFOLDLEVEL = 2223, /// Find the last child line of a header line. SCI_GETLASTCHILD = 2224, /// Find the parent line of a child line. SCI_GETFOLDPARENT = 2225, /// Make a range of lines visible. SCI_SHOWLINES = 2226, /// Make a range of lines invisible. SCI_HIDELINES = 2227, /// Is a line visible? SCI_GETLINEVISIBLE = 2228, /// Are all lines visible? SCI_GETALLLINESVISIBLE = 2236, /// Show the children of a header line. SCI_SETFOLDEXPANDED = 2229, /// Is a header line expanded? SCI_GETFOLDEXPANDED = 2230, /// Switch a header line between expanded and contracted. SCI_TOGGLEFOLD = 2231, SC_FOLDACTION_CONTRACT = 0, SC_FOLDACTION_EXPAND = 1, SC_FOLDACTION_TOGGLE = 2, /// Expand or contract a fold header. SCI_FOLDLINE = 2237, /// Expand or contract a fold header and its children. SCI_FOLDCHILDREN = 2238, /// Expand a fold header and all children. Use the level argument instead of the line's current level. SCI_EXPANDCHILDREN = 2239, /// Expand or contract all fold headers. SCI_FOLDALL = 2662, /// Ensure a particular line is visible by expanding any header line hiding it. SCI_ENSUREVISIBLE = 2232, SC_AUTOMATICFOLD_SHOW = 0x0001, SC_AUTOMATICFOLD_CLICK = 0x0002, SC_AUTOMATICFOLD_CHANGE = 0x0004, /// Set automatic folding behaviours. SCI_SETAUTOMATICFOLD = 2663, /// Get automatic folding behaviours. SCI_GETAUTOMATICFOLD = 2664, SC_FOLDFLAG_LINEBEFORE_EXPANDED = 0x0002, SC_FOLDFLAG_LINEBEFORE_CONTRACTED = 0x0004, SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008, SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010, SC_FOLDFLAG_LEVELNUMBERS = 0x0040, SC_FOLDFLAG_LINESTATE = 0x0080, /// Set some style options for folding. SCI_SETFOLDFLAGS = 2233, /// Ensure a particular line is visible by expanding any header line hiding it. /// Use the currently set visibility policy to determine which range to display. SCI_ENSUREVISIBLEENFORCEPOLICY = 2234, /// Sets whether a tab pressed when caret is within indentation indents. SCI_SETTABINDENTS = 2260, /// Does a tab pressed when caret is within indentation indent? SCI_GETTABINDENTS = 2261, /// Sets whether a backspace pressed when caret is within indentation unindents. SCI_SETBACKSPACEUNINDENTS = 2262, /// Does a backspace pressed when caret is within indentation unindent? SCI_GETBACKSPACEUNINDENTS = 2263, SC_TIME_FOREVER = 10000000, /// Sets the time the mouse must sit still to generate a mouse dwell event. SCI_SETMOUSEDWELLTIME = 2264, /// Retrieve the time the mouse must sit still to generate a mouse dwell event. SCI_GETMOUSEDWELLTIME = 2265, /// Get position of start of word. SCI_WORDSTARTPOSITION = 2266, /// Get position of end of word. SCI_WORDENDPOSITION = 2267, SC_WRAP_NONE = 0, SC_WRAP_WORD = 1, SC_WRAP_CHAR = 2, SC_WRAP_WHITESPACE = 3, /// Sets whether text is word wrapped. SCI_SETWRAPMODE = 2268, /// Retrieve whether text is word wrapped. SCI_GETWRAPMODE = 2269, SC_WRAPVISUALFLAG_NONE = 0x0000, SC_WRAPVISUALFLAG_END = 0x0001, SC_WRAPVISUALFLAG_START = 0x0002, SC_WRAPVISUALFLAG_MARGIN = 0x0004, /// Set the display mode of visual flags for wrapped lines. SCI_SETWRAPVISUALFLAGS = 2460, /// Retrive the display mode of visual flags for wrapped lines. SCI_GETWRAPVISUALFLAGS = 2461, SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000, SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001, SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002, /// Set the location of visual flags for wrapped lines. SCI_SETWRAPVISUALFLAGSLOCATION = 2462, /// Retrive the location of visual flags for wrapped lines. SCI_GETWRAPVISUALFLAGSLOCATION = 2463, /// Set the start indent for wrapped lines. SCI_SETWRAPSTARTINDENT = 2464, /// Retrive the start indent for wrapped lines. SCI_GETWRAPSTARTINDENT = 2465, SC_WRAPINDENT_FIXED = 0, SC_WRAPINDENT_SAME = 1, SC_WRAPINDENT_INDENT = 2, /// Sets how wrapped sublines are placed. Default is fixed. SCI_SETWRAPINDENTMODE = 2472, /// Retrieve how wrapped sublines are placed. Default is fixed. SCI_GETWRAPINDENTMODE = 2473, SC_CACHE_NONE = 0, SC_CACHE_CARET = 1, SC_CACHE_PAGE = 2, SC_CACHE_DOCUMENT = 3, /// Sets the degree of caching of layout information. SCI_SETLAYOUTCACHE = 2272, /// Retrieve the degree of caching of layout information. SCI_GETLAYOUTCACHE = 2273, /// Sets the document width assumed for scrolling. SCI_SETSCROLLWIDTH = 2274, /// Retrieve the document width assumed for scrolling. SCI_GETSCROLLWIDTH = 2275, /// Sets whether the maximum width line displayed is used to set scroll width. SCI_SETSCROLLWIDTHTRACKING = 2516, /// Retrieve whether the scroll width tracks wide lines. SCI_GETSCROLLWIDTHTRACKING = 2517, /// Measure the pixel width of some text in a particular style. /// NUL terminated text argument. /// Does not handle tab or control characters. SCI_TEXTWIDTH = 2276, /// Sets the scroll range so that maximum scroll position has /// the last line at the bottom of the view (default). /// Setting this to false allows scrolling one page below the last line. SCI_SETENDATLASTLINE = 2277, /// Retrieve whether the maximum scroll position has the last /// line at the bottom of the view. SCI_GETENDATLASTLINE = 2278, /// Retrieve the height of a particular line of text in pixels. SCI_TEXTHEIGHT = 2279, /// Show or hide the vertical scroll bar. SCI_SETVSCROLLBAR = 2280, /// Is the vertical scroll bar visible? SCI_GETVSCROLLBAR = 2281, /// Append a string to the end of the document without changing the selection. SCI_APPENDTEXT = 2282, /// Is drawing done in two phases with backgrounds drawn before foregrounds? SCI_GETTWOPHASEDRAW = 2283, /// In twoPhaseDraw mode, drawing is performed in two phases, first the background /// and then the foreground. This avoids chopping off characters that overlap the next run. SCI_SETTWOPHASEDRAW = 2284, SC_PHASES_ONE = 0, SC_PHASES_TWO = 1, SC_PHASES_MULTIPLE = 2, /// How many phases is drawing done in? SCI_GETPHASESDRAW = 2673, /// In one phase draw, text is drawn in a series of rectangular blocks with no overlap. /// In two phase draw, text is drawn in a series of lines allowing runs to overlap horizontally. /// In multiple phase draw, each element is drawn over the whole drawing area, allowing text /// to overlap from one line to the next. SCI_SETPHASESDRAW = 2674, SC_EFF_QUALITY_MASK = 0xF, SC_EFF_QUALITY_DEFAULT = 0, SC_EFF_QUALITY_NON_ANTIALIASED = 1, SC_EFF_QUALITY_ANTIALIASED = 2, SC_EFF_QUALITY_LCD_OPTIMIZED = 3, /// Choose the quality level for text from the FontQuality enumeration. SCI_SETFONTQUALITY = 2611, /// Retrieve the quality level for text. SCI_GETFONTQUALITY = 2612, /// Scroll so that a display line is at the top of the display. SCI_SETFIRSTVISIBLELINE = 2613, SC_MULTIPASTE_ONCE = 0, SC_MULTIPASTE_EACH = 1, /// Change the effect of pasting when there are multiple selections. SCI_SETMULTIPASTE = 2614, /// Retrieve the effect of pasting when there are multiple selections.. SCI_GETMULTIPASTE = 2615, /// Retrieve the value of a tag from a regular expression search. /// Result is NUL-terminated. SCI_GETTAG = 2616, /// Make the target range start and end be the same as the selection range start and end. SCI_TARGETFROMSELECTION = 2287, /// Join the lines in the target. SCI_LINESJOIN = 2288, /// Split the lines in the target into lines that are less wide than pixelWidth /// where possible. SCI_LINESSPLIT = 2289, /// Set the colours used as a chequerboard pattern in the fold margin SCI_SETFOLDMARGINCOLOUR = 2290, /// Set the colours used as a chequerboard pattern in the fold margin SCI_SETFOLDMARGINHICOLOUR = 2291, /// Move caret down one line. SCI_LINEDOWN = 2300, /// Move caret down one line extending selection to new caret position. SCI_LINEDOWNEXTEND = 2301, /// Move caret up one line. SCI_LINEUP = 2302, /// Move caret up one line extending selection to new caret position. SCI_LINEUPEXTEND = 2303, /// Move caret left one character. SCI_CHARLEFT = 2304, /// Move caret left one character extending selection to new caret position. SCI_CHARLEFTEXTEND = 2305, /// Move caret right one character. SCI_CHARRIGHT = 2306, /// Move caret right one character extending selection to new caret position. SCI_CHARRIGHTEXTEND = 2307, /// Move caret left one word. SCI_WORDLEFT = 2308, /// Move caret left one word extending selection to new caret position. SCI_WORDLEFTEXTEND = 2309, /// Move caret right one word. SCI_WORDRIGHT = 2310, /// Move caret right one word extending selection to new caret position. SCI_WORDRIGHTEXTEND = 2311, /// Move caret to first position on line. SCI_HOME = 2312, /// Move caret to first position on line extending selection to new caret position. SCI_HOMEEXTEND = 2313, /// Move caret to last position on line. SCI_LINEEND = 2314, /// Move caret to last position on line extending selection to new caret position. SCI_LINEENDEXTEND = 2315, /// Move caret to first position in document. SCI_DOCUMENTSTART = 2316, /// Move caret to first position in document extending selection to new caret position. SCI_DOCUMENTSTARTEXTEND = 2317, /// Move caret to last position in document. SCI_DOCUMENTEND = 2318, /// Move caret to last position in document extending selection to new caret position. SCI_DOCUMENTENDEXTEND = 2319, /// Move caret one page up. SCI_PAGEUP = 2320, /// Move caret one page up extending selection to new caret position. SCI_PAGEUPEXTEND = 2321, /// Move caret one page down. SCI_PAGEDOWN = 2322, /// Move caret one page down extending selection to new caret position. SCI_PAGEDOWNEXTEND = 2323, /// Switch from insert to overtype mode or the reverse. SCI_EDITTOGGLEOVERTYPE = 2324, /// Cancel any modes such as call tip or auto-completion list display. SCI_CANCEL = 2325, /// Delete the selection or if no selection, the character before the caret. SCI_DELETEBACK = 2326, /// If selection is empty or all on one line replace the selection with a tab character. /// If more than one line selected, indent the lines. SCI_TAB = 2327, /// Dedent the selected lines. SCI_BACKTAB = 2328, /// Insert a new line, may use a CRLF, CR or LF depending on EOL mode. SCI_NEWLINE = 2329, /// Insert a Form Feed character. SCI_FORMFEED = 2330, /// Move caret to before first visible character on line. /// If already there move to first character on line. SCI_VCHOME = 2331, /// Like VCHome but extending selection to new caret position. SCI_VCHOMEEXTEND = 2332, /// Magnify the displayed text by increasing the sizes by 1 point. SCI_ZOOMIN = 2333, /// Make the displayed text smaller by decreasing the sizes by 1 point. SCI_ZOOMOUT = 2334, /// Delete the word to the left of the caret. SCI_DELWORDLEFT = 2335, /// Delete the word to the right of the caret. SCI_DELWORDRIGHT = 2336, /// Delete the word to the right of the caret, but not the trailing non-word characters. SCI_DELWORDRIGHTEND = 2518, /// Cut the line containing the caret. SCI_LINECUT = 2337, /// Delete the line containing the caret. SCI_LINEDELETE = 2338, /// Switch the current line with the previous. SCI_LINETRANSPOSE = 2339, /// Duplicate the current line. SCI_LINEDUPLICATE = 2404, /// Transform the selection to lower case. SCI_LOWERCASE = 2340, /// Transform the selection to upper case. SCI_UPPERCASE = 2341, /// Scroll the document down, keeping the caret visible. SCI_LINESCROLLDOWN = 2342, /// Scroll the document up, keeping the caret visible. SCI_LINESCROLLUP = 2343, /// Delete the selection or if no selection, the character before the caret. /// Will not delete the character before at the start of a line. SCI_DELETEBACKNOTLINE = 2344, /// Move caret to first position on display line. SCI_HOMEDISPLAY = 2345, /// Move caret to first position on display line extending selection to /// new caret position. SCI_HOMEDISPLAYEXTEND = 2346, /// Move caret to last position on display line. SCI_LINEENDDISPLAY = 2347, /// Move caret to last position on display line extending selection to new /// caret position. SCI_LINEENDDISPLAYEXTEND = 2348, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_HOMEWRAP = 2349, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_HOMEWRAPEXTEND = 2450, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_LINEENDWRAP = 2451, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_LINEENDWRAPEXTEND = 2452, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_VCHOMEWRAP = 2453, /// These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)? /// except they behave differently when word-wrap is enabled: /// They go first to the start / end of the display line, like (Home|LineEnd)Display /// The difference is that, the cursor is already at the point, it goes on to the start /// or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?. SCI_VCHOMEWRAPEXTEND = 2454, /// Copy the line containing the caret. SCI_LINECOPY = 2455, /// Move the caret inside current view if it's not there already. SCI_MOVECARETINSIDEVIEW = 2401, /// How many characters are on a line, including end of line characters? SCI_LINELENGTH = 2350, /// Highlight the characters at two positions. SCI_BRACEHIGHLIGHT = 2351, /// Use specified indicator to highlight matching braces instead of changing their style. SCI_BRACEHIGHLIGHTINDICATOR = 2498, /// Highlight the character at a position indicating there is no matching brace. SCI_BRACEBADLIGHT = 2352, /// Use specified indicator to highlight non matching brace instead of changing its style. SCI_BRACEBADLIGHTINDICATOR = 2499, /// Find the position of a matching brace or INVALID_POSITION if no match. SCI_BRACEMATCH = 2353, /// Are the end of line characters visible? SCI_GETVIEWEOL = 2355, /// Make the end of line characters visible or invisible. SCI_SETVIEWEOL = 2356, /// Retrieve a pointer to the document object. SCI_GETDOCPOINTER = 2357, /// Change the document object used. SCI_SETDOCPOINTER = 2358, /// Set which document modification events are sent to the container. SCI_SETMODEVENTMASK = 2359, EDGE_NONE = 0, EDGE_LINE = 1, EDGE_BACKGROUND = 2, /// Retrieve the column number which text should be kept within. SCI_GETEDGECOLUMN = 2360, /// Set the column number of the edge. /// If text goes past the edge then it is highlighted. SCI_SETEDGECOLUMN = 2361, /// Retrieve the edge highlight mode. SCI_GETEDGEMODE = 2362, /// The edge may be displayed by a line (EDGE_LINE) or by highlighting text that /// goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE). SCI_SETEDGEMODE = 2363, /// Retrieve the colour used in edge indication. SCI_GETEDGECOLOUR = 2364, /// Change the colour used in edge indication. SCI_SETEDGECOLOUR = 2365, /// Sets the current caret position to be the search anchor. SCI_SEARCHANCHOR = 2366, /// Find some text starting at the search anchor. /// Does not ensure the selection is visible. SCI_SEARCHNEXT = 2367, /// Find some text starting at the search anchor and moving backwards. /// Does not ensure the selection is visible. SCI_SEARCHPREV = 2368, /// Retrieves the number of lines completely visible. SCI_LINESONSCREEN = 2370, /// Set whether a pop up menu is displayed automatically when the user presses /// the wrong mouse button. SCI_USEPOPUP = 2371, /// Is the selection rectangular? The alternative is the more common stream selection. SCI_SELECTIONISRECTANGLE = 2372, /// Set the zoom level. This number of points is added to the size of all fonts. /// It may be positive to magnify or negative to reduce. SCI_SETZOOM = 2373, /// Retrieve the zoom level. SCI_GETZOOM = 2374, /// Create a new document object. /// Starts with reference count of 1 and not selected into editor. SCI_CREATEDOCUMENT = 2375, /// Extend life of document. SCI_ADDREFDOCUMENT = 2376, /// Release a reference to the document, deleting document if it fades to black. SCI_RELEASEDOCUMENT = 2377, /// Get which document modification events are sent to the container. SCI_GETMODEVENTMASK = 2378, /// Change internal focus flag. SCI_SETFOCUS = 2380, /// Get internal focus flag. SCI_GETFOCUS = 2381, SC_STATUS_OK = 0, SC_STATUS_FAILURE = 1, SC_STATUS_BADALLOC = 2, SC_STATUS_WARN_START = 1000, SC_STATUS_WARN_REGEX = 1001, /// Change error status - 0 = OK. SCI_SETSTATUS = 2382, /// Get error status. SCI_GETSTATUS = 2383, /// Set whether the mouse is captured when its button is pressed. SCI_SETMOUSEDOWNCAPTURES = 2384, /// Get whether mouse gets captured. SCI_GETMOUSEDOWNCAPTURES = 2385, SC_CURSORNORMAL = 0xFFFFFFFF, SC_CURSORARROW = 2, SC_CURSORWAIT = 4, SC_CURSORREVERSEARROW = 7, /// Sets the cursor to one of the SC_CURSOR* values. SCI_SETCURSOR = 2386, /// Get cursor type. SCI_GETCURSOR = 2387, /// Change the way control characters are displayed: /// If symbol is < 32, keep the drawn way, else, use the given character. SCI_SETCONTROLCHARSYMBOL = 2388, /// Get the way control characters are displayed. SCI_GETCONTROLCHARSYMBOL = 2389, /// Move to the previous change in capitalisation. SCI_WORDPARTLEFT = 2390, /// Move to the previous change in capitalisation extending selection /// to new caret position. SCI_WORDPARTLEFTEXTEND = 2391, /// Move to the change next in capitalisation. SCI_WORDPARTRIGHT = 2392, /// Move to the next change in capitalisation extending selection /// to new caret position. SCI_WORDPARTRIGHTEXTEND = 2393, VISIBLE_SLOP = 0x01, VISIBLE_STRICT = 0x04, /// Set the way the display area is determined when a particular line /// is to be moved to by Find, FindNext, GotoLine, etc. SCI_SETVISIBLEPOLICY = 2394, /// Delete back from the current position to the start of the line. SCI_DELLINELEFT = 2395, /// Delete forwards from the current position to the end of the line. SCI_DELLINERIGHT = 2396, /// Get and Set the xOffset (ie, horizontal scroll position). SCI_SETXOFFSET = 2397, /// Get and Set the xOffset (ie, horizontal scroll position). SCI_GETXOFFSET = 2398, /// Set the last x chosen value to be the caret x position. SCI_CHOOSECARETX = 2399, /// Set the focus to this Scintilla widget. SCI_GRABFOCUS = 2400, CARET_SLOP = 0x01, CARET_STRICT = 0x04, CARET_JUMPS = 0x10, CARET_EVEN = 0x08, /// Set the way the caret is kept visible when going sideways. /// The exclusion zone is given in pixels. SCI_SETXCARETPOLICY = 2402, /// Set the way the line the caret is on is kept visible. /// The exclusion zone is given in lines. SCI_SETYCARETPOLICY = 2403, /// Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE). SCI_SETPRINTWRAPMODE = 2406, /// Is printing line wrapped? SCI_GETPRINTWRAPMODE = 2407, /// Set a fore colour for active hotspots. SCI_SETHOTSPOTACTIVEFORE = 2410, /// Get the fore colour for active hotspots. SCI_GETHOTSPOTACTIVEFORE = 2494, /// Set a back colour for active hotspots. SCI_SETHOTSPOTACTIVEBACK = 2411, /// Get the back colour for active hotspots. SCI_GETHOTSPOTACTIVEBACK = 2495, /// Enable / Disable underlining active hotspots. SCI_SETHOTSPOTACTIVEUNDERLINE = 2412, /// Get whether underlining for active hotspots. SCI_GETHOTSPOTACTIVEUNDERLINE = 2496, /// Limit hotspots to single line so hotspots on two lines don't merge. SCI_SETHOTSPOTSINGLELINE = 2421, /// Get the HotspotSingleLine property SCI_GETHOTSPOTSINGLELINE = 2497, /// Move caret between paragraphs (delimited by empty lines). SCI_PARADOWN = 2413, /// Move caret between paragraphs (delimited by empty lines). SCI_PARADOWNEXTEND = 2414, /// Move caret between paragraphs (delimited by empty lines). SCI_PARAUP = 2415, /// Move caret between paragraphs (delimited by empty lines). SCI_PARAUPEXTEND = 2416, /// Given a valid document position, return the previous position taking code /// page into account. Returns 0 if passed 0. SCI_POSITIONBEFORE = 2417, /// Given a valid document position, return the next position taking code /// page into account. Maximum value returned is the last position in the document. SCI_POSITIONAFTER = 2418, /// Given a valid document position, return a position that differs in a number /// of characters. Returned value is always between 0 and last position in document. SCI_POSITIONRELATIVE = 2670, /// Copy a range of text to the clipboard. Positions are clipped into the document. SCI_COPYRANGE = 2419, /// Copy argument text to the clipboard. SCI_COPYTEXT = 2420, SC_SEL_STREAM = 0, SC_SEL_RECTANGLE = 1, SC_SEL_LINES = 2, SC_SEL_THIN = 3, /// Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or /// by lines (SC_SEL_LINES). SCI_SETSELECTIONMODE = 2422, /// Get the mode of the current selection. SCI_GETSELECTIONMODE = 2423, /// Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line). SCI_GETLINESELSTARTPOSITION = 2424, /// Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line). SCI_GETLINESELENDPOSITION = 2425, /// Move caret down one line, extending rectangular selection to new caret position. SCI_LINEDOWNRECTEXTEND = 2426, /// Move caret up one line, extending rectangular selection to new caret position. SCI_LINEUPRECTEXTEND = 2427, /// Move caret left one character, extending rectangular selection to new caret position. SCI_CHARLEFTRECTEXTEND = 2428, /// Move caret right one character, extending rectangular selection to new caret position. SCI_CHARRIGHTRECTEXTEND = 2429, /// Move caret to first position on line, extending rectangular selection to new caret position. SCI_HOMERECTEXTEND = 2430, /// Move caret to before first visible character on line. /// If already there move to first character on line. /// In either case, extend rectangular selection to new caret position. SCI_VCHOMERECTEXTEND = 2431, /// Move caret to last position on line, extending rectangular selection to new caret position. SCI_LINEENDRECTEXTEND = 2432, /// Move caret one page up, extending rectangular selection to new caret position. SCI_PAGEUPRECTEXTEND = 2433, /// Move caret one page down, extending rectangular selection to new caret position. SCI_PAGEDOWNRECTEXTEND = 2434, /// Move caret to top of page, or one page up if already at top of page. SCI_STUTTEREDPAGEUP = 2435, /// Move caret to top of page, or one page up if already at top of page, extending selection to new caret position. SCI_STUTTEREDPAGEUPEXTEND = 2436, /// Move caret to bottom of page, or one page down if already at bottom of page. SCI_STUTTEREDPAGEDOWN = 2437, /// Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position. SCI_STUTTEREDPAGEDOWNEXTEND = 2438, /// Move caret left one word, position cursor at end of word. SCI_WORDLEFTEND = 2439, /// Move caret left one word, position cursor at end of word, extending selection to new caret position. SCI_WORDLEFTENDEXTEND = 2440, /// Move caret right one word, position cursor at end of word. SCI_WORDRIGHTEND = 2441, /// Move caret right one word, position cursor at end of word, extending selection to new caret position. SCI_WORDRIGHTENDEXTEND = 2442, /// Set the set of characters making up whitespace for when moving or selecting by word. /// Should be called after SetWordChars. SCI_SETWHITESPACECHARS = 2443, /// Get the set of characters making up whitespace for when moving or selecting by word. SCI_GETWHITESPACECHARS = 2647, /// Set the set of characters making up punctuation characters /// Should be called after SetWordChars. SCI_SETPUNCTUATIONCHARS = 2648, /// Get the set of characters making up punctuation characters SCI_GETPUNCTUATIONCHARS = 2649, /// Reset the set of characters for whitespace and word characters to the defaults. SCI_SETCHARSDEFAULT = 2444, /// Get currently selected item position in the auto-completion list SCI_AUTOCGETCURRENT = 2445, /// Get currently selected item text in the auto-completion list /// Returns the length of the item text /// Result is NUL-terminated. SCI_AUTOCGETCURRENTTEXT = 2610, SC_CASEINSENSITIVEBEHAVIOUR_RESPECTCASE = 0, SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = 1, /// Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference. SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = 2634, /// Get auto-completion case insensitive behaviour. SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = 2635, SC_MULTIAUTOC_ONCE = 0, SC_MULTIAUTOC_EACH = 1, /// Change the effect of autocompleting when there are multiple selections. SCI_AUTOCSETMULTI = 2636, /// Retrieve the effect of autocompleting when there are multiple selections.. SCI_AUTOCGETMULTI = 2637, SC_ORDER_PRESORTED = 0, SC_ORDER_PERFORMSORT = 1, SC_ORDER_CUSTOM = 2, /// Set the way autocompletion lists are ordered. SCI_AUTOCSETORDER = 2660, /// Get the way autocompletion lists are ordered. SCI_AUTOCGETORDER = 2661, /// Enlarge the document to a particular size of text bytes. SCI_ALLOCATE = 2446, /// Returns the target converted to UTF8. /// Return the length in bytes. SCI_TARGETASUTF8 = 2447, /// Set the length of the utf8 argument for calling EncodedFromUTF8. /// Set to -1 and the string will be measured to the first nul. SCI_SETLENGTHFORENCODE = 2448, /// Translates a UTF8 string into the document encoding. /// Return the length of the result in bytes. /// On error return 0. SCI_ENCODEDFROMUTF8 = 2449, /// Find the position of a column on a line taking into account tabs and /// multi-byte characters. If beyond end of line, return line end position. SCI_FINDCOLUMN = 2456, /// Can the caret preferred x position only be changed by explicit movement commands? SCI_GETCARETSTICKY = 2457, /// Stop the caret preferred x position changing when the user types. SCI_SETCARETSTICKY = 2458, SC_CARETSTICKY_OFF = 0, SC_CARETSTICKY_ON = 1, SC_CARETSTICKY_WHITESPACE = 2, /// Switch between sticky and non-sticky: meant to be bound to a key. SCI_TOGGLECARETSTICKY = 2459, /// Enable/Disable convert-on-paste for line endings SCI_SETPASTECONVERTENDINGS = 2467, /// Get convert-on-paste setting SCI_GETPASTECONVERTENDINGS = 2468, /// Duplicate the selection. If selection empty duplicate the line containing the caret. SCI_SELECTIONDUPLICATE = 2469, SC_ALPHA_TRANSPARENT = 0, SC_ALPHA_OPAQUE = 255, SC_ALPHA_NOALPHA = 256, /// Set background alpha of the caret line. SCI_SETCARETLINEBACKALPHA = 2470, /// Get the background alpha of the caret line. SCI_GETCARETLINEBACKALPHA = 2471, CARETSTYLE_INVISIBLE = 0, CARETSTYLE_LINE = 1, CARETSTYLE_BLOCK = 2, /// Set the style of the caret to be drawn. SCI_SETCARETSTYLE = 2512, /// Returns the current style of the caret. SCI_GETCARETSTYLE = 2513, /// Set the indicator used for IndicatorFillRange and IndicatorClearRange SCI_SETINDICATORCURRENT = 2500, /// Get the current indicator SCI_GETINDICATORCURRENT = 2501, /// Set the value used for IndicatorFillRange SCI_SETINDICATORVALUE = 2502, /// Get the current indicator value SCI_GETINDICATORVALUE = 2503, /// Turn a indicator on over a range. SCI_INDICATORFILLRANGE = 2504, /// Turn a indicator off over a range. SCI_INDICATORCLEARRANGE = 2505, /// Are any indicators present at position? SCI_INDICATORALLONFOR = 2506, /// What value does a particular indicator have at at a position? SCI_INDICATORVALUEAT = 2507, /// Where does a particular indicator start? SCI_INDICATORSTART = 2508, /// Where does a particular indicator end? SCI_INDICATOREND = 2509, /// Set number of entries in position cache SCI_SETPOSITIONCACHE = 2514, /// How many entries are allocated to the position cache? SCI_GETPOSITIONCACHE = 2515, /// Copy the selection, if selection empty copy the line with the caret SCI_COPYALLOWLINE = 2519, /// Compact the document buffer and return a read-only pointer to the /// characters in the document. SCI_GETCHARACTERPOINTER = 2520, /// Return a read-only pointer to a range of characters in the document. /// May move the gap so that the range is contiguous, but will only move up /// to rangeLength bytes. SCI_GETRANGEPOINTER = 2643, /// Return a position which, to avoid performance costs, should not be within /// the range of a call to GetRangePointer. SCI_GETGAPPOSITION = 2644, /// Set the alpha fill colour of the given indicator. SCI_INDICSETALPHA = 2523, /// Get the alpha fill colour of the given indicator. SCI_INDICGETALPHA = 2524, /// Set the alpha outline colour of the given indicator. SCI_INDICSETOUTLINEALPHA = 2558, /// Get the alpha outline colour of the given indicator. SCI_INDICGETOUTLINEALPHA = 2559, /// Set extra ascent for each line SCI_SETEXTRAASCENT = 2525, /// Get extra ascent for each line SCI_GETEXTRAASCENT = 2526, /// Set extra descent for each line SCI_SETEXTRADESCENT = 2527, /// Get extra descent for each line SCI_GETEXTRADESCENT = 2528, /// Which symbol was defined for markerNumber with MarkerDefine SCI_MARKERSYMBOLDEFINED = 2529, /// Set the text in the text margin for a line SCI_MARGINSETTEXT = 2530, /// Get the text in the text margin for a line SCI_MARGINGETTEXT = 2531, /// Set the style number for the text margin for a line SCI_MARGINSETSTYLE = 2532, /// Get the style number for the text margin for a line SCI_MARGINGETSTYLE = 2533, /// Set the style in the text margin for a line SCI_MARGINSETSTYLES = 2534, /// Get the styles in the text margin for a line SCI_MARGINGETSTYLES = 2535, /// Clear the margin text on all lines SCI_MARGINTEXTCLEARALL = 2536, /// Get the start of the range of style numbers used for margin text SCI_MARGINSETSTYLEOFFSET = 2537, /// Get the start of the range of style numbers used for margin text SCI_MARGINGETSTYLEOFFSET = 2538, SC_MARGINOPTION_NONE = 0, SC_MARGINOPTION_SUBLINESELECT = 1, /// Set the margin options. SCI_SETMARGINOPTIONS = 2539, /// Get the margin options. SCI_GETMARGINOPTIONS = 2557, /// Set the annotation text for a line SCI_ANNOTATIONSETTEXT = 2540, /// Get the annotation text for a line SCI_ANNOTATIONGETTEXT = 2541, /// Set the style number for the annotations for a line SCI_ANNOTATIONSETSTYLE = 2542, /// Get the style number for the annotations for a line SCI_ANNOTATIONGETSTYLE = 2543, /// Set the annotation styles for a line SCI_ANNOTATIONSETSTYLES = 2544, /// Get the annotation styles for a line SCI_ANNOTATIONGETSTYLES = 2545, /// Get the number of annotation lines for a line SCI_ANNOTATIONGETLINES = 2546, /// Clear the annotations from all lines SCI_ANNOTATIONCLEARALL = 2547, ANNOTATION_HIDDEN = 0, ANNOTATION_STANDARD = 1, ANNOTATION_BOXED = 2, ANNOTATION_INDENTED = 3, /// Set the visibility for the annotations for a view SCI_ANNOTATIONSETVISIBLE = 2548, /// Get the visibility for the annotations for a view SCI_ANNOTATIONGETVISIBLE = 2549, /// Get the start of the range of style numbers used for annotations SCI_ANNOTATIONSETSTYLEOFFSET = 2550, /// Get the start of the range of style numbers used for annotations SCI_ANNOTATIONGETSTYLEOFFSET = 2551, /// Release all extended (>255) style numbers SCI_RELEASEALLEXTENDEDSTYLES = 2552, /// Allocate some extended (>255) style numbers and return the start of the range SCI_ALLOCATEEXTENDEDSTYLES = 2553, UNDO_MAY_COALESCE = 1, /// Add a container action to the undo stack SCI_ADDUNDOACTION = 2560, /// Find the position of a character from a point within the window. SCI_CHARPOSITIONFROMPOINT = 2561, /// Find the position of a character from a point within the window. /// Return INVALID_POSITION if not close to text. SCI_CHARPOSITIONFROMPOINTCLOSE = 2562, /// Set whether switching to rectangular mode while selecting with the mouse is allowed. SCI_SETMOUSESELECTIONRECTANGULARSWITCH = 2668, /// Whether switching to rectangular mode while selecting with the mouse is allowed. SCI_GETMOUSESELECTIONRECTANGULARSWITCH = 2669, /// Set whether multiple selections can be made SCI_SETMULTIPLESELECTION = 2563, /// Whether multiple selections can be made SCI_GETMULTIPLESELECTION = 2564, /// Set whether typing can be performed into multiple selections SCI_SETADDITIONALSELECTIONTYPING = 2565, /// Whether typing can be performed into multiple selections SCI_GETADDITIONALSELECTIONTYPING = 2566, /// Set whether additional carets will blink SCI_SETADDITIONALCARETSBLINK = 2567, /// Whether additional carets will blink SCI_GETADDITIONALCARETSBLINK = 2568, /// Set whether additional carets are visible SCI_SETADDITIONALCARETSVISIBLE = 2608, /// Whether additional carets are visible SCI_GETADDITIONALCARETSVISIBLE = 2609, /// How many selections are there? SCI_GETSELECTIONS = 2570, /// Is every selected range empty? SCI_GETSELECTIONEMPTY = 2650, /// Clear selections to a single empty stream selection SCI_CLEARSELECTIONS = 2571, /// Set a simple selection SCI_SETSELECTION = 2572, /// Add a selection SCI_ADDSELECTION = 2573, /// Drop one selection SCI_DROPSELECTIONN = 2671, /// Set the main selection SCI_SETMAINSELECTION = 2574, /// Which selection is the main selection SCI_GETMAINSELECTION = 2575, /// Which selection is the main selection SCI_SETSELECTIONNCARET = 2576, /// Which selection is the main selection SCI_GETSELECTIONNCARET = 2577, /// Which selection is the main selection SCI_SETSELECTIONNANCHOR = 2578, /// Which selection is the main selection SCI_GETSELECTIONNANCHOR = 2579, /// Which selection is the main selection SCI_SETSELECTIONNCARETVIRTUALSPACE = 2580, /// Which selection is the main selection SCI_GETSELECTIONNCARETVIRTUALSPACE = 2581, /// Which selection is the main selection SCI_SETSELECTIONNANCHORVIRTUALSPACE = 2582, /// Which selection is the main selection SCI_GETSELECTIONNANCHORVIRTUALSPACE = 2583, /// Sets the position that starts the selection - this becomes the anchor. SCI_SETSELECTIONNSTART = 2584, /// Returns the position at the start of the selection. SCI_GETSELECTIONNSTART = 2585, /// Sets the position that ends the selection - this becomes the currentPosition. SCI_SETSELECTIONNEND = 2586, /// Returns the position at the end of the selection. SCI_GETSELECTIONNEND = 2587, /// Returns the position at the end of the selection. SCI_SETRECTANGULARSELECTIONCARET = 2588, /// Returns the position at the end of the selection. SCI_GETRECTANGULARSELECTIONCARET = 2589, /// Returns the position at the end of the selection. SCI_SETRECTANGULARSELECTIONANCHOR = 2590, /// Returns the position at the end of the selection. SCI_GETRECTANGULARSELECTIONANCHOR = 2591, /// Returns the position at the end of the selection. SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2592, /// Returns the position at the end of the selection. SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE = 2593, /// Returns the position at the end of the selection. SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2594, /// Returns the position at the end of the selection. SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE = 2595, SCVS_NONE = 0, SCVS_RECTANGULARSELECTION = 1, SCVS_USERACCESSIBLE = 2, /// Returns the position at the end of the selection. SCI_SETVIRTUALSPACEOPTIONS = 2596, /// Returns the position at the end of the selection. SCI_GETVIRTUALSPACEOPTIONS = 2597, /// 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. SCI_SETRECTANGULARSELECTIONMODIFIER = 2598, /// Get the modifier key used for rectangular selection. SCI_GETRECTANGULARSELECTIONMODIFIER = 2599, /// Set the foreground colour of additional selections. /// Must have previously called SetSelFore with non-zero first argument for this to have an effect. SCI_SETADDITIONALSELFORE = 2600, /// Set the background colour of additional selections. /// Must have previously called SetSelBack with non-zero first argument for this to have an effect. SCI_SETADDITIONALSELBACK = 2601, /// Set the alpha of the selection. SCI_SETADDITIONALSELALPHA = 2602, /// Get the alpha of the selection. SCI_GETADDITIONALSELALPHA = 2603, /// Set the foreground colour of additional carets. SCI_SETADDITIONALCARETFORE = 2604, /// Get the foreground colour of additional carets. SCI_GETADDITIONALCARETFORE = 2605, /// Set the main selection to the next selection. SCI_ROTATESELECTION = 2606, /// Swap that caret and anchor of the main selection. SCI_SWAPMAINANCHORCARET = 2607, /// Indicate that the internal state of a lexer has changed over a range and therefore /// there may be a need to redraw. SCI_CHANGELEXERSTATE = 2617, /// Find the next line at or after lineStart that is a contracted fold header line. /// Return -1 when no more lines. SCI_CONTRACTEDFOLDNEXT = 2618, /// Centre current line in window. SCI_VERTICALCENTRECARET = 2619, /// Move the selected lines up one line, shifting the line above after the selection SCI_MOVESELECTEDLINESUP = 2620, /// Move the selected lines down one line, shifting the line below before the selection SCI_MOVESELECTEDLINESDOWN = 2621, /// Set the identifier reported as IdFrom in notification messages. SCI_SETIDENTIFIER = 2622, /// Get the identifier. SCI_GETIDENTIFIER = 2623, /// Set the width for future RGBA image data. SCI_RGBAIMAGESETWIDTH = 2624, /// Set the height for future RGBA image data. SCI_RGBAIMAGESETHEIGHT = 2625, /// Set the scale factor in percent for future RGBA image data. SCI_RGBAIMAGESETSCALE = 2651, /// Define a marker from RGBA data. /// It has the width and height from RGBAImageSetWidth/Height SCI_MARKERDEFINERGBAIMAGE = 2626, /// Register an RGBA image for use in autocompletion lists. /// It has the width and height from RGBAImageSetWidth/Height SCI_REGISTERRGBAIMAGE = 2627, /// Scroll to start of document. SCI_SCROLLTOSTART = 2628, /// Scroll to end of document. SCI_SCROLLTOEND = 2629, SC_TECHNOLOGY_DEFAULT = 0, SC_TECHNOLOGY_DIRECTWRITE = 1, SC_TECHNOLOGY_DIRECTWRITERETAIN = 2, SC_TECHNOLOGY_DIRECTWRITEDC = 3, /// Set the technology used. SCI_SETTECHNOLOGY = 2630, /// Get the tech. SCI_GETTECHNOLOGY = 2631, /// Create an ILoader*. SCI_CREATELOADER = 2632, /// On OS X, show a find indicator. SCI_FINDINDICATORSHOW = 2640, /// On OS X, flash a find indicator, then fade out. SCI_FINDINDICATORFLASH = 2641, /// On OS X, hide the find indicator. SCI_FINDINDICATORHIDE = 2642, /// Move caret to before first visible character on display line. /// If already there move to first character on display line. SCI_VCHOMEDISPLAY = 2652, /// Like VCHomeDisplay but extending selection to new caret position. SCI_VCHOMEDISPLAYEXTEND = 2653, /// Is the caret line always visible? SCI_GETCARETLINEVISIBLEALWAYS = 2654, /// Sets the caret line to always visible. SCI_SETCARETLINEVISIBLEALWAYS = 2655, SC_LINE_END_TYPE_DEFAULT = 0, SC_LINE_END_TYPE_UNICODE = 1, /// Set the line end types that the application wants to use. May not be used if incompatible with lexer or encoding. SCI_SETLINEENDTYPESALLOWED = 2656, /// Get the line end types currently allowed. SCI_GETLINEENDTYPESALLOWED = 2657, /// Get the line end types currently recognised. May be a subset of the allowed types due to lexer limitation. SCI_GETLINEENDTYPESACTIVE = 2658, /// Set the way a character is drawn. SCI_SETREPRESENTATION = 2665, /// Set the way a character is drawn. /// Result is NUL-terminated. SCI_GETREPRESENTATION = 2666, /// Remove a character representation. SCI_CLEARREPRESENTATION = 2667, /// Start notifying the container of all key presses and commands. SCI_STARTRECORD = 3001, /// Stop notifying the container of all key presses and commands. SCI_STOPRECORD = 3002, /// Set the lexing language of the document. SCI_SETLEXER = 4001, /// Retrieve the lexing language of the document. SCI_GETLEXER = 4002, /// Colourise a segment of the document using the current lexing language. SCI_COLOURISE = 4003, /// Set up a value that may be used by a lexer for some optional feature. SCI_SETPROPERTY = 4004, KEYWORDSET_MAX = 8, /// Set up the key words used by the lexer. SCI_SETKEYWORDS = 4005, /// Set the lexing language of the document based on string name. SCI_SETLEXERLANGUAGE = 4006, /// Load a lexer library (dll / so). SCI_LOADLEXERLIBRARY = 4007, /// Retrieve a "property" value previously set with SetProperty. /// Result is NUL-terminated. SCI_GETPROPERTY = 4008, /// Retrieve a "property" value previously set with SetProperty, /// with "$()" variable replacement on returned buffer. /// Result is NUL-terminated. SCI_GETPROPERTYEXPANDED = 4009, /// Retrieve a "property" value previously set with SetProperty, /// interpreted as an int AFTER any "$()" variable replacement. SCI_GETPROPERTYINT = 4010, /// Retrieve the number of bits the current lexer needs for styling. SCI_GETSTYLEBITSNEEDED = 4011, /// Retrieve the name of the lexer. /// Return the length of the text. /// Result is NUL-terminated. SCI_GETLEXERLANGUAGE = 4012, /// For private communication between an application and a known lexer. SCI_PRIVATELEXERCALL = 4013, /// Retrieve a '\n' separated list of properties understood by the current lexer. /// Result is NUL-terminated. SCI_PROPERTYNAMES = 4014, SC_TYPE_BOOLEAN = 0, SC_TYPE_INTEGER = 1, SC_TYPE_STRING = 2, /// Retrieve the type of a property. SCI_PROPERTYTYPE = 4015, /// Describe a property. /// Result is NUL-terminated. SCI_DESCRIBEPROPERTY = 4016, /// Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer. /// Result is NUL-terminated. SCI_DESCRIBEKEYWORDSETS = 4017, /// Bit set of LineEndType enumertion for which line ends beyond the standard /// LF, CR, and CRLF are supported by the lexer. SCI_GETLINEENDTYPESSUPPORTED = 4018, /// Allocate a set of sub styles for a particular base style, returning start of range SCI_ALLOCATESUBSTYLES = 4020, /// The starting style number for the sub styles associated with a base style SCI_GETSUBSTYLESSTART = 4021, /// The number of sub styles associated with a base style SCI_GETSUBSTYLESLENGTH = 4022, /// For a sub style, return the base style, else return the argument. SCI_GETSTYLEFROMSUBSTYLE = 4027, /// For a secondary style, return the primary style, else return the argument. SCI_GETPRIMARYSTYLEFROMSTYLE = 4028, /// Free allocated sub styles SCI_FREESUBSTYLES = 4023, /// Set the identifiers that are shown in a particular style SCI_SETIDENTIFIERS = 4024, /// Where styles are duplicated by a feature such as active/inactive code /// return the distance between the two types. SCI_DISTANCETOSECONDARYSTYLES = 4025, /// Get the set of base styles that can be extended with sub styles /// Result is NUL-terminated. SCI_GETSUBSTYLEBASES = 4026, 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_MOD_INSERTCHECK = 0x100000, SC_MOD_CHANGETABSTOPS = 0x200000, SC_MODEVENTMASKALL = 0x3FFFFF, SC_UPDATE_CONTENT = 0x1, SC_UPDATE_SELECTION = 0x2, SC_UPDATE_V_SCROLL = 0x4, SC_UPDATE_H_SCROLL = 0x8, SCEN_CHANGE = 768, SCEN_SETFOCUS = 512, SCEN_KILLFOCUS = 256, 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, /// Events SCN_STYLENEEDED = 2000, /// Events SCN_CHARADDED = 2001, /// Events SCN_SAVEPOINTREACHED = 2002, /// Events SCN_SAVEPOINTLEFT = 2003, /// Events SCN_MODIFYATTEMPTRO = 2004, /// GTK+ Specific to work around focus and accelerator problems: SCN_KEY = 2005, /// GTK+ Specific to work around focus and accelerator problems: SCN_DOUBLECLICK = 2006, /// GTK+ Specific to work around focus and accelerator problems: SCN_UPDATEUI = 2007, /// GTK+ Specific to work around focus and accelerator problems: SCN_MODIFIED = 2008, /// GTK+ Specific to work around focus and accelerator problems: SCN_MACRORECORD = 2009, /// GTK+ Specific to work around focus and accelerator problems: SCN_MARGINCLICK = 2010, /// GTK+ Specific to work around focus and accelerator problems: SCN_NEEDSHOWN = 2011, /// GTK+ Specific to work around focus and accelerator problems: SCN_PAINTED = 2013, /// GTK+ Specific to work around focus and accelerator problems: SCN_USERLISTSELECTION = 2014, /// GTK+ Specific to work around focus and accelerator problems: SCN_URIDROPPED = 2015, /// GTK+ Specific to work around focus and accelerator problems: SCN_DWELLSTART = 2016, /// GTK+ Specific to work around focus and accelerator problems: SCN_DWELLEND = 2017, /// GTK+ Specific to work around focus and accelerator problems: SCN_ZOOM = 2018, /// GTK+ Specific to work around focus and accelerator problems: SCN_HOTSPOTCLICK = 2019, /// GTK+ Specific to work around focus and accelerator problems: SCN_HOTSPOTDOUBLECLICK = 2020, /// GTK+ Specific to work around focus and accelerator problems: SCN_CALLTIPCLICK = 2021, /// GTK+ Specific to work around focus and accelerator problems: SCN_AUTOCSELECTION = 2022, /// GTK+ Specific to work around focus and accelerator problems: SCN_INDICATORCLICK = 2023, /// GTK+ Specific to work around focus and accelerator problems: SCN_INDICATORRELEASE = 2024, /// GTK+ Specific to work around focus and accelerator problems: SCN_AUTOCCANCELLED = 2025, /// GTK+ Specific to work around focus and accelerator problems: SCN_AUTOCCHARDELETED = 2026, /// GTK+ Specific to work around focus and accelerator problems: SCN_HOTSPOTRELEASECLICK = 2027, /// GTK+ Specific to work around focus and accelerator problems: SCN_FOCUSIN = 2028, /// GTK+ Specific to work around focus and accelerator problems: SCN_FOCUSOUT = 2029, SC_CP_DBCS = 1, /// Deprecated in 2.30 /// In palette mode? SCI_GETUSEPALETTE = 2139, /// In palette mode, Scintilla uses the environment's palette calls to display /// more colours. This may lead to ugly displays. SCI_SETUSEPALETTE = 2039, /// Deprecated in 3.5.5 /// Always interpret keyboard input as Unicode SCI_SETKEYSUNICODE = 2521, /// Are keys always interpreted as Unicode? SCI_GETKEYSUNICODE = 2522, /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ SC_SEARCHRESULT_LINEBUFFERMAXLENGTH = 1024 } public class TextToFind : IDisposable { Sci_TextToFind _sciTextToFind; IntPtr _ptrSciTextToFind; bool _disposed = false; /// /// text to find /// /// range to search /// the search pattern public TextToFind(CharacterRange chrRange, string searchText) { _sciTextToFind.chrg = chrRange; _sciTextToFind.lpstrText = Marshal.StringToHGlobalAnsi(searchText); } /// /// text to find /// /// range to search /// range to search /// the search pattern public TextToFind(int cpmin, int cpmax, string searchText) { _sciTextToFind.chrg.cpMin = cpmin; _sciTextToFind.chrg.cpMax = cpmax; _sciTextToFind.lpstrText = Marshal.StringToHGlobalAnsi(searchText); } [StructLayout(LayoutKind.Sequential)] struct Sci_TextToFind { public CharacterRange chrg; public IntPtr lpstrText; public CharacterRange chrgText; } public IntPtr NativePointer { get { _initNativeStruct(); return _ptrSciTextToFind; } } public string lpstrText { set { _freeNativeString(); _sciTextToFind.lpstrText = Marshal.StringToHGlobalAnsi(value); } } public CharacterRange chrg { get { _readNativeStruct(); return _sciTextToFind.chrg; } set { _sciTextToFind.chrg = value; _initNativeStruct(); } } public CharacterRange chrgText { get { _readNativeStruct(); return _sciTextToFind.chrgText; } } void _initNativeStruct() { if (_ptrSciTextToFind == IntPtr.Zero) _ptrSciTextToFind = Marshal.AllocHGlobal(Marshal.SizeOf(_sciTextToFind)); Marshal.StructureToPtr(_sciTextToFind, _ptrSciTextToFind, false); } void _readNativeStruct() { if (_ptrSciTextToFind != IntPtr.Zero) _sciTextToFind = (Sci_TextToFind)Marshal.PtrToStructure(_ptrSciTextToFind, typeof(Sci_TextToFind)); } void _freeNativeString() { if (_sciTextToFind.lpstrText != IntPtr.Zero) Marshal.FreeHGlobal(_sciTextToFind.lpstrText); } public void Dispose() { if (!_disposed) { _freeNativeString(); if (_ptrSciTextToFind != IntPtr.Zero) Marshal.FreeHGlobal(_ptrSciTextToFind); _disposed = true; } } ~TextToFind() { Dispose(); } } }