.. _Editor:

Editor Object
=============

The Editor class, with the instance name of ``Npp.editor`` (or normally simply ``editor``) represents
the Scintilla component of Notepad++.  Scintilla is the "edit" component, the place where text is
entered and altered.  `Scintilla <https://www.scintilla.org>`_ is well documented, and Python Script
allows you to call any of the Scintilla functions in a *Pythonised* way.

``Npp.editor`` (or ``editor``) always refers to the active document.  To switch to another document
(or open a new one, etc), use the ``notepad`` object.


The arguments to the functions are therefore slightly different to the original Scintilla arguments, effectively
simplified by Python.

For example:
	`SCI_ADDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDTEXT>`_ has the arguments::

		SCI_ADDTEXT(int length, const char *text)

	In Python, that just becomes::

		editor.addText(text)

	Likewise, return parameters are converted to return values. So
	`SCI_GETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTEXT>`_ has the arguments::

		SCI_GETTEXT(int length, char *text)

	In Python, that becomes::

		text = editor.getText()



The comments for each function have been taken directly from Scintilla, so occasionally you may see reference to
a parameter that doesn't exist. I'm sure you'll cope :)

Colours are a tuple of ``(red, green, blue)`` where each of ``red``, ``green``, and ``blue`` is between 0 and 255.

There are some `Helper Methods`_ discussed at the end, that perform some common functions with Scintilla.
For instance, searching and replacing, regular expressions, replacing and deleting lines and so on.

Scintilla Methods
-----------------
.. class:: Editor

.. property:: hwnd

   Returns the handles of the two Scintilla windows of the editor object.
   Editor.hwnd refers to the active window handle, while editor1 and editor2 return the concrete handles.

.. method:: editor.getCharacterPointer() -> str

   Gets a copy of the text of the document, without first allowing Scintilla to make it's copy of it.
   In practice, that means it does exactly the same as ``editor.getText``, however, if you have the possibility
   of the user interfering with the document _whilst_ ``getCharacterPointer()`` is running, then it's safer to use
   getText().  On larger documents, getCharacterPointer() could be noticeable quicker.

   See Scintilla documentation for `SCI_GETCHARACTERPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCHARACTERPOINTER>`_


.. This file from this point on is Autogenerated.  Edit CreateWrapper.py to change the contents /* ++Autogenerated ---- */
.. method:: editor.addText(text) -> int

   Add text to the document at current position.

   See Scintilla documentation for `SCI_ADDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDTEXT>`_

.. method:: editor.addStyledText(c) -> int

   Add array of cells to document.

   See Scintilla documentation for `SCI_ADDSTYLEDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDSTYLEDTEXT>`_

.. method:: editor.insertText(pos, text)

   Insert string at a position.

   See Scintilla documentation for `SCI_INSERTTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_INSERTTEXT>`_

.. method:: editor.changeInsertion(text) -> int

   Change the text that is being inserted in response to SC_MOD_INSERTCHECK

   See Scintilla documentation for `SCI_CHANGEINSERTION <https://www.scintilla.org/ScintillaDoc.html#SCI_CHANGEINSERTION>`_

.. method:: editor.clearAll()

   Delete all text in the document.

   See Scintilla documentation for `SCI_CLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARALL>`_

.. method:: editor.deleteRange(start, lengthDelete)

   Delete a range of text in the document.

   See Scintilla documentation for `SCI_DELETERANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_DELETERANGE>`_

.. method:: editor.clearDocumentStyle()

   Set all style bytes to 0, remove all folding information.

   See Scintilla documentation for `SCI_CLEARDOCUMENTSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARDOCUMENTSTYLE>`_

.. method:: editor.getLength() -> int

   Returns the number of bytes in the document.

   See Scintilla documentation for `SCI_GETLENGTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLENGTH>`_

.. method:: editor.getCharAt(pos) -> int

   Returns the character byte at the position.

   See Scintilla documentation for `SCI_GETCHARAT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCHARAT>`_

.. method:: editor.getCurrentPos() -> int

   Returns the position of the caret.

   See Scintilla documentation for `SCI_GETCURRENTPOS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCURRENTPOS>`_

.. method:: editor.getAnchor() -> int

   Returns the position of the opposite end of the selection to the caret.

   See Scintilla documentation for `SCI_GETANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETANCHOR>`_

.. method:: editor.getStyleAt(pos) -> int

   Returns the style byte at the position.

   See Scintilla documentation for `SCI_GETSTYLEAT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTYLEAT>`_

.. method:: editor.getStyleIndexAt(pos) -> int

   Returns the unsigned style byte at the position.

   See Scintilla documentation for `SCI_GETSTYLEINDEXAT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTYLEINDEXAT>`_

.. method:: editor.redo()

   Redoes the next action on the undo history.

   See Scintilla documentation for `SCI_REDO <https://www.scintilla.org/ScintillaDoc.html#SCI_REDO>`_

.. method:: editor.setUndoCollection(collectUndo)

   Choose between collecting actions into the undo
   history and discarding them.

   See Scintilla documentation for `SCI_SETUNDOCOLLECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDOCOLLECTION>`_

.. method:: editor.selectAll()

   Select all the text in the document.

   See Scintilla documentation for `SCI_SELECTALL <https://www.scintilla.org/ScintillaDoc.html#SCI_SELECTALL>`_

.. method:: editor.setSavePoint()

   Remember the current position in the undo history as the position
   at which the document was saved.

   See Scintilla documentation for `SCI_SETSAVEPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSAVEPOINT>`_

.. method:: editor.getStyledText(start, end) -> tuple

   Retrieve a buffer of cells.
   Returns the number of bytes in the buffer not including terminating NULs.

   See Scintilla documentation for `SCI_GETSTYLEDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTYLEDTEXT>`_

.. method:: editor.getStyledTextFull(start, end) -> tuple

   Retrieve a buffer of cells that can be past 2GB.
   Returns the number of bytes in the buffer not including terminating NULs.

   See Scintilla documentation for `SCI_GETSTYLEDTEXTFULL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTYLEDTEXTFULL>`_

.. method:: editor.canRedo() -> bool

   Are there any redoable actions in the undo history?

   See Scintilla documentation for `SCI_CANREDO <https://www.scintilla.org/ScintillaDoc.html#SCI_CANREDO>`_

.. method:: editor.markerLineFromHandle(markerHandle) -> int

   Retrieve the line number at which a particular marker is located.

   See Scintilla documentation for `SCI_MARKERLINEFROMHANDLE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERLINEFROMHANDLE>`_

.. method:: editor.markerDeleteHandle(markerHandle)

   Delete a marker.

   See Scintilla documentation for `SCI_MARKERDELETEHANDLE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDELETEHANDLE>`_

.. method:: editor.markerHandleFromLine(line, which) -> int

   Retrieve marker handles of a line

   See Scintilla documentation for `SCI_MARKERHANDLEFROMLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERHANDLEFROMLINE>`_

.. method:: editor.markerNumberFromLine(line, which) -> int

   Retrieve marker number of a marker handle

   See Scintilla documentation for `SCI_MARKERNUMBERFROMLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERNUMBERFROMLINE>`_

.. method:: editor.getUndoCollection() -> bool

   Is undo history being collected?

   See Scintilla documentation for `SCI_GETUNDOCOLLECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOCOLLECTION>`_

.. method:: editor.getViewWS() -> int

   Are white space characters currently visible?
   Returns one of SCWS_* constants.

   See Scintilla documentation for `SCI_GETVIEWWS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETVIEWWS>`_

.. method:: editor.setViewWS(viewWS)

   Make white space characters invisible, always visible or visible outside indentation.

   See Scintilla documentation for `SCI_SETVIEWWS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETVIEWWS>`_

.. method:: editor.getTabDrawMode() -> int

   Retrieve the current tab draw mode.
   Returns one of SCTD_* constants.

   See Scintilla documentation for `SCI_GETTABDRAWMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTABDRAWMODE>`_

.. method:: editor.setTabDrawMode(tabDrawMode)

   Set how tabs are drawn when visible.

   See Scintilla documentation for `SCI_SETTABDRAWMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTABDRAWMODE>`_

.. method:: editor.positionFromPoint(x, y) -> int

   Find the position from a point within the window.

   See Scintilla documentation for `SCI_POSITIONFROMPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONFROMPOINT>`_

.. method:: editor.positionFromPointClose(x, y) -> int

   Find the position from a point within the window but return
   INVALID_POSITION if not close to text.

   See Scintilla documentation for `SCI_POSITIONFROMPOINTCLOSE <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONFROMPOINTCLOSE>`_

.. method:: editor.gotoLine(line)

   Set caret to start of a line and ensure it is visible.

   See Scintilla documentation for `SCI_GOTOLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GOTOLINE>`_

.. method:: editor.gotoPos(caret)

   Set caret to a position and ensure it is visible.

   See Scintilla documentation for `SCI_GOTOPOS <https://www.scintilla.org/ScintillaDoc.html#SCI_GOTOPOS>`_

.. method:: editor.setAnchor(anchor)

   Set the selection anchor to a position. The anchor is the opposite
   end of the selection from the caret.

   See Scintilla documentation for `SCI_SETANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETANCHOR>`_

.. method:: editor.getCurLine() -> str

   Retrieve the text of the line containing the caret.
   Returns the index of the caret on the line.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETCURLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCURLINE>`_

.. method:: editor.getEndStyled() -> int

   Retrieve the position of the last correctly styled character.

   See Scintilla documentation for `SCI_GETENDSTYLED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETENDSTYLED>`_

.. method:: editor.convertEOLs(eolMode)

   Convert all line endings in the document to one mode.

   See Scintilla documentation for `SCI_CONVERTEOLS <https://www.scintilla.org/ScintillaDoc.html#SCI_CONVERTEOLS>`_

.. method:: editor.getEOLMode() -> int

   Retrieve the current end of line mode - one of CRLF, CR, or LF.

   See Scintilla documentation for `SCI_GETEOLMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEOLMODE>`_

.. method:: editor.setEOLMode(eolMode)

   Set the current end of line mode.

   See Scintilla documentation for `SCI_SETEOLMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEOLMODE>`_

.. method:: editor.startStyling(start, unused)

   Set the current styling position to start.
   The unused parameter is no longer used and should be set to 0.

   See Scintilla documentation for `SCI_STARTSTYLING <https://www.scintilla.org/ScintillaDoc.html#SCI_STARTSTYLING>`_

.. method:: editor.setStyling(length, style)

   Change style from current styling position for length characters to a style
   and move the current styling position to after this newly styled segment.

   See Scintilla documentation for `SCI_SETSTYLING <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSTYLING>`_

.. method:: editor.getBufferedDraw() -> bool

   Is drawing done first into a buffer or direct to the screen?

   See Scintilla documentation for `SCI_GETBUFFEREDDRAW <https://www.scintilla.org/ScintillaDoc.html#SCI_GETBUFFEREDDRAW>`_

.. method:: editor.setBufferedDraw(buffered)

   If drawing is buffered then each line of text is drawn into a bitmap buffer
   before drawing it to the screen to avoid flicker.

   See Scintilla documentation for `SCI_SETBUFFEREDDRAW <https://www.scintilla.org/ScintillaDoc.html#SCI_SETBUFFEREDDRAW>`_

.. method:: editor.setTabWidth(tabWidth)

   Change the visible size of a tab to be a multiple of the width of a space character.

   See Scintilla documentation for `SCI_SETTABWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTABWIDTH>`_

.. method:: editor.getTabWidth() -> int

   Retrieve the visible size of a tab.

   See Scintilla documentation for `SCI_GETTABWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTABWIDTH>`_

.. method:: editor.setTabMinimumWidth(pixels)

   Set the minimum visual width of a tab.

   See Scintilla documentation for `SCI_SETTABMINIMUMWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTABMINIMUMWIDTH>`_

.. method:: editor.getTabMinimumWidth() -> int

   Get the minimum visual width of a tab.

   See Scintilla documentation for `SCI_GETTABMINIMUMWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTABMINIMUMWIDTH>`_

.. method:: editor.clearTabStops(line)

   Clear explicit tabstops on a line.

   See Scintilla documentation for `SCI_CLEARTABSTOPS <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARTABSTOPS>`_

.. method:: editor.addTabStop(line, x)

   Add an explicit tab stop for a line.

   See Scintilla documentation for `SCI_ADDTABSTOP <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDTABSTOP>`_

.. method:: editor.getNextTabStop(line, x) -> int

   Find the next explicit tab stop position on a line after a position.

   See Scintilla documentation for `SCI_GETNEXTTABSTOP <https://www.scintilla.org/ScintillaDoc.html#SCI_GETNEXTTABSTOP>`_

.. method:: editor.setCodePage(codePage)

   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.

   See Scintilla documentation for `SCI_SETCODEPAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCODEPAGE>`_

.. method:: editor.setFontLocale(localeName)

   Set the locale for displaying text.

   See Scintilla documentation for `SCI_SETFONTLOCALE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFONTLOCALE>`_

.. method:: editor.getFontLocale() -> str

   Get the locale for displaying text.

   See Scintilla documentation for `SCI_GETFONTLOCALE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFONTLOCALE>`_

.. method:: editor.getIMEInteraction() -> int

   Is the IME displayed in a window or inline?

   See Scintilla documentation for `SCI_GETIMEINTERACTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETIMEINTERACTION>`_

.. method:: editor.setIMEInteraction(imeInteraction)

   Choose to display the IME in a window or inline.

   See Scintilla documentation for `SCI_SETIMEINTERACTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETIMEINTERACTION>`_

.. method:: editor.markerDefine(markerNumber, markerSymbol)

   Set the symbol used for a particular marker number.

   See Scintilla documentation for `SCI_MARKERDEFINE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDEFINE>`_

.. method:: editor.markerSetFore(markerNumber, fore)

   Set the foreground colour used for a particular marker number.

   See Scintilla documentation for `SCI_MARKERSETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETFORE>`_

.. method:: editor.markerSetBack(markerNumber, back)

   Set the background colour used for a particular marker number.

   See Scintilla documentation for `SCI_MARKERSETBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETBACK>`_

.. method:: editor.markerSetBackSelected(markerNumber, back)

   Set the background colour used for a particular marker number when its folding block is selected.

   See Scintilla documentation for `SCI_MARKERSETBACKSELECTED <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETBACKSELECTED>`_

.. method:: editor.markerSetForeTranslucent(markerNumber, fore)

   Set the foreground colour used for a particular marker number.

   See Scintilla documentation for `SCI_MARKERSETFORETRANSLUCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETFORETRANSLUCENT>`_

.. method:: editor.markerSetBackTranslucent(markerNumber, back)

   Set the background colour used for a particular marker number.

   See Scintilla documentation for `SCI_MARKERSETBACKTRANSLUCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETBACKTRANSLUCENT>`_

.. method:: editor.markerSetBackSelectedTranslucent(markerNumber, back)

   Set the background colour used for a particular marker number when its folding block is selected.

   See Scintilla documentation for `SCI_MARKERSETBACKSELECTEDTRANSLUCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETBACKSELECTEDTRANSLUCENT>`_

.. method:: editor.markerSetStrokeWidth(markerNumber, hundredths)

   Set the width of strokes used in .01 pixels so 50  = 1/2 pixel width.

   See Scintilla documentation for `SCI_MARKERSETSTROKEWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETSTROKEWIDTH>`_

.. method:: editor.markerEnableHighlight(enabled)

   Enable/disable highlight for current folding block (smallest one that contains the caret)

   See Scintilla documentation for `SCI_MARKERENABLEHIGHLIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERENABLEHIGHLIGHT>`_

.. method:: editor.markerAdd(line, markerNumber) -> int

   Add a marker to a line, returning an ID which can be used to find or delete the marker.

   See Scintilla documentation for `SCI_MARKERADD <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERADD>`_

.. method:: editor.markerDelete(line, markerNumber)

   Delete a marker from a line.

   See Scintilla documentation for `SCI_MARKERDELETE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDELETE>`_

.. method:: editor.markerDeleteAll(markerNumber)

   Delete all markers with a particular number from all lines.

   See Scintilla documentation for `SCI_MARKERDELETEALL <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDELETEALL>`_

.. method:: editor.markerGet(line) -> int

   Get a bit mask of all the markers set on a line.

   See Scintilla documentation for `SCI_MARKERGET <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERGET>`_

.. method:: editor.markerNext(lineStart, markerMask) -> int

   Find the next line at or after lineStart that includes a marker in mask.
   Return -1 when no more lines.

   See Scintilla documentation for `SCI_MARKERNEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERNEXT>`_

.. method:: editor.markerPrevious(lineStart, markerMask) -> int

   Find the previous line before lineStart that includes a marker in mask.

   See Scintilla documentation for `SCI_MARKERPREVIOUS <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERPREVIOUS>`_

.. method:: editor.markerDefinePixmap(markerNumber, pixmap)

   Define a marker from a pixmap.

   See Scintilla documentation for `SCI_MARKERDEFINEPIXMAP <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDEFINEPIXMAP>`_

.. method:: editor.markerAddSet(line, markerSet)

   Add a set of markers to a line.

   See Scintilla documentation for `SCI_MARKERADDSET <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERADDSET>`_

.. method:: editor.markerSetAlpha(markerNumber, alpha)

   Set the alpha used for a marker that is drawn in the text area, not the margin.

   See Scintilla documentation for `SCI_MARKERSETALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETALPHA>`_

.. method:: editor.markerGetLayer(markerNumber) -> int

   Get the layer used for a marker that is drawn in the text area, not the margin.

   See Scintilla documentation for `SCI_MARKERGETLAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERGETLAYER>`_

.. method:: editor.markerSetLayer(markerNumber, layer)

   Set the layer used for a marker that is drawn in the text area, not the margin.

   See Scintilla documentation for `SCI_MARKERSETLAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSETLAYER>`_

.. method:: editor.setMarginTypeN(margin, marginType)

   Set a margin to be either numeric or symbolic.

   See Scintilla documentation for `SCI_SETMARGINTYPEN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINTYPEN>`_

.. method:: editor.getMarginTypeN(margin) -> int

   Retrieve the type of a margin.

   See Scintilla documentation for `SCI_GETMARGINTYPEN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINTYPEN>`_

.. method:: editor.setMarginWidthN(margin, pixelWidth)

   Set the width of a margin to a width expressed in pixels.

   See Scintilla documentation for `SCI_SETMARGINWIDTHN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINWIDTHN>`_

.. method:: editor.getMarginWidthN(margin) -> int

   Retrieve the width of a margin in pixels.

   See Scintilla documentation for `SCI_GETMARGINWIDTHN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINWIDTHN>`_

.. method:: editor.setMarginMaskN(margin, mask)

   Set a mask that determines which markers are displayed in a margin.

   See Scintilla documentation for `SCI_SETMARGINMASKN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINMASKN>`_

.. method:: editor.getMarginMaskN(margin) -> int

   Retrieve the marker mask of a margin.

   See Scintilla documentation for `SCI_GETMARGINMASKN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINMASKN>`_

.. method:: editor.setMarginSensitiveN(margin, sensitive)

   Make a margin sensitive or insensitive to mouse clicks.

   See Scintilla documentation for `SCI_SETMARGINSENSITIVEN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINSENSITIVEN>`_

.. method:: editor.getMarginSensitiveN(margin) -> bool

   Retrieve the mouse click sensitivity of a margin.

   See Scintilla documentation for `SCI_GETMARGINSENSITIVEN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINSENSITIVEN>`_

.. method:: editor.setMarginCursorN(margin, cursor)

   Set the cursor shown when the mouse is inside a margin.

   See Scintilla documentation for `SCI_SETMARGINCURSORN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINCURSORN>`_

.. method:: editor.getMarginCursorN(margin) -> int

   Retrieve the cursor shown in a margin.

   See Scintilla documentation for `SCI_GETMARGINCURSORN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINCURSORN>`_

.. method:: editor.setMarginBackN(margin, back)

   Set the background colour of a margin. Only visible for SC_MARGIN_COLOUR.

   See Scintilla documentation for `SCI_SETMARGINBACKN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINBACKN>`_

.. method:: editor.getMarginBackN(margin) -> tuple

   Retrieve the background colour of a margin

   See Scintilla documentation for `SCI_GETMARGINBACKN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINBACKN>`_

.. method:: editor.setMargins(margins)

   Allocate a non-standard number of margins.

   See Scintilla documentation for `SCI_SETMARGINS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINS>`_

.. method:: editor.getMargins() -> int

   How many margins are there?.

   See Scintilla documentation for `SCI_GETMARGINS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINS>`_

.. method:: editor.styleClearAll()

   Clear all the styles and make equivalent to the global default style.

   See Scintilla documentation for `SCI_STYLECLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLECLEARALL>`_

.. method:: editor.styleSetFore(style, fore)

   Set the foreground colour of a style.

   See Scintilla documentation for `SCI_STYLESETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETFORE>`_

.. method:: editor.styleSetBack(style, back)

   Set the background colour of a style.

   See Scintilla documentation for `SCI_STYLESETBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETBACK>`_

.. method:: editor.styleSetBold(style, bold)

   Set a style to be bold or not.

   See Scintilla documentation for `SCI_STYLESETBOLD <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETBOLD>`_

.. method:: editor.styleSetItalic(style, italic)

   Set a style to be italic or not.

   See Scintilla documentation for `SCI_STYLESETITALIC <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETITALIC>`_

.. method:: editor.styleSetSize(style, sizePoints)

   Set the size of characters of a style.

   See Scintilla documentation for `SCI_STYLESETSIZE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETSIZE>`_

.. method:: editor.styleSetFont(style, fontName)

   Set the font of a style.

   See Scintilla documentation for `SCI_STYLESETFONT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETFONT>`_

.. method:: editor.styleSetEOLFilled(style, eolFilled)

   Set a style to have its end of line filled or not.

   See Scintilla documentation for `SCI_STYLESETEOLFILLED <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETEOLFILLED>`_

.. method:: editor.styleResetDefault()

   Reset the default style to its state at startup

   See Scintilla documentation for `SCI_STYLERESETDEFAULT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLERESETDEFAULT>`_

.. method:: editor.styleSetUnderline(style, underline)

   Set a style to be underlined or not.

   See Scintilla documentation for `SCI_STYLESETUNDERLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETUNDERLINE>`_

.. method:: editor.styleGetFore(style) -> tuple

   Get the foreground colour of a style.

   See Scintilla documentation for `SCI_STYLEGETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETFORE>`_

.. method:: editor.styleGetBack(style) -> tuple

   Get the background colour of a style.

   See Scintilla documentation for `SCI_STYLEGETBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETBACK>`_

.. method:: editor.styleGetBold(style) -> bool

   Get is a style bold or not.

   See Scintilla documentation for `SCI_STYLEGETBOLD <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETBOLD>`_

.. method:: editor.styleGetItalic(style) -> bool

   Get is a style italic or not.

   See Scintilla documentation for `SCI_STYLEGETITALIC <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETITALIC>`_

.. method:: editor.styleGetSize(style) -> int

   Get the size of characters of a style.

   See Scintilla documentation for `SCI_STYLEGETSIZE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETSIZE>`_

.. method:: editor.styleGetFont(style) -> str

   Get the font of a style.
   Returns the length of the fontName
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_STYLEGETFONT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETFONT>`_

.. method:: editor.styleGetEOLFilled(style) -> bool

   Get is a style to have its end of line filled or not.

   See Scintilla documentation for `SCI_STYLEGETEOLFILLED <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETEOLFILLED>`_

.. method:: editor.styleGetUnderline(style) -> bool

   Get is a style underlined or not.

   See Scintilla documentation for `SCI_STYLEGETUNDERLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETUNDERLINE>`_

.. method:: editor.styleGetCase(style) -> int

   Get is a style mixed case, or to force upper or lower case.

   See Scintilla documentation for `SCI_STYLEGETCASE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETCASE>`_

.. method:: editor.styleGetCharacterSet(style) -> int

   Get the character get of the font in a style.

   See Scintilla documentation for `SCI_STYLEGETCHARACTERSET <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETCHARACTERSET>`_

.. method:: editor.styleGetVisible(style) -> bool

   Get is a style visible or not.

   See Scintilla documentation for `SCI_STYLEGETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETVISIBLE>`_

.. method:: editor.styleGetChangeable(style) -> bool

   Get is a style changeable or not (read only).
   Experimental feature, currently buggy.

   See Scintilla documentation for `SCI_STYLEGETCHANGEABLE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETCHANGEABLE>`_

.. method:: editor.styleGetHotSpot(style) -> bool

   Get is a style a hotspot or not.

   See Scintilla documentation for `SCI_STYLEGETHOTSPOT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETHOTSPOT>`_

.. method:: editor.styleSetCase(style, caseVisible)

   Set a style to be mixed case, or to force upper or lower case.

   See Scintilla documentation for `SCI_STYLESETCASE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETCASE>`_

.. method:: editor.styleSetSizeFractional(style, sizeHundredthPoints)

   Set the size of characters of a style. Size is in points multiplied by 100.

   See Scintilla documentation for `SCI_STYLESETSIZEFRACTIONAL <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETSIZEFRACTIONAL>`_

.. method:: editor.styleGetSizeFractional(style) -> int

   Get the size of characters of a style in points multiplied by 100

   See Scintilla documentation for `SCI_STYLEGETSIZEFRACTIONAL <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETSIZEFRACTIONAL>`_

.. method:: editor.styleSetWeight(style, weight)

   Set the weight of characters of a style.

   See Scintilla documentation for `SCI_STYLESETWEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETWEIGHT>`_

.. method:: editor.styleGetWeight(style) -> int

   Get the weight of characters of a style.

   See Scintilla documentation for `SCI_STYLEGETWEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETWEIGHT>`_

.. method:: editor.styleSetCharacterSet(style, characterSet)

   Set the character set of the font in a style.

   See Scintilla documentation for `SCI_STYLESETCHARACTERSET <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETCHARACTERSET>`_

.. method:: editor.styleSetHotSpot(style, hotspot)

   Set a style to be a hotspot or not.

   See Scintilla documentation for `SCI_STYLESETHOTSPOT <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETHOTSPOT>`_

.. method:: editor.styleSetCheckMonospaced(style, checkMonospaced)

   Indicate that a style may be monospaced over ASCII graphics characters which enables optimizations.

   See Scintilla documentation for `SCI_STYLESETCHECKMONOSPACED <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETCHECKMONOSPACED>`_

.. method:: editor.styleGetCheckMonospaced(style) -> bool

   Get whether a style may be monospaced.

   See Scintilla documentation for `SCI_STYLEGETCHECKMONOSPACED <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETCHECKMONOSPACED>`_

.. method:: editor.styleSetStretch(style, stretch)

   Set the stretch of characters of a style.

   See Scintilla documentation for `SCI_STYLESETSTRETCH <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETSTRETCH>`_

.. method:: editor.styleGetStretch(style) -> int

   Get the stretch of characters of a style.

   See Scintilla documentation for `SCI_STYLEGETSTRETCH <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETSTRETCH>`_

.. method:: editor.styleSetInvisibleRepresentation(style, representation)

   Set the invisible representation for a style.

   See Scintilla documentation for `SCI_STYLESETINVISIBLEREPRESENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETINVISIBLEREPRESENTATION>`_

.. method:: editor.styleGetInvisibleRepresentation(style) -> str

   Get the invisible representation for a style.

   See Scintilla documentation for `SCI_STYLEGETINVISIBLEREPRESENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLEGETINVISIBLEREPRESENTATION>`_

.. method:: editor.setElementColour(element, colourElement)

   Set the colour of an element. Translucency (alpha) may or may not be significant
   and this may depend on the platform. The alpha byte should commonly be 0xff for opaque.

   See Scintilla documentation for `SCI_SETELEMENTCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETELEMENTCOLOUR>`_

.. method:: editor.getElementColour(element) -> tuple

   Get the colour of an element.

   See Scintilla documentation for `SCI_GETELEMENTCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETELEMENTCOLOUR>`_

.. method:: editor.resetElementColour(element)

   Use the default or platform-defined colour for an element.

   See Scintilla documentation for `SCI_RESETELEMENTCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_RESETELEMENTCOLOUR>`_

.. method:: editor.getElementIsSet(element) -> bool

   Get whether an element has been set by SetElementColour.
   When false, a platform-defined or default colour is used.

   See Scintilla documentation for `SCI_GETELEMENTISSET <https://www.scintilla.org/ScintillaDoc.html#SCI_GETELEMENTISSET>`_

.. method:: editor.getElementAllowsTranslucent(element) -> bool

   Get whether an element supports translucency.

   See Scintilla documentation for `SCI_GETELEMENTALLOWSTRANSLUCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETELEMENTALLOWSTRANSLUCENT>`_

.. method:: editor.getElementBaseColour(element) -> tuple

   Get the colour of an element.

   See Scintilla documentation for `SCI_GETELEMENTBASECOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETELEMENTBASECOLOUR>`_

.. method:: editor.setSelFore(useSetting, fore)

   Set the foreground colour of the main and additional selections and whether to use this setting.

   See Scintilla documentation for `SCI_SETSELFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELFORE>`_

.. method:: editor.setSelBack(useSetting, back)

   Set the background colour of the main and additional selections and whether to use this setting.

   See Scintilla documentation for `SCI_SETSELBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELBACK>`_

.. method:: editor.getSelAlpha() -> int

   Get the alpha of the selection.

   See Scintilla documentation for `SCI_GETSELALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELALPHA>`_

.. method:: editor.setSelAlpha(alpha)

   Set the alpha of the selection.

   See Scintilla documentation for `SCI_SETSELALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELALPHA>`_

.. method:: editor.getSelEOLFilled() -> bool

   Is the selection end of line filled?

   See Scintilla documentation for `SCI_GETSELEOLFILLED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELEOLFILLED>`_

.. method:: editor.setSelEOLFilled(filled)

   Set the selection to have its end of line filled or not.

   See Scintilla documentation for `SCI_SETSELEOLFILLED <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELEOLFILLED>`_

.. method:: editor.getSelectionLayer() -> int

   Get the layer for drawing selections

   See Scintilla documentation for `SCI_GETSELECTIONLAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONLAYER>`_

.. method:: editor.setSelectionLayer(layer)

   Set the layer for drawing selections: either opaquely on base layer or translucently over text

   See Scintilla documentation for `SCI_SETSELECTIONLAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONLAYER>`_

.. method:: editor.getCaretLineLayer() -> int

   Get the layer of the background of the line containing the caret.

   See Scintilla documentation for `SCI_GETCARETLINELAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINELAYER>`_

.. method:: editor.setCaretLineLayer(layer)

   Set the layer of the background of the line containing the caret.

   See Scintilla documentation for `SCI_SETCARETLINELAYER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINELAYER>`_

.. method:: editor.getCaretLineHighlightSubLine() -> bool

   Get only highlighting subline instead of whole line.

   See Scintilla documentation for `SCI_GETCARETLINEHIGHLIGHTSUBLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEHIGHLIGHTSUBLINE>`_

.. method:: editor.setCaretLineHighlightSubLine(subLine)

   Set only highlighting subline instead of whole line.

   See Scintilla documentation for `SCI_SETCARETLINEHIGHLIGHTSUBLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEHIGHLIGHTSUBLINE>`_

.. method:: editor.setCaretFore(fore)

   Set the foreground colour of the caret.

   See Scintilla documentation for `SCI_SETCARETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETFORE>`_

.. method:: editor.assignCmdKey(keyDefinition, sciCommand)

   When key+modifier combination keyDefinition is pressed perform sciCommand.

   See Scintilla documentation for `SCI_ASSIGNCMDKEY <https://www.scintilla.org/ScintillaDoc.html#SCI_ASSIGNCMDKEY>`_

.. method:: editor.clearCmdKey(keyDefinition)

   When key+modifier combination keyDefinition is pressed do nothing.

   See Scintilla documentation for `SCI_CLEARCMDKEY <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARCMDKEY>`_

.. method:: editor.clearAllCmdKeys()

   Drop all key mappings.

   See Scintilla documentation for `SCI_CLEARALLCMDKEYS <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARALLCMDKEYS>`_

.. method:: editor.setStylingEx(styles) -> int

   Set the styles for a segment of the document.

   See Scintilla documentation for `SCI_SETSTYLINGEX <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSTYLINGEX>`_

.. method:: editor.styleSetVisible(style, visible)

   Set a style to be visible or not.

   See Scintilla documentation for `SCI_STYLESETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETVISIBLE>`_

.. method:: editor.getCaretPeriod() -> int

   Get the time in milliseconds that the caret is on and off.

   See Scintilla documentation for `SCI_GETCARETPERIOD <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETPERIOD>`_

.. method:: editor.setCaretPeriod(periodMilliseconds)

   Get the time in milliseconds that the caret is on and off. 0 = steady on.

   See Scintilla documentation for `SCI_SETCARETPERIOD <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETPERIOD>`_

.. method:: editor.setWordChars(characters)

   Set the set of characters making up words for when moving or selecting by word.
   First sets defaults like SetCharsDefault.

   See Scintilla documentation for `SCI_SETWORDCHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWORDCHARS>`_

.. method:: editor.getWordChars() -> str

   Get the set of characters making up words for when moving or selecting by word.
   Returns the number of characters

   See Scintilla documentation for `SCI_GETWORDCHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWORDCHARS>`_

.. method:: editor.setCharacterCategoryOptimization(countCharacters)

   Set the number of characters to have directly indexed categories

   See Scintilla documentation for `SCI_SETCHARACTERCATEGORYOPTIMIZATION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCHARACTERCATEGORYOPTIMIZATION>`_

.. method:: editor.getCharacterCategoryOptimization() -> int

   Get the number of characters to have directly indexed categories

   See Scintilla documentation for `SCI_GETCHARACTERCATEGORYOPTIMIZATION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCHARACTERCATEGORYOPTIMIZATION>`_

.. method:: editor.beginUndoAction()

   Start a sequence of actions that is undone and redone as a unit.
   May be nested.

   See Scintilla documentation for `SCI_BEGINUNDOACTION <https://www.scintilla.org/ScintillaDoc.html#SCI_BEGINUNDOACTION>`_

.. method:: editor.endUndoAction()

   End a sequence of actions that is undone and redone as a unit.

   See Scintilla documentation for `SCI_ENDUNDOACTION <https://www.scintilla.org/ScintillaDoc.html#SCI_ENDUNDOACTION>`_

.. method:: editor.getUndoSequence() -> int

   Is an undo sequence active?

   See Scintilla documentation for `SCI_GETUNDOSEQUENCE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOSEQUENCE>`_

.. method:: editor.getUndoActions() -> int

   How many undo actions are in the history?

   See Scintilla documentation for `SCI_GETUNDOACTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOACTIONS>`_

.. method:: editor.setUndoSavePoint(action)

   Set action as the save point

   See Scintilla documentation for `SCI_SETUNDOSAVEPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDOSAVEPOINT>`_

.. method:: editor.getUndoSavePoint() -> int

   Which action is the save point?

   See Scintilla documentation for `SCI_GETUNDOSAVEPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOSAVEPOINT>`_

.. method:: editor.setUndoDetach(action)

   Set action as the detach point

   See Scintilla documentation for `SCI_SETUNDODETACH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDODETACH>`_

.. method:: editor.getUndoDetach() -> int

   Which action is the detach point?

   See Scintilla documentation for `SCI_GETUNDODETACH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDODETACH>`_

.. method:: editor.setUndoTentative(action)

   Set action as the tentative point

   See Scintilla documentation for `SCI_SETUNDOTENTATIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDOTENTATIVE>`_

.. method:: editor.getUndoTentative() -> int

   Which action is the tentative point?

   See Scintilla documentation for `SCI_GETUNDOTENTATIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOTENTATIVE>`_

.. method:: editor.setUndoCurrent(action)

   Set action as the current point

   See Scintilla documentation for `SCI_SETUNDOCURRENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUNDOCURRENT>`_

.. method:: editor.getUndoCurrent() -> int

   Which action is the current point?

   See Scintilla documentation for `SCI_GETUNDOCURRENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOCURRENT>`_

.. method:: editor.pushUndoActionType(type, pos)

   Push one action onto undo history with no text

   See Scintilla documentation for `SCI_PUSHUNDOACTIONTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_PUSHUNDOACTIONTYPE>`_

.. method:: editor.changeLastUndoActionText(text) -> int

   Set the text and length of the most recently pushed action

   See Scintilla documentation for `SCI_CHANGELASTUNDOACTIONTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_CHANGELASTUNDOACTIONTEXT>`_

.. method:: editor.getUndoActionType(action) -> int

   What is the type of an action?

   See Scintilla documentation for `SCI_GETUNDOACTIONTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOACTIONTYPE>`_

.. method:: editor.getUndoActionPosition(action) -> int

   What is the position of an action?

   See Scintilla documentation for `SCI_GETUNDOACTIONPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOACTIONPOSITION>`_

.. method:: editor.getUndoActionText(action) -> str

   What is the text of an action?

   See Scintilla documentation for `SCI_GETUNDOACTIONTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUNDOACTIONTEXT>`_

.. method:: editor.indicSetStyle(indicator, indicatorStyle)

   Set an indicator to plain, squiggle or TT.

   See Scintilla documentation for `SCI_INDICSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETSTYLE>`_

.. method:: editor.indicGetStyle(indicator) -> int

   Retrieve the style of an indicator.

   See Scintilla documentation for `SCI_INDICGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETSTYLE>`_

.. method:: editor.indicSetFore(indicator, fore)

   Set the foreground colour of an indicator.

   See Scintilla documentation for `SCI_INDICSETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETFORE>`_

.. method:: editor.indicGetFore(indicator) -> tuple

   Retrieve the foreground colour of an indicator.

   See Scintilla documentation for `SCI_INDICGETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETFORE>`_

.. method:: editor.indicSetUnder(indicator, under)

   Set an indicator to draw under text or over(default).

   See Scintilla documentation for `SCI_INDICSETUNDER <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETUNDER>`_

.. method:: editor.indicGetUnder(indicator) -> bool

   Retrieve whether indicator drawn under or over text.

   See Scintilla documentation for `SCI_INDICGETUNDER <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETUNDER>`_

.. method:: editor.indicSetHoverStyle(indicator, indicatorStyle)

   Set a hover indicator to plain, squiggle or TT.

   See Scintilla documentation for `SCI_INDICSETHOVERSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETHOVERSTYLE>`_

.. method:: editor.indicGetHoverStyle(indicator) -> int

   Retrieve the hover style of an indicator.

   See Scintilla documentation for `SCI_INDICGETHOVERSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETHOVERSTYLE>`_

.. method:: editor.indicSetHoverFore(indicator, fore)

   Set the foreground hover colour of an indicator.

   See Scintilla documentation for `SCI_INDICSETHOVERFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETHOVERFORE>`_

.. method:: editor.indicGetHoverFore(indicator) -> tuple

   Retrieve the foreground hover colour of an indicator.

   See Scintilla documentation for `SCI_INDICGETHOVERFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETHOVERFORE>`_

.. method:: editor.indicSetFlags(indicator, flags)

   Set the attributes of an indicator.

   See Scintilla documentation for `SCI_INDICSETFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETFLAGS>`_

.. method:: editor.indicGetFlags(indicator) -> int

   Retrieve the attributes of an indicator.

   See Scintilla documentation for `SCI_INDICGETFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETFLAGS>`_

.. method:: editor.indicSetStrokeWidth(indicator, hundredths)

   Set the stroke width of an indicator in hundredths of a pixel.

   See Scintilla documentation for `SCI_INDICSETSTROKEWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETSTROKEWIDTH>`_

.. method:: editor.indicGetStrokeWidth(indicator) -> int

   Retrieve the stroke width of an indicator.

   See Scintilla documentation for `SCI_INDICGETSTROKEWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETSTROKEWIDTH>`_

.. method:: editor.setWhitespaceFore(useSetting, fore)

   Set the foreground colour of all whitespace and whether to use this setting.

   See Scintilla documentation for `SCI_SETWHITESPACEFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWHITESPACEFORE>`_

.. method:: editor.setWhitespaceBack(useSetting, back)

   Set the background colour of all whitespace and whether to use this setting.

   See Scintilla documentation for `SCI_SETWHITESPACEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWHITESPACEBACK>`_

.. method:: editor.setWhitespaceSize(size)

   Set the size of the dots used to mark space characters.

   See Scintilla documentation for `SCI_SETWHITESPACESIZE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWHITESPACESIZE>`_

.. method:: editor.getWhitespaceSize() -> int

   Get the size of the dots used to mark space characters.

   See Scintilla documentation for `SCI_GETWHITESPACESIZE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWHITESPACESIZE>`_

.. method:: editor.setLineState(line, state)

   Used to hold extra styling information for each line.

   See Scintilla documentation for `SCI_SETLINESTATE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLINESTATE>`_

.. method:: editor.getLineState(line) -> int

   Retrieve the extra styling information for a line.

   See Scintilla documentation for `SCI_GETLINESTATE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINESTATE>`_

.. method:: editor.getMaxLineState() -> int

   Retrieve the last line number that has line state.

   See Scintilla documentation for `SCI_GETMAXLINESTATE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMAXLINESTATE>`_

.. method:: editor.getCaretLineVisible() -> bool

   Is the background of the line containing the caret in a different colour?

   See Scintilla documentation for `SCI_GETCARETLINEVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEVISIBLE>`_

.. method:: editor.setCaretLineVisible(show)

   Display the background of the line containing the caret in a different colour.

   See Scintilla documentation for `SCI_SETCARETLINEVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEVISIBLE>`_

.. method:: editor.getCaretLineBack() -> tuple

   Get the colour of the background of the line containing the caret.

   See Scintilla documentation for `SCI_GETCARETLINEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEBACK>`_

.. method:: editor.setCaretLineBack(back)

   Set the colour of the background of the line containing the caret.

   See Scintilla documentation for `SCI_SETCARETLINEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEBACK>`_

.. method:: editor.getCaretLineFrame() -> int

   Retrieve the caret line frame width.
   Width = 0 means this option is disabled.

   See Scintilla documentation for `SCI_GETCARETLINEFRAME <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEFRAME>`_

.. method:: editor.setCaretLineFrame(width)

   Display the caret line framed.
   Set width != 0 to enable this option and width = 0 to disable it.

   See Scintilla documentation for `SCI_SETCARETLINEFRAME <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEFRAME>`_

.. method:: editor.styleSetChangeable(style, changeable)

   Set a style to be changeable or not (read only).
   Experimental feature, currently buggy.

   See Scintilla documentation for `SCI_STYLESETCHANGEABLE <https://www.scintilla.org/ScintillaDoc.html#SCI_STYLESETCHANGEABLE>`_

.. method:: editor.autoCShow(lengthEntered, itemList)

   Display a auto-completion list.
   The lengthEntered parameter indicates how many characters before
   the caret should be used to provide context.

   See Scintilla documentation for `SCI_AUTOCSHOW <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSHOW>`_

.. method:: editor.autoCCancel()

   Remove the auto-completion list from the screen.

   See Scintilla documentation for `SCI_AUTOCCANCEL <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCCANCEL>`_

.. method:: editor.autoCActive() -> bool

   Is there an auto-completion list visible?

   See Scintilla documentation for `SCI_AUTOCACTIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCACTIVE>`_

.. method:: editor.autoCPosStart() -> int

   Retrieve the position of the caret when the auto-completion list was displayed.

   See Scintilla documentation for `SCI_AUTOCPOSSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCPOSSTART>`_

.. method:: editor.autoCComplete()

   User has selected an item so remove the list and insert the selection.

   See Scintilla documentation for `SCI_AUTOCCOMPLETE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCCOMPLETE>`_

.. method:: editor.autoCStops(characterSet)

   Define a set of character that when typed cancel the auto-completion list.

   See Scintilla documentation for `SCI_AUTOCSTOPS <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSTOPS>`_

.. method:: editor.autoCSetSeparator(separatorCharacter)

   Change the separator character in the string setting up an auto-completion list.
   Default is space but can be changed if items contain space.

   See Scintilla documentation for `SCI_AUTOCSETSEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETSEPARATOR>`_

.. method:: editor.autoCGetSeparator() -> int

   Retrieve the auto-completion list separator character.

   See Scintilla documentation for `SCI_AUTOCGETSEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETSEPARATOR>`_

.. method:: editor.autoCSelect(select)

   Select the item in the auto-completion list that starts with a string.

   See Scintilla documentation for `SCI_AUTOCSELECT <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSELECT>`_

.. method:: editor.autoCSetCancelAtStart(cancel)

   Should the auto-completion list be cancelled if the user backspaces to a
   position before where the box was created.

   See Scintilla documentation for `SCI_AUTOCSETCANCELATSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETCANCELATSTART>`_

.. method:: editor.autoCGetCancelAtStart() -> bool

   Retrieve whether auto-completion cancelled by backspacing before start.

   See Scintilla documentation for `SCI_AUTOCGETCANCELATSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETCANCELATSTART>`_

.. method:: editor.autoCSetFillUps(characterSet)

   Define a set of characters that when typed will cause the autocompletion to
   choose the selected item.

   See Scintilla documentation for `SCI_AUTOCSETFILLUPS <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETFILLUPS>`_

.. method:: editor.autoCSetChooseSingle(chooseSingle)

   Should a single item auto-completion list automatically choose the item.

   See Scintilla documentation for `SCI_AUTOCSETCHOOSESINGLE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETCHOOSESINGLE>`_

.. method:: editor.autoCGetChooseSingle() -> bool

   Retrieve whether a single item auto-completion list automatically choose the item.

   See Scintilla documentation for `SCI_AUTOCGETCHOOSESINGLE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETCHOOSESINGLE>`_

.. method:: editor.autoCSetIgnoreCase(ignoreCase)

   Set whether case is significant when performing auto-completion searches.

   See Scintilla documentation for `SCI_AUTOCSETIGNORECASE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETIGNORECASE>`_

.. method:: editor.autoCGetIgnoreCase() -> bool

   Retrieve state of ignore case flag.

   See Scintilla documentation for `SCI_AUTOCGETIGNORECASE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETIGNORECASE>`_

.. method:: editor.userListShow(listType, itemList)

   Display a list of strings and send notification when user chooses one.

   See Scintilla documentation for `SCI_USERLISTSHOW <https://www.scintilla.org/ScintillaDoc.html#SCI_USERLISTSHOW>`_

.. method:: editor.autoCSetAutoHide(autoHide)

   Set whether or not autocompletion is hidden automatically when nothing matches.

   See Scintilla documentation for `SCI_AUTOCSETAUTOHIDE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETAUTOHIDE>`_

.. method:: editor.autoCGetAutoHide() -> bool

   Retrieve whether or not autocompletion is hidden automatically when nothing matches.

   See Scintilla documentation for `SCI_AUTOCGETAUTOHIDE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETAUTOHIDE>`_

.. method:: editor.autoCSetOptions(options)

   Set autocompletion options.

   See Scintilla documentation for `SCI_AUTOCSETOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETOPTIONS>`_

.. method:: editor.autoCGetOptions() -> int

   Retrieve autocompletion options.

   See Scintilla documentation for `SCI_AUTOCGETOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETOPTIONS>`_

.. method:: editor.autoCSetDropRestOfWord(dropRestOfWord)

   Set whether or not autocompletion deletes any word characters
   after the inserted text upon completion.

   See Scintilla documentation for `SCI_AUTOCSETDROPRESTOFWORD <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETDROPRESTOFWORD>`_

.. method:: editor.autoCGetDropRestOfWord() -> bool

   Retrieve whether or not autocompletion deletes any word characters
   after the inserted text upon completion.

   See Scintilla documentation for `SCI_AUTOCGETDROPRESTOFWORD <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETDROPRESTOFWORD>`_

.. method:: editor.registerImage(type, xpmData)

   Register an XPM image for use in autocompletion lists.

   See Scintilla documentation for `SCI_REGISTERIMAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_REGISTERIMAGE>`_

.. method:: editor.clearRegisteredImages()

   Clear all the registered XPM images.

   See Scintilla documentation for `SCI_CLEARREGISTEREDIMAGES <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARREGISTEREDIMAGES>`_

.. method:: editor.autoCGetTypeSeparator() -> int

   Retrieve the auto-completion list type-separator character.

   See Scintilla documentation for `SCI_AUTOCGETTYPESEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETTYPESEPARATOR>`_

.. method:: editor.autoCSetTypeSeparator(separatorCharacter)

   Change the type-separator character in the string setting up an auto-completion list.
   Default is '?' but can be changed if items contain '?'.

   See Scintilla documentation for `SCI_AUTOCSETTYPESEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETTYPESEPARATOR>`_

.. method:: editor.autoCSetMaxWidth(characterCount)

   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.

   See Scintilla documentation for `SCI_AUTOCSETMAXWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETMAXWIDTH>`_

.. method:: editor.autoCGetMaxWidth() -> int

   Get the maximum width, in characters, of auto-completion and user lists.

   See Scintilla documentation for `SCI_AUTOCGETMAXWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETMAXWIDTH>`_

.. method:: editor.autoCSetMaxHeight(rowCount)

   Set the maximum height, in rows, of auto-completion and user lists.
   The default is 5 rows.

   See Scintilla documentation for `SCI_AUTOCSETMAXHEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETMAXHEIGHT>`_

.. method:: editor.autoCGetMaxHeight() -> int

   Set the maximum height, in rows, of auto-completion and user lists.

   See Scintilla documentation for `SCI_AUTOCGETMAXHEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETMAXHEIGHT>`_

.. method:: editor.autoCSetStyle(style)

   Set the style number used for auto-completion and user lists fonts.

   See Scintilla documentation for `SCI_AUTOCSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETSTYLE>`_

.. method:: editor.autoCGetStyle() -> int

   Get the style number used for auto-completion and user lists fonts.

   See Scintilla documentation for `SCI_AUTOCGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETSTYLE>`_

.. method:: editor.setIndent(indentSize)

   Set the number of spaces used for one level of indentation.

   See Scintilla documentation for `SCI_SETINDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETINDENT>`_

.. method:: editor.getIndent() -> int

   Retrieve indentation size.

   See Scintilla documentation for `SCI_GETINDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETINDENT>`_

.. method:: editor.setUseTabs(useTabs)

   Indentation will only use space characters if useTabs is false, otherwise
   it will use a combination of tabs and spaces.

   See Scintilla documentation for `SCI_SETUSETABS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETUSETABS>`_

.. method:: editor.getUseTabs() -> bool

   Retrieve whether tabs will be used in indentation.

   See Scintilla documentation for `SCI_GETUSETABS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETUSETABS>`_

.. method:: editor.setLineIndentation(line, indentation)

   Change the indentation of a line to a number of columns.

   See Scintilla documentation for `SCI_SETLINEINDENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLINEINDENTATION>`_

.. method:: editor.getLineIndentation(line) -> int

   Retrieve the number of columns that a line is indented.

   See Scintilla documentation for `SCI_GETLINEINDENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEINDENTATION>`_

.. method:: editor.getLineIndentPosition(line) -> int

   Retrieve the position before the first non indentation character on a line.

   See Scintilla documentation for `SCI_GETLINEINDENTPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEINDENTPOSITION>`_

.. method:: editor.getColumn(pos) -> int

   Retrieve the column number of a position, taking tab width into account.

   See Scintilla documentation for `SCI_GETCOLUMN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCOLUMN>`_

.. method:: editor.countCharacters(start, end) -> int

   Count characters between two positions.

   See Scintilla documentation for `SCI_COUNTCHARACTERS <https://www.scintilla.org/ScintillaDoc.html#SCI_COUNTCHARACTERS>`_

.. method:: editor.countCodeUnits(start, end) -> int

   Count code units between two positions.

   See Scintilla documentation for `SCI_COUNTCODEUNITS <https://www.scintilla.org/ScintillaDoc.html#SCI_COUNTCODEUNITS>`_

.. method:: editor.setHScrollBar(visible)

   Show or hide the horizontal scroll bar.

   See Scintilla documentation for `SCI_SETHSCROLLBAR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHSCROLLBAR>`_

.. method:: editor.getHScrollBar() -> bool

   Is the horizontal scroll bar visible?

   See Scintilla documentation for `SCI_GETHSCROLLBAR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHSCROLLBAR>`_

.. method:: editor.setIndentationGuides(indentView)

   Show or hide indentation guides.

   See Scintilla documentation for `SCI_SETINDENTATIONGUIDES <https://www.scintilla.org/ScintillaDoc.html#SCI_SETINDENTATIONGUIDES>`_

.. method:: editor.getIndentationGuides() -> int

   Are the indentation guides visible?

   See Scintilla documentation for `SCI_GETINDENTATIONGUIDES <https://www.scintilla.org/ScintillaDoc.html#SCI_GETINDENTATIONGUIDES>`_

.. method:: editor.setHighlightGuide(column)

   Set the highlighted indentation guide column.
   0 = no highlighted guide.

   See Scintilla documentation for `SCI_SETHIGHLIGHTGUIDE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHIGHLIGHTGUIDE>`_

.. method:: editor.getHighlightGuide() -> int

   Get the highlighted indentation guide column.

   See Scintilla documentation for `SCI_GETHIGHLIGHTGUIDE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHIGHLIGHTGUIDE>`_

.. method:: editor.getLineEndPosition(line) -> int

   Get the position after the last visible characters on a line.

   See Scintilla documentation for `SCI_GETLINEENDPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEENDPOSITION>`_

.. method:: editor.getCodePage() -> int

   Get the code page used to interpret the bytes of the document as characters.

   See Scintilla documentation for `SCI_GETCODEPAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCODEPAGE>`_

.. method:: editor.getCaretFore() -> tuple

   Get the foreground colour of the caret.

   See Scintilla documentation for `SCI_GETCARETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETFORE>`_

.. method:: editor.getReadOnly() -> bool

   In read-only mode?

   See Scintilla documentation for `SCI_GETREADONLY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETREADONLY>`_

.. method:: editor.setCurrentPos(caret)

   Sets the position of the caret.

   See Scintilla documentation for `SCI_SETCURRENTPOS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCURRENTPOS>`_

.. method:: editor.setSelectionStart(anchor)

   Sets the position that starts the selection - this becomes the anchor.

   See Scintilla documentation for `SCI_SETSELECTIONSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONSTART>`_

.. method:: editor.getSelectionStart() -> int

   Returns the position at the start of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONSTART>`_

.. method:: editor.setSelectionEnd(caret)

   Sets the position that ends the selection - this becomes the caret.

   See Scintilla documentation for `SCI_SETSELECTIONEND <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONEND>`_

.. method:: editor.getSelectionEnd() -> int

   Returns the position at the end of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONEND <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONEND>`_

.. method:: editor.setEmptySelection(caret)

   Set caret to a position, while removing any existing selection.

   See Scintilla documentation for `SCI_SETEMPTYSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEMPTYSELECTION>`_

.. method:: editor.setPrintMagnification(magnification)

   Sets the print magnification added to the point size of each style for printing.

   See Scintilla documentation for `SCI_SETPRINTMAGNIFICATION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPRINTMAGNIFICATION>`_

.. method:: editor.getPrintMagnification() -> int

   Returns the print magnification.

   See Scintilla documentation for `SCI_GETPRINTMAGNIFICATION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPRINTMAGNIFICATION>`_

.. method:: editor.setPrintColourMode(mode)

   Modify colours when printing for clearer printed text.

   See Scintilla documentation for `SCI_SETPRINTCOLOURMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPRINTCOLOURMODE>`_

.. method:: editor.getPrintColourMode() -> int

   Returns the print colour mode.

   See Scintilla documentation for `SCI_GETPRINTCOLOURMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPRINTCOLOURMODE>`_

.. method:: editor.findText(searchFlags, start, end, ft) -> object

   Find some text in the document.

   See Scintilla documentation for `SCI_FINDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDTEXT>`_

.. method:: editor.findTextFull(searchFlags, start, end, ft) -> object

   Find some text in the document.

   See Scintilla documentation for `SCI_FINDTEXTFULL <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDTEXTFULL>`_

.. method:: editor.setChangeHistory(changeHistory)

   Enable or disable change history.

   See Scintilla documentation for `SCI_SETCHANGEHISTORY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCHANGEHISTORY>`_

.. method:: editor.getChangeHistory() -> int

   Report change history status.

   See Scintilla documentation for `SCI_GETCHANGEHISTORY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCHANGEHISTORY>`_

.. method:: editor.getFirstVisibleLine() -> int

   Retrieve the display line at the top of the display.

   See Scintilla documentation for `SCI_GETFIRSTVISIBLELINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFIRSTVISIBLELINE>`_

.. method:: editor.getLine(line) -> str

   Retrieve the contents of a line.
   Returns the length of the line.

   See Scintilla documentation for `SCI_GETLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINE>`_

.. method:: editor.getLineCount() -> int

   Returns the number of lines in the document. There is always at least one.

   See Scintilla documentation for `SCI_GETLINECOUNT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINECOUNT>`_

.. method:: editor.allocateLines(lines)

   Enlarge the number of lines allocated.

   See Scintilla documentation for `SCI_ALLOCATELINES <https://www.scintilla.org/ScintillaDoc.html#SCI_ALLOCATELINES>`_

.. method:: editor.setMarginLeft(pixelWidth)

   Sets the size in pixels of the left margin.

   See Scintilla documentation for `SCI_SETMARGINLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINLEFT>`_

.. method:: editor.getMarginLeft() -> int

   Returns the size in pixels of the left margin.

   See Scintilla documentation for `SCI_GETMARGINLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINLEFT>`_

.. method:: editor.setMarginRight(pixelWidth)

   Sets the size in pixels of the right margin.

   See Scintilla documentation for `SCI_SETMARGINRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINRIGHT>`_

.. method:: editor.getMarginRight() -> int

   Returns the size in pixels of the right margin.

   See Scintilla documentation for `SCI_GETMARGINRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINRIGHT>`_

.. method:: editor.getModify() -> bool

   Is the document different from when it was last saved?

   See Scintilla documentation for `SCI_GETMODIFY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMODIFY>`_

.. method:: editor.setSel(anchor, caret)

   Select a range of text.

   See Scintilla documentation for `SCI_SETSEL <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSEL>`_

.. method:: editor.getSelText() -> str

   Retrieve the selected text.
   Return the length of the text.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETSELTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELTEXT>`_

.. method:: editor.getTextRange(start, end) -> str

   Retrieve a range of text.
   Return the length of the text.

   See Scintilla documentation for `SCI_GETTEXTRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTEXTRANGE>`_

.. method:: editor.getTextRangeFull(start, end) -> str

   Retrieve a range of text that can be past 2GB.
   Return the length of the text.

   See Scintilla documentation for `SCI_GETTEXTRANGEFULL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTEXTRANGEFULL>`_

.. method:: editor.hideSelection(hide)

   Draw the selection either highlighted or in normal (non-highlighted) style.

   See Scintilla documentation for `SCI_HIDESELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_HIDESELECTION>`_

.. method:: editor.getSelectionHidden() -> bool



   See Scintilla documentation for `SCI_GETSELECTIONHIDDEN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONHIDDEN>`_

.. method:: editor.pointXFromPosition(pos) -> int

   Retrieve the x value of the point in the window where a position is displayed.

   See Scintilla documentation for `SCI_POINTXFROMPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_POINTXFROMPOSITION>`_

.. method:: editor.pointYFromPosition(pos) -> int

   Retrieve the y value of the point in the window where a position is displayed.

   See Scintilla documentation for `SCI_POINTYFROMPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_POINTYFROMPOSITION>`_

.. method:: editor.lineFromPosition(pos) -> int

   Retrieve the line containing a position.

   See Scintilla documentation for `SCI_LINEFROMPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEFROMPOSITION>`_

.. method:: editor.positionFromLine(line) -> int

   Retrieve the position at the start of a line.

   See Scintilla documentation for `SCI_POSITIONFROMLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONFROMLINE>`_

.. method:: editor.lineScroll(columns, lines)

   Scroll horizontally and vertically.

   See Scintilla documentation for `SCI_LINESCROLL <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESCROLL>`_

.. method:: editor.scrollCaret()

   Ensure the caret is visible.

   See Scintilla documentation for `SCI_SCROLLCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_SCROLLCARET>`_

.. method:: editor.scrollRange(secondary, primary)

   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.

   See Scintilla documentation for `SCI_SCROLLRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_SCROLLRANGE>`_

.. method:: editor.replaceSel(text)

   Replace the selected text with the argument text.

   See Scintilla documentation for `SCI_REPLACESEL <https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACESEL>`_

.. method:: editor.setReadOnly(readOnly)

   Set to read only or read write.

   See Scintilla documentation for `SCI_SETREADONLY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETREADONLY>`_

.. method:: editor.null()

   Null operation.

   See Scintilla documentation for `SCI_NULL <https://www.scintilla.org/ScintillaDoc.html#SCI_NULL>`_

.. method:: editor.canPaste() -> bool

   Will a paste succeed?

   See Scintilla documentation for `SCI_CANPASTE <https://www.scintilla.org/ScintillaDoc.html#SCI_CANPASTE>`_

.. method:: editor.canUndo() -> bool

   Are there any undoable actions in the undo history?

   See Scintilla documentation for `SCI_CANUNDO <https://www.scintilla.org/ScintillaDoc.html#SCI_CANUNDO>`_

.. method:: editor.emptyUndoBuffer()

   Delete the undo history.

   See Scintilla documentation for `SCI_EMPTYUNDOBUFFER <https://www.scintilla.org/ScintillaDoc.html#SCI_EMPTYUNDOBUFFER>`_

.. method:: editor.undo()

   Undo one action in the undo history.

   See Scintilla documentation for `SCI_UNDO <https://www.scintilla.org/ScintillaDoc.html#SCI_UNDO>`_

.. method:: editor.cut()

   Cut the selection to the clipboard.

   See Scintilla documentation for `SCI_CUT <https://www.scintilla.org/ScintillaDoc.html#SCI_CUT>`_

.. method:: editor.copy()

   Copy the selection to the clipboard.

   See Scintilla documentation for `SCI_COPY <https://www.scintilla.org/ScintillaDoc.html#SCI_COPY>`_

.. method:: editor.paste()

   Paste the contents of the clipboard into the document replacing the selection.

   See Scintilla documentation for `SCI_PASTE <https://www.scintilla.org/ScintillaDoc.html#SCI_PASTE>`_

.. method:: editor.clear()

   Clear the selection.

   See Scintilla documentation for `SCI_CLEAR <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEAR>`_

.. method:: editor.setText(text)

   Replace the contents of the document with the argument text.

   See Scintilla documentation for `SCI_SETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTEXT>`_

.. method:: editor.getText() -> str

   Retrieve all the text in the document.
   Returns number of characters retrieved.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTEXT>`_

.. method:: editor.getTextLength() -> int

   Retrieve the number of characters in the document.

   See Scintilla documentation for `SCI_GETTEXTLENGTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTEXTLENGTH>`_

.. method:: editor.getDirectFunction() -> int

   Retrieve a pointer to a function that processes messages for this Scintilla.

   See Scintilla documentation for `SCI_GETDIRECTFUNCTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDIRECTFUNCTION>`_

.. method:: editor.getDirectStatusFunction() -> int

   Retrieve a pointer to a function that processes messages for this Scintilla and returns status.

   See Scintilla documentation for `SCI_GETDIRECTSTATUSFUNCTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDIRECTSTATUSFUNCTION>`_

.. method:: editor.getDirectPointer() -> int

   Retrieve a pointer value to use as the first argument when calling
   the function returned by GetDirectFunction.

   See Scintilla documentation for `SCI_GETDIRECTPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDIRECTPOINTER>`_

.. method:: editor.setOvertype(overType)

   Set to overtype (true) or insert mode.

   See Scintilla documentation for `SCI_SETOVERTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETOVERTYPE>`_

.. method:: editor.getOvertype() -> bool

   Returns true if overtype mode is active otherwise false is returned.

   See Scintilla documentation for `SCI_GETOVERTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETOVERTYPE>`_

.. method:: editor.setCaretWidth(pixelWidth)

   Set the width of the insert mode caret.

   See Scintilla documentation for `SCI_SETCARETWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETWIDTH>`_

.. method:: editor.getCaretWidth() -> int

   Returns the width of the insert mode caret.

   See Scintilla documentation for `SCI_GETCARETWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETWIDTH>`_

.. method:: editor.setTargetStart(start)

   Sets the position that starts the target which is used for updating the
   document without affecting the scroll position.

   See Scintilla documentation for `SCI_SETTARGETSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTARGETSTART>`_

.. method:: editor.getTargetStart() -> int

   Get the position that starts the target.

   See Scintilla documentation for `SCI_GETTARGETSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTARGETSTART>`_

.. method:: editor.setTargetStartVirtualSpace(space)

   Sets the virtual space of the target start

   See Scintilla documentation for `SCI_SETTARGETSTARTVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTARGETSTARTVIRTUALSPACE>`_

.. method:: editor.getTargetStartVirtualSpace() -> int

   Get the virtual space of the target start

   See Scintilla documentation for `SCI_GETTARGETSTARTVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTARGETSTARTVIRTUALSPACE>`_

.. method:: editor.setTargetEnd(end)

   Sets the position that ends the target which is used for updating the
   document without affecting the scroll position.

   See Scintilla documentation for `SCI_SETTARGETEND <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTARGETEND>`_

.. method:: editor.getTargetEnd() -> int

   Get the position that ends the target.

   See Scintilla documentation for `SCI_GETTARGETEND <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTARGETEND>`_

.. method:: editor.setTargetEndVirtualSpace(space)

   Sets the virtual space of the target end

   See Scintilla documentation for `SCI_SETTARGETENDVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTARGETENDVIRTUALSPACE>`_

.. method:: editor.getTargetEndVirtualSpace() -> int

   Get the virtual space of the target end

   See Scintilla documentation for `SCI_GETTARGETENDVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTARGETENDVIRTUALSPACE>`_

.. method:: editor.setTargetRange(start, end)

   Sets both the start and end of the target in one call.

   See Scintilla documentation for `SCI_SETTARGETRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTARGETRANGE>`_

.. method:: editor.getTargetText() -> str

   Retrieve the text in the target.

   See Scintilla documentation for `SCI_GETTARGETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTARGETTEXT>`_

.. method:: editor.targetFromSelection()

   Make the target range start and end be the same as the selection range start and end.

   See Scintilla documentation for `SCI_TARGETFROMSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_TARGETFROMSELECTION>`_

.. method:: editor.targetWholeDocument()

   Sets the target to the whole document.

   See Scintilla documentation for `SCI_TARGETWHOLEDOCUMENT <https://www.scintilla.org/ScintillaDoc.html#SCI_TARGETWHOLEDOCUMENT>`_

.. method:: editor.replaceTarget(text) -> int

   Replace the target text with the argument text.
   Text is counted so it can contain NULs.
   Returns the length of the replacement text.

   See Scintilla documentation for `SCI_REPLACETARGET <https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACETARGET>`_

.. method:: editor.replaceTargetRE(text) -> int

   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.

   See Scintilla documentation for `SCI_REPLACETARGETRE <https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACETARGETRE>`_

.. method:: editor.replaceTargetMinimal(text) -> int

   Replace the target text with the argument text but ignore prefix and suffix that
   are the same as current.

   See Scintilla documentation for `SCI_REPLACETARGETMINIMAL <https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACETARGETMINIMAL>`_

.. method:: editor.searchInTarget(text) -> int

   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 start of found range or -1 for failure in which case target is not moved.

   See Scintilla documentation for `SCI_SEARCHINTARGET <https://www.scintilla.org/ScintillaDoc.html#SCI_SEARCHINTARGET>`_

.. method:: editor.setSearchFlags(searchFlags)

   Set the search flags used by SearchInTarget.

   See Scintilla documentation for `SCI_SETSEARCHFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSEARCHFLAGS>`_

.. method:: editor.getSearchFlags() -> int

   Get the search flags used by SearchInTarget.

   See Scintilla documentation for `SCI_GETSEARCHFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSEARCHFLAGS>`_

.. method:: editor.callTipShow(pos, definition)

   Show a call tip containing a definition near position pos.

   See Scintilla documentation for `SCI_CALLTIPSHOW <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSHOW>`_

.. method:: editor.callTipCancel()

   Remove the call tip from the screen.

   See Scintilla documentation for `SCI_CALLTIPCANCEL <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPCANCEL>`_

.. method:: editor.callTipActive() -> bool

   Is there an active call tip?

   See Scintilla documentation for `SCI_CALLTIPACTIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPACTIVE>`_

.. method:: editor.callTipPosStart() -> int

   Retrieve the position where the caret was before displaying the call tip.

   See Scintilla documentation for `SCI_CALLTIPPOSSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPPOSSTART>`_

.. method:: editor.callTipSetPosStart(posStart)

   Set the start position in order to change when backspacing removes the calltip.

   See Scintilla documentation for `SCI_CALLTIPSETPOSSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETPOSSTART>`_

.. method:: editor.callTipSetHlt(highlightStart, highlightEnd)

   Highlight a segment of the definition.

   See Scintilla documentation for `SCI_CALLTIPSETHLT <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETHLT>`_

.. method:: editor.callTipSetBack(back)

   Set the background colour for the call tip.

   See Scintilla documentation for `SCI_CALLTIPSETBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETBACK>`_

.. method:: editor.callTipSetFore(fore)

   Set the foreground colour for the call tip.

   See Scintilla documentation for `SCI_CALLTIPSETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETFORE>`_

.. method:: editor.callTipSetForeHlt(fore)

   Set the foreground colour for the highlighted part of the call tip.

   See Scintilla documentation for `SCI_CALLTIPSETFOREHLT <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETFOREHLT>`_

.. method:: editor.callTipUseStyle(tabSize)

   Enable use of STYLE_CALLTIP and set call tip tab size in pixels.

   See Scintilla documentation for `SCI_CALLTIPUSESTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPUSESTYLE>`_

.. method:: editor.callTipSetPosition(above)

   Set position of calltip, above or below text.

   See Scintilla documentation for `SCI_CALLTIPSETPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_CALLTIPSETPOSITION>`_

.. method:: editor.visibleFromDocLine(docLine) -> int

   Find the display line of a document line taking hidden lines into account.

   See Scintilla documentation for `SCI_VISIBLEFROMDOCLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_VISIBLEFROMDOCLINE>`_

.. method:: editor.docLineFromVisible(displayLine) -> int

   Find the document line of a display line taking hidden lines into account.

   See Scintilla documentation for `SCI_DOCLINEFROMVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_DOCLINEFROMVISIBLE>`_

.. method:: editor.wrapCount(docLine) -> int

   The number of display lines needed to wrap a document line

   See Scintilla documentation for `SCI_WRAPCOUNT <https://www.scintilla.org/ScintillaDoc.html#SCI_WRAPCOUNT>`_

.. method:: editor.setFoldLevel(line, level)

   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.

   See Scintilla documentation for `SCI_SETFOLDLEVEL <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOLDLEVEL>`_

.. method:: editor.getFoldLevel(line) -> int

   Retrieve the fold level of a line.

   See Scintilla documentation for `SCI_GETFOLDLEVEL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFOLDLEVEL>`_

.. method:: editor.getLastChild(line, level) -> int

   Find the last child line of a header line.

   See Scintilla documentation for `SCI_GETLASTCHILD <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLASTCHILD>`_

.. method:: editor.getFoldParent(line) -> int

   Find the parent line of a child line.

   See Scintilla documentation for `SCI_GETFOLDPARENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFOLDPARENT>`_

.. method:: editor.showLines(lineStart, lineEnd)

   Make a range of lines visible.

   See Scintilla documentation for `SCI_SHOWLINES <https://www.scintilla.org/ScintillaDoc.html#SCI_SHOWLINES>`_

.. method:: editor.hideLines(lineStart, lineEnd)

   Make a range of lines invisible.

   See Scintilla documentation for `SCI_HIDELINES <https://www.scintilla.org/ScintillaDoc.html#SCI_HIDELINES>`_

.. method:: editor.getLineVisible(line) -> bool

   Is a line visible?

   See Scintilla documentation for `SCI_GETLINEVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEVISIBLE>`_

.. method:: editor.getAllLinesVisible() -> bool

   Are all lines visible?

   See Scintilla documentation for `SCI_GETALLLINESVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETALLLINESVISIBLE>`_

.. method:: editor.setFoldExpanded(line, expanded)

   Show the children of a header line.

   See Scintilla documentation for `SCI_SETFOLDEXPANDED <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOLDEXPANDED>`_

.. method:: editor.getFoldExpanded(line) -> bool

   Is a header line expanded?

   See Scintilla documentation for `SCI_GETFOLDEXPANDED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFOLDEXPANDED>`_

.. method:: editor.toggleFold(line)

   Switch a header line between expanded and contracted.

   See Scintilla documentation for `SCI_TOGGLEFOLD <https://www.scintilla.org/ScintillaDoc.html#SCI_TOGGLEFOLD>`_

.. method:: editor.toggleFoldShowText(line, text)

   Switch a header line between expanded and contracted and show some text after the line.

   See Scintilla documentation for `SCI_TOGGLEFOLDSHOWTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_TOGGLEFOLDSHOWTEXT>`_

.. method:: editor.foldDisplayTextSetStyle(style)

   Set the style of fold display text.

   See Scintilla documentation for `SCI_FOLDDISPLAYTEXTSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_FOLDDISPLAYTEXTSETSTYLE>`_

.. method:: editor.foldDisplayTextGetStyle() -> int

   Get the style of fold display text.

   See Scintilla documentation for `SCI_FOLDDISPLAYTEXTGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_FOLDDISPLAYTEXTGETSTYLE>`_

.. method:: editor.setDefaultFoldDisplayText(text)

   Set the default fold display text.

   See Scintilla documentation for `SCI_SETDEFAULTFOLDDISPLAYTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETDEFAULTFOLDDISPLAYTEXT>`_

.. method:: editor.getDefaultFoldDisplayText() -> str

   Get the default fold display text.

   See Scintilla documentation for `SCI_GETDEFAULTFOLDDISPLAYTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDEFAULTFOLDDISPLAYTEXT>`_

.. method:: editor.foldLine(line, action)

   Expand or contract a fold header.

   See Scintilla documentation for `SCI_FOLDLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_FOLDLINE>`_

.. method:: editor.foldChildren(line, action)

   Expand or contract a fold header and its children.

   See Scintilla documentation for `SCI_FOLDCHILDREN <https://www.scintilla.org/ScintillaDoc.html#SCI_FOLDCHILDREN>`_

.. method:: editor.expandChildren(line, level)

   Expand a fold header and all children. Use the level argument instead of the line's current level.

   See Scintilla documentation for `SCI_EXPANDCHILDREN <https://www.scintilla.org/ScintillaDoc.html#SCI_EXPANDCHILDREN>`_

.. method:: editor.foldAll(action)

   Expand or contract all fold headers.

   See Scintilla documentation for `SCI_FOLDALL <https://www.scintilla.org/ScintillaDoc.html#SCI_FOLDALL>`_

.. method:: editor.ensureVisible(line)

   Ensure a particular line is visible by expanding any header line hiding it.

   See Scintilla documentation for `SCI_ENSUREVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_ENSUREVISIBLE>`_

.. method:: editor.setAutomaticFold(automaticFold)

   Set automatic folding behaviours.

   See Scintilla documentation for `SCI_SETAUTOMATICFOLD <https://www.scintilla.org/ScintillaDoc.html#SCI_SETAUTOMATICFOLD>`_

.. method:: editor.getAutomaticFold() -> int

   Get automatic folding behaviours.

   See Scintilla documentation for `SCI_GETAUTOMATICFOLD <https://www.scintilla.org/ScintillaDoc.html#SCI_GETAUTOMATICFOLD>`_

.. method:: editor.setFoldFlags(flags)

   Set some style options for folding.

   See Scintilla documentation for `SCI_SETFOLDFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOLDFLAGS>`_

.. method:: editor.ensureVisibleEnforcePolicy(line)

   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.

   See Scintilla documentation for `SCI_ENSUREVISIBLEENFORCEPOLICY <https://www.scintilla.org/ScintillaDoc.html#SCI_ENSUREVISIBLEENFORCEPOLICY>`_

.. method:: editor.setTabIndents(tabIndents)

   Sets whether a tab pressed when caret is within indentation indents.

   See Scintilla documentation for `SCI_SETTABINDENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTABINDENTS>`_

.. method:: editor.getTabIndents() -> bool

   Does a tab pressed when caret is within indentation indent?

   See Scintilla documentation for `SCI_GETTABINDENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTABINDENTS>`_

.. method:: editor.setBackSpaceUnIndents(bsUnIndents)

   Sets whether a backspace pressed when caret is within indentation unindents.

   See Scintilla documentation for `SCI_SETBACKSPACEUNINDENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETBACKSPACEUNINDENTS>`_

.. method:: editor.getBackSpaceUnIndents() -> bool

   Does a backspace pressed when caret is within indentation unindent?

   See Scintilla documentation for `SCI_GETBACKSPACEUNINDENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETBACKSPACEUNINDENTS>`_

.. method:: editor.setMouseDwellTime(periodMilliseconds)

   Sets the time the mouse must sit still to generate a mouse dwell event.

   See Scintilla documentation for `SCI_SETMOUSEDWELLTIME <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMOUSEDWELLTIME>`_

.. method:: editor.getMouseDwellTime() -> int

   Retrieve the time the mouse must sit still to generate a mouse dwell event.

   See Scintilla documentation for `SCI_GETMOUSEDWELLTIME <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMOUSEDWELLTIME>`_

.. method:: editor.wordStartPosition(pos, onlyWordCharacters) -> int

   Get position of start of word.

   See Scintilla documentation for `SCI_WORDSTARTPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDSTARTPOSITION>`_

.. method:: editor.wordEndPosition(pos, onlyWordCharacters) -> int

   Get position of end of word.

   See Scintilla documentation for `SCI_WORDENDPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDENDPOSITION>`_

.. method:: editor.isRangeWord(start, end) -> bool

   Is the range start..end considered a word?

   See Scintilla documentation for `SCI_ISRANGEWORD <https://www.scintilla.org/ScintillaDoc.html#SCI_ISRANGEWORD>`_

.. method:: editor.setIdleStyling(idleStyling)

   Sets limits to idle styling.

   See Scintilla documentation for `SCI_SETIDLESTYLING <https://www.scintilla.org/ScintillaDoc.html#SCI_SETIDLESTYLING>`_

.. method:: editor.getIdleStyling() -> int

   Retrieve the limits to idle styling.

   See Scintilla documentation for `SCI_GETIDLESTYLING <https://www.scintilla.org/ScintillaDoc.html#SCI_GETIDLESTYLING>`_

.. method:: editor.setWrapMode(wrapMode)

   Sets whether text is word wrapped.

   See Scintilla documentation for `SCI_SETWRAPMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWRAPMODE>`_

.. method:: editor.getWrapMode() -> int

   Retrieve whether text is word wrapped.

   See Scintilla documentation for `SCI_GETWRAPMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWRAPMODE>`_

.. method:: editor.setWrapVisualFlags(wrapVisualFlags)

   Set the display mode of visual flags for wrapped lines.

   See Scintilla documentation for `SCI_SETWRAPVISUALFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWRAPVISUALFLAGS>`_

.. method:: editor.getWrapVisualFlags() -> int

   Retrive the display mode of visual flags for wrapped lines.

   See Scintilla documentation for `SCI_GETWRAPVISUALFLAGS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWRAPVISUALFLAGS>`_

.. method:: editor.setWrapVisualFlagsLocation(wrapVisualFlagsLocation)

   Set the location of visual flags for wrapped lines.

   See Scintilla documentation for `SCI_SETWRAPVISUALFLAGSLOCATION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWRAPVISUALFLAGSLOCATION>`_

.. method:: editor.getWrapVisualFlagsLocation() -> int

   Retrive the location of visual flags for wrapped lines.

   See Scintilla documentation for `SCI_GETWRAPVISUALFLAGSLOCATION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWRAPVISUALFLAGSLOCATION>`_

.. method:: editor.setWrapStartIndent(indent)

   Set the start indent for wrapped lines.

   See Scintilla documentation for `SCI_SETWRAPSTARTINDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWRAPSTARTINDENT>`_

.. method:: editor.getWrapStartIndent() -> int

   Retrive the start indent for wrapped lines.

   See Scintilla documentation for `SCI_GETWRAPSTARTINDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWRAPSTARTINDENT>`_

.. method:: editor.setWrapIndentMode(wrapIndentMode)

   Sets how wrapped sublines are placed. Default is fixed.

   See Scintilla documentation for `SCI_SETWRAPINDENTMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWRAPINDENTMODE>`_

.. method:: editor.getWrapIndentMode() -> int

   Retrieve how wrapped sublines are placed. Default is fixed.

   See Scintilla documentation for `SCI_GETWRAPINDENTMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWRAPINDENTMODE>`_

.. method:: editor.setLayoutCache(cacheMode)

   Sets the degree of caching of layout information.

   See Scintilla documentation for `SCI_SETLAYOUTCACHE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLAYOUTCACHE>`_

.. method:: editor.getLayoutCache() -> int

   Retrieve the degree of caching of layout information.

   See Scintilla documentation for `SCI_GETLAYOUTCACHE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLAYOUTCACHE>`_

.. method:: editor.setScrollWidth(pixelWidth)

   Sets the document width assumed for scrolling.

   See Scintilla documentation for `SCI_SETSCROLLWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSCROLLWIDTH>`_

.. method:: editor.getScrollWidth() -> int

   Retrieve the document width assumed for scrolling.

   See Scintilla documentation for `SCI_GETSCROLLWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSCROLLWIDTH>`_

.. method:: editor.setScrollWidthTracking(tracking)

   Sets whether the maximum width line displayed is used to set scroll width.

   See Scintilla documentation for `SCI_SETSCROLLWIDTHTRACKING <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSCROLLWIDTHTRACKING>`_

.. method:: editor.getScrollWidthTracking() -> bool

   Retrieve whether the scroll width tracks wide lines.

   See Scintilla documentation for `SCI_GETSCROLLWIDTHTRACKING <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSCROLLWIDTHTRACKING>`_

.. method:: editor.textWidth(style, text) -> int

   Measure the pixel width of some text in a particular style.
   NUL terminated text argument.
   Does not handle tab or control characters.

   See Scintilla documentation for `SCI_TEXTWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_TEXTWIDTH>`_

.. method:: editor.setEndAtLastLine(endAtLastLine)

   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.

   See Scintilla documentation for `SCI_SETENDATLASTLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETENDATLASTLINE>`_

.. method:: editor.getEndAtLastLine() -> bool

   Retrieve whether the maximum scroll position has the last
   line at the bottom of the view.

   See Scintilla documentation for `SCI_GETENDATLASTLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETENDATLASTLINE>`_

.. method:: editor.textHeight(line) -> int

   Retrieve the height of a particular line of text in pixels.

   See Scintilla documentation for `SCI_TEXTHEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_TEXTHEIGHT>`_

.. method:: editor.setVScrollBar(visible)

   Show or hide the vertical scroll bar.

   See Scintilla documentation for `SCI_SETVSCROLLBAR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETVSCROLLBAR>`_

.. method:: editor.getVScrollBar() -> bool

   Is the vertical scroll bar visible?

   See Scintilla documentation for `SCI_GETVSCROLLBAR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETVSCROLLBAR>`_

.. method:: editor.appendText(text) -> int

   Append a string to the end of the document without changing the selection.

   See Scintilla documentation for `SCI_APPENDTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_APPENDTEXT>`_

.. method:: editor.getPhasesDraw() -> int

   How many phases is drawing done in?

   See Scintilla documentation for `SCI_GETPHASESDRAW <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPHASESDRAW>`_

.. method:: editor.setPhasesDraw(phases)

   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.

   See Scintilla documentation for `SCI_SETPHASESDRAW <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPHASESDRAW>`_

.. method:: editor.setFontQuality(fontQuality)

   Choose the quality level for text from the FontQuality enumeration.

   See Scintilla documentation for `SCI_SETFONTQUALITY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFONTQUALITY>`_

.. method:: editor.getFontQuality() -> int

   Retrieve the quality level for text.

   See Scintilla documentation for `SCI_GETFONTQUALITY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFONTQUALITY>`_

.. method:: editor.setFirstVisibleLine(displayLine)

   Scroll so that a display line is at the top of the display.

   See Scintilla documentation for `SCI_SETFIRSTVISIBLELINE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFIRSTVISIBLELINE>`_

.. method:: editor.setMultiPaste(multiPaste)

   Change the effect of pasting when there are multiple selections.

   See Scintilla documentation for `SCI_SETMULTIPASTE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMULTIPASTE>`_

.. method:: editor.getMultiPaste() -> int

   Retrieve the effect of pasting when there are multiple selections.

   See Scintilla documentation for `SCI_GETMULTIPASTE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMULTIPASTE>`_

.. method:: editor.getTag(tagNumber) -> str

   Retrieve the value of a tag from a regular expression search.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETTAG <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTAG>`_

.. method:: editor.linesJoin()

   Join the lines in the target.

   See Scintilla documentation for `SCI_LINESJOIN <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESJOIN>`_

.. method:: editor.linesSplit(pixelWidth)

   Split the lines in the target into lines that are less wide than pixelWidth
   where possible.

   See Scintilla documentation for `SCI_LINESSPLIT <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESSPLIT>`_

.. method:: editor.setFoldMarginColour(useSetting, back)

   Set one of the colours used as a chequerboard pattern in the fold margin

   See Scintilla documentation for `SCI_SETFOLDMARGINCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOLDMARGINCOLOUR>`_

.. method:: editor.setFoldMarginHiColour(useSetting, fore)

   Set the other colour used as a chequerboard pattern in the fold margin

   See Scintilla documentation for `SCI_SETFOLDMARGINHICOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOLDMARGINHICOLOUR>`_

.. method:: editor.setAccessibility(accessibility)

   Enable or disable accessibility.

   See Scintilla documentation for `SCI_SETACCESSIBILITY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETACCESSIBILITY>`_

.. method:: editor.getAccessibility() -> int

   Report accessibility status.

   See Scintilla documentation for `SCI_GETACCESSIBILITY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETACCESSIBILITY>`_

.. method:: editor.lineDown()

   Move caret down one line.

   See Scintilla documentation for `SCI_LINEDOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDOWN>`_

.. method:: editor.lineDownExtend()

   Move caret down one line extending selection to new caret position.

   See Scintilla documentation for `SCI_LINEDOWNEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDOWNEXTEND>`_

.. method:: editor.lineUp()

   Move caret up one line.

   See Scintilla documentation for `SCI_LINEUP <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEUP>`_

.. method:: editor.lineUpExtend()

   Move caret up one line extending selection to new caret position.

   See Scintilla documentation for `SCI_LINEUPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEUPEXTEND>`_

.. method:: editor.charLeft()

   Move caret left one character.

   See Scintilla documentation for `SCI_CHARLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARLEFT>`_

.. method:: editor.charLeftExtend()

   Move caret left one character extending selection to new caret position.

   See Scintilla documentation for `SCI_CHARLEFTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARLEFTEXTEND>`_

.. method:: editor.charRight()

   Move caret right one character.

   See Scintilla documentation for `SCI_CHARRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARRIGHT>`_

.. method:: editor.charRightExtend()

   Move caret right one character extending selection to new caret position.

   See Scintilla documentation for `SCI_CHARRIGHTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARRIGHTEXTEND>`_

.. method:: editor.wordLeft()

   Move caret left one word.

   See Scintilla documentation for `SCI_WORDLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDLEFT>`_

.. method:: editor.wordLeftExtend()

   Move caret left one word extending selection to new caret position.

   See Scintilla documentation for `SCI_WORDLEFTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDLEFTEXTEND>`_

.. method:: editor.wordRight()

   Move caret right one word.

   See Scintilla documentation for `SCI_WORDRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDRIGHT>`_

.. method:: editor.wordRightExtend()

   Move caret right one word extending selection to new caret position.

   See Scintilla documentation for `SCI_WORDRIGHTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDRIGHTEXTEND>`_

.. method:: editor.home()

   Move caret to first position on line.

   See Scintilla documentation for `SCI_HOME <https://www.scintilla.org/ScintillaDoc.html#SCI_HOME>`_

.. method:: editor.homeExtend()

   Move caret to first position on line extending selection to new caret position.

   See Scintilla documentation for `SCI_HOMEEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMEEXTEND>`_

.. method:: editor.lineEnd()

   Move caret to last position on line.

   See Scintilla documentation for `SCI_LINEEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEEND>`_

.. method:: editor.lineEndExtend()

   Move caret to last position on line extending selection to new caret position.

   See Scintilla documentation for `SCI_LINEENDEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDEXTEND>`_

.. method:: editor.documentStart()

   Move caret to first position in document.

   See Scintilla documentation for `SCI_DOCUMENTSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_DOCUMENTSTART>`_

.. method:: editor.documentStartExtend()

   Move caret to first position in document extending selection to new caret position.

   See Scintilla documentation for `SCI_DOCUMENTSTARTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_DOCUMENTSTARTEXTEND>`_

.. method:: editor.documentEnd()

   Move caret to last position in document.

   See Scintilla documentation for `SCI_DOCUMENTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_DOCUMENTEND>`_

.. method:: editor.documentEndExtend()

   Move caret to last position in document extending selection to new caret position.

   See Scintilla documentation for `SCI_DOCUMENTENDEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_DOCUMENTENDEXTEND>`_

.. method:: editor.pageUp()

   Move caret one page up.

   See Scintilla documentation for `SCI_PAGEUP <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEUP>`_

.. method:: editor.pageUpExtend()

   Move caret one page up extending selection to new caret position.

   See Scintilla documentation for `SCI_PAGEUPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEUPEXTEND>`_

.. method:: editor.pageDown()

   Move caret one page down.

   See Scintilla documentation for `SCI_PAGEDOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEDOWN>`_

.. method:: editor.pageDownExtend()

   Move caret one page down extending selection to new caret position.

   See Scintilla documentation for `SCI_PAGEDOWNEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEDOWNEXTEND>`_

.. method:: editor.editToggleOvertype()

   Switch from insert to overtype mode or the reverse.

   See Scintilla documentation for `SCI_EDITTOGGLEOVERTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_EDITTOGGLEOVERTYPE>`_

.. method:: editor.cancel()

   Cancel any modes such as call tip or auto-completion list display.

   See Scintilla documentation for `SCI_CANCEL <https://www.scintilla.org/ScintillaDoc.html#SCI_CANCEL>`_

.. method:: editor.deleteBack()

   Delete the selection or if no selection, the character before the caret.

   See Scintilla documentation for `SCI_DELETEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_DELETEBACK>`_

.. method:: editor.tab()

   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.

   See Scintilla documentation for `SCI_TAB <https://www.scintilla.org/ScintillaDoc.html#SCI_TAB>`_

.. method:: editor.lineIndent()

   Indent the current and selected lines.

   See Scintilla documentation for `SCI_LINEINDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEINDENT>`_

.. method:: editor.backTab()

   If selection is empty or all on one line dedent the line if caret is at start, else move caret.
   If more than one line selected, dedent the lines.

   See Scintilla documentation for `SCI_BACKTAB <https://www.scintilla.org/ScintillaDoc.html#SCI_BACKTAB>`_

.. method:: editor.lineDedent()

   Dedent the current and selected lines.

   See Scintilla documentation for `SCI_LINEDEDENT <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDEDENT>`_

.. method:: editor.newLine()

   Insert a new line, may use a CRLF, CR or LF depending on EOL mode.

   See Scintilla documentation for `SCI_NEWLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_NEWLINE>`_

.. method:: editor.formFeed()

   Insert a Form Feed character.

   See Scintilla documentation for `SCI_FORMFEED <https://www.scintilla.org/ScintillaDoc.html#SCI_FORMFEED>`_

.. method:: editor.vCHome()

   Move caret to before first visible character on line.
   If already there move to first character on line.

   See Scintilla documentation for `SCI_VCHOME <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOME>`_

.. method:: editor.vCHomeExtend()

   Like VCHome but extending selection to new caret position.

   See Scintilla documentation for `SCI_VCHOMEEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMEEXTEND>`_

.. method:: editor.zoomIn()

   Magnify the displayed text by increasing the sizes by 1 point.

   See Scintilla documentation for `SCI_ZOOMIN <https://www.scintilla.org/ScintillaDoc.html#SCI_ZOOMIN>`_

.. method:: editor.zoomOut()

   Make the displayed text smaller by decreasing the sizes by 1 point.

   See Scintilla documentation for `SCI_ZOOMOUT <https://www.scintilla.org/ScintillaDoc.html#SCI_ZOOMOUT>`_

.. method:: editor.delWordLeft()

   Delete the word to the left of the caret.

   See Scintilla documentation for `SCI_DELWORDLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_DELWORDLEFT>`_

.. method:: editor.delWordRight()

   Delete the word to the right of the caret.

   See Scintilla documentation for `SCI_DELWORDRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_DELWORDRIGHT>`_

.. method:: editor.delWordRightEnd()

   Delete the word to the right of the caret, but not the trailing non-word characters.

   See Scintilla documentation for `SCI_DELWORDRIGHTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_DELWORDRIGHTEND>`_

.. method:: editor.lineCut()

   Cut the line containing the caret.

   See Scintilla documentation for `SCI_LINECUT <https://www.scintilla.org/ScintillaDoc.html#SCI_LINECUT>`_

.. method:: editor.lineDelete()

   Delete the line containing the caret.

   See Scintilla documentation for `SCI_LINEDELETE <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDELETE>`_

.. method:: editor.lineTranspose()

   Switch the current line with the previous.

   See Scintilla documentation for `SCI_LINETRANSPOSE <https://www.scintilla.org/ScintillaDoc.html#SCI_LINETRANSPOSE>`_

.. method:: editor.lineReverse()

   Reverse order of selected lines.

   See Scintilla documentation for `SCI_LINEREVERSE <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEREVERSE>`_

.. method:: editor.lineDuplicate()

   Duplicate the current line.

   See Scintilla documentation for `SCI_LINEDUPLICATE <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDUPLICATE>`_

.. method:: editor.lowerCase()

   Transform the selection to lower case.

   See Scintilla documentation for `SCI_LOWERCASE <https://www.scintilla.org/ScintillaDoc.html#SCI_LOWERCASE>`_

.. method:: editor.upperCase()

   Transform the selection to upper case.

   See Scintilla documentation for `SCI_UPPERCASE <https://www.scintilla.org/ScintillaDoc.html#SCI_UPPERCASE>`_

.. method:: editor.lineScrollDown()

   Scroll the document down, keeping the caret visible.

   See Scintilla documentation for `SCI_LINESCROLLDOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESCROLLDOWN>`_

.. method:: editor.lineScrollUp()

   Scroll the document up, keeping the caret visible.

   See Scintilla documentation for `SCI_LINESCROLLUP <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESCROLLUP>`_

.. method:: editor.deleteBackNotLine()

   Delete the selection or if no selection, the character before the caret.
   Will not delete the character before at the start of a line.

   See Scintilla documentation for `SCI_DELETEBACKNOTLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_DELETEBACKNOTLINE>`_

.. method:: editor.homeDisplay()

   Move caret to first position on display line.

   See Scintilla documentation for `SCI_HOMEDISPLAY <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMEDISPLAY>`_

.. method:: editor.homeDisplayExtend()

   Move caret to first position on display line extending selection to
   new caret position.

   See Scintilla documentation for `SCI_HOMEDISPLAYEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMEDISPLAYEXTEND>`_

.. method:: editor.lineEndDisplay()

   Move caret to last position on display line.

   See Scintilla documentation for `SCI_LINEENDDISPLAY <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDDISPLAY>`_

.. method:: editor.lineEndDisplayExtend()

   Move caret to last position on display line extending selection to new
   caret position.

   See Scintilla documentation for `SCI_LINEENDDISPLAYEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDDISPLAYEXTEND>`_

.. method:: editor.homeWrap()

   Like Home but when word-wrap is enabled goes first to start of display line
   HomeDisplay, then to start of document line Home.

   See Scintilla documentation for `SCI_HOMEWRAP <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMEWRAP>`_

.. method:: editor.homeWrapExtend()

   Like HomeExtend but when word-wrap is enabled extends first to start of display line
   HomeDisplayExtend, then to start of document line HomeExtend.

   See Scintilla documentation for `SCI_HOMEWRAPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMEWRAPEXTEND>`_

.. method:: editor.lineEndWrap()

   Like LineEnd but when word-wrap is enabled goes first to end of display line
   LineEndDisplay, then to start of document line LineEnd.

   See Scintilla documentation for `SCI_LINEENDWRAP <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDWRAP>`_

.. method:: editor.lineEndWrapExtend()

   Like LineEndExtend but when word-wrap is enabled extends first to end of display line
   LineEndDisplayExtend, then to start of document line LineEndExtend.

   See Scintilla documentation for `SCI_LINEENDWRAPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDWRAPEXTEND>`_

.. method:: editor.vCHomeWrap()

   Like VCHome but when word-wrap is enabled goes first to start of display line
   VCHomeDisplay, then behaves like VCHome.

   See Scintilla documentation for `SCI_VCHOMEWRAP <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMEWRAP>`_

.. method:: editor.vCHomeWrapExtend()

   Like VCHomeExtend but when word-wrap is enabled extends first to start of display line
   VCHomeDisplayExtend, then behaves like VCHomeExtend.

   See Scintilla documentation for `SCI_VCHOMEWRAPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMEWRAPEXTEND>`_

.. method:: editor.lineCopy()

   Copy the line containing the caret.

   See Scintilla documentation for `SCI_LINECOPY <https://www.scintilla.org/ScintillaDoc.html#SCI_LINECOPY>`_

.. method:: editor.moveCaretInsideView()

   Move the caret inside current view if it's not there already.

   See Scintilla documentation for `SCI_MOVECARETINSIDEVIEW <https://www.scintilla.org/ScintillaDoc.html#SCI_MOVECARETINSIDEVIEW>`_

.. method:: editor.lineLength(line) -> int

   How many characters are on a line, including end of line characters?

   See Scintilla documentation for `SCI_LINELENGTH <https://www.scintilla.org/ScintillaDoc.html#SCI_LINELENGTH>`_

.. method:: editor.braceHighlight(posA, posB)

   Highlight the characters at two positions.

   See Scintilla documentation for `SCI_BRACEHIGHLIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEHIGHLIGHT>`_

.. method:: editor.braceHighlightIndicator(useSetting, indicator)

   Use specified indicator to highlight matching braces instead of changing their style.

   See Scintilla documentation for `SCI_BRACEHIGHLIGHTINDICATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEHIGHLIGHTINDICATOR>`_

.. method:: editor.braceBadLight(pos)

   Highlight the character at a position indicating there is no matching brace.

   See Scintilla documentation for `SCI_BRACEBADLIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEBADLIGHT>`_

.. method:: editor.braceBadLightIndicator(useSetting, indicator)

   Use specified indicator to highlight non matching brace instead of changing its style.

   See Scintilla documentation for `SCI_BRACEBADLIGHTINDICATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEBADLIGHTINDICATOR>`_

.. method:: editor.braceMatch(pos, maxReStyle) -> int

   Find the position of a matching brace or INVALID_POSITION if no match.
   The maxReStyle must be 0 for now. It may be defined in a future release.

   See Scintilla documentation for `SCI_BRACEMATCH <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEMATCH>`_

.. method:: editor.braceMatchNext(pos, startPos) -> int

   Similar to BraceMatch, but matching starts at the explicit start position.

   See Scintilla documentation for `SCI_BRACEMATCHNEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_BRACEMATCHNEXT>`_

.. method:: editor.getViewEOL() -> bool

   Are the end of line characters visible?

   See Scintilla documentation for `SCI_GETVIEWEOL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETVIEWEOL>`_

.. method:: editor.setViewEOL(visible)

   Make the end of line characters visible or invisible.

   See Scintilla documentation for `SCI_SETVIEWEOL <https://www.scintilla.org/ScintillaDoc.html#SCI_SETVIEWEOL>`_

.. method:: editor.getDocPointer() -> int

   Retrieve a pointer to the document object.

   See Scintilla documentation for `SCI_GETDOCPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDOCPOINTER>`_

.. method:: editor.setDocPointer(pointer)

   Change the document object used.

   See Scintilla documentation for `SCI_SETDOCPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETDOCPOINTER>`_

.. method:: editor.setModEventMask(eventMask)

   Set which document modification events are sent to the container.

   See Scintilla documentation for `SCI_SETMODEVENTMASK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMODEVENTMASK>`_

.. method:: editor.getEdgeColumn() -> int

   Retrieve the column number which text should be kept within.

   See Scintilla documentation for `SCI_GETEDGECOLUMN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEDGECOLUMN>`_

.. method:: editor.setEdgeColumn(column)

   Set the column number of the edge.
   If text goes past the edge then it is highlighted.

   See Scintilla documentation for `SCI_SETEDGECOLUMN <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEDGECOLUMN>`_

.. method:: editor.getEdgeMode() -> int

   Retrieve the edge highlight mode.

   See Scintilla documentation for `SCI_GETEDGEMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEDGEMODE>`_

.. method:: editor.setEdgeMode(edgeMode)

   The edge may be displayed by a line (EDGE_LINE/EDGE_MULTILINE) or by highlighting text that
   goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE).

   See Scintilla documentation for `SCI_SETEDGEMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEDGEMODE>`_

.. method:: editor.getEdgeColour() -> tuple

   Retrieve the colour used in edge indication.

   See Scintilla documentation for `SCI_GETEDGECOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEDGECOLOUR>`_

.. method:: editor.setEdgeColour(edgeColour)

   Change the colour used in edge indication.

   See Scintilla documentation for `SCI_SETEDGECOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEDGECOLOUR>`_

.. method:: editor.multiEdgeAddLine(column, edgeColour)

   Add a new vertical edge to the view.

   See Scintilla documentation for `SCI_MULTIEDGEADDLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_MULTIEDGEADDLINE>`_

.. method:: editor.multiEdgeClearAll()

   Clear all vertical edges.

   See Scintilla documentation for `SCI_MULTIEDGECLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_MULTIEDGECLEARALL>`_

.. method:: editor.getMultiEdgeColumn(which) -> int

   Get multi edge positions.

   See Scintilla documentation for `SCI_GETMULTIEDGECOLUMN <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMULTIEDGECOLUMN>`_

.. method:: editor.searchAnchor()

   Sets the current caret position to be the search anchor.

   See Scintilla documentation for `SCI_SEARCHANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SEARCHANCHOR>`_

.. method:: editor.searchNext(searchFlags, text) -> int

   Find some text starting at the search anchor.
   Does not ensure the selection is visible.

   See Scintilla documentation for `SCI_SEARCHNEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_SEARCHNEXT>`_

.. method:: editor.searchPrev(searchFlags, text) -> int

   Find some text starting at the search anchor and moving backwards.
   Does not ensure the selection is visible.

   See Scintilla documentation for `SCI_SEARCHPREV <https://www.scintilla.org/ScintillaDoc.html#SCI_SEARCHPREV>`_

.. method:: editor.linesOnScreen() -> int

   Retrieves the number of lines completely visible.

   See Scintilla documentation for `SCI_LINESONSCREEN <https://www.scintilla.org/ScintillaDoc.html#SCI_LINESONSCREEN>`_

.. method:: editor.usePopUp(popUpMode)

   Set whether a pop up menu is displayed automatically when the user presses
   the wrong mouse button on certain areas.

   See Scintilla documentation for `SCI_USEPOPUP <https://www.scintilla.org/ScintillaDoc.html#SCI_USEPOPUP>`_

.. method:: editor.selectionIsRectangle() -> bool

   Is the selection rectangular? The alternative is the more common stream selection.

   See Scintilla documentation for `SCI_SELECTIONISRECTANGLE <https://www.scintilla.org/ScintillaDoc.html#SCI_SELECTIONISRECTANGLE>`_

.. method:: editor.setZoom(zoomInPoints)

   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.

   See Scintilla documentation for `SCI_SETZOOM <https://www.scintilla.org/ScintillaDoc.html#SCI_SETZOOM>`_

.. method:: editor.getZoom() -> int

   Retrieve the zoom level.

   See Scintilla documentation for `SCI_GETZOOM <https://www.scintilla.org/ScintillaDoc.html#SCI_GETZOOM>`_

.. method:: editor.createDocument(bytes, documentOptions) -> int

   Create a new document object.
   Starts with reference count of 1 and not selected into editor.

   See Scintilla documentation for `SCI_CREATEDOCUMENT <https://www.scintilla.org/ScintillaDoc.html#SCI_CREATEDOCUMENT>`_

.. method:: editor.addRefDocument(doc)

   Extend life of document.

   See Scintilla documentation for `SCI_ADDREFDOCUMENT <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDREFDOCUMENT>`_

.. method:: editor.releaseDocument(doc)

   Release a reference to the document, deleting document if it fades to black.

   See Scintilla documentation for `SCI_RELEASEDOCUMENT <https://www.scintilla.org/ScintillaDoc.html#SCI_RELEASEDOCUMENT>`_

.. method:: editor.getDocumentOptions() -> int

   Get which document options are set.

   See Scintilla documentation for `SCI_GETDOCUMENTOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETDOCUMENTOPTIONS>`_

.. method:: editor.getModEventMask() -> int

   Get which document modification events are sent to the container.

   See Scintilla documentation for `SCI_GETMODEVENTMASK <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMODEVENTMASK>`_

.. method:: editor.setCommandEvents(commandEvents)

   Set whether command events are sent to the container.

   See Scintilla documentation for `SCI_SETCOMMANDEVENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCOMMANDEVENTS>`_

.. method:: editor.getCommandEvents() -> bool

   Get whether command events are sent to the container.

   See Scintilla documentation for `SCI_GETCOMMANDEVENTS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCOMMANDEVENTS>`_

.. method:: editor.setFocus(focus)

   Change internal focus flag.

   See Scintilla documentation for `SCI_SETFOCUS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETFOCUS>`_

.. method:: editor.getFocus() -> bool

   Get internal focus flag.

   See Scintilla documentation for `SCI_GETFOCUS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETFOCUS>`_

.. method:: editor.setStatus(status)

   Change error status - 0 = OK.

   See Scintilla documentation for `SCI_SETSTATUS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSTATUS>`_

.. method:: editor.getStatus() -> int

   Get error status.

   See Scintilla documentation for `SCI_GETSTATUS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTATUS>`_

.. method:: editor.setMouseDownCaptures(captures)

   Set whether the mouse is captured when its button is pressed.

   See Scintilla documentation for `SCI_SETMOUSEDOWNCAPTURES <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMOUSEDOWNCAPTURES>`_

.. method:: editor.getMouseDownCaptures() -> bool

   Get whether mouse gets captured.

   See Scintilla documentation for `SCI_GETMOUSEDOWNCAPTURES <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMOUSEDOWNCAPTURES>`_

.. method:: editor.setMouseWheelCaptures(captures)

   Set whether the mouse wheel can be active outside the window.

   See Scintilla documentation for `SCI_SETMOUSEWHEELCAPTURES <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMOUSEWHEELCAPTURES>`_

.. method:: editor.getMouseWheelCaptures() -> bool

   Get whether mouse wheel can be active outside the window.

   See Scintilla documentation for `SCI_GETMOUSEWHEELCAPTURES <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMOUSEWHEELCAPTURES>`_

.. method:: editor.setCursor(cursorType)

   Sets the cursor to one of the SC_CURSOR* values.

   See Scintilla documentation for `SCI_SETCURSOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCURSOR>`_

.. method:: editor.getCursor() -> int

   Get cursor type.

   See Scintilla documentation for `SCI_GETCURSOR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCURSOR>`_

.. method:: editor.setControlCharSymbol(symbol)

   Change the way control characters are displayed:
   If symbol is < 32, keep the drawn way, else, use the given character.

   See Scintilla documentation for `SCI_SETCONTROLCHARSYMBOL <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCONTROLCHARSYMBOL>`_

.. method:: editor.getControlCharSymbol() -> int

   Get the way control characters are displayed.

   See Scintilla documentation for `SCI_GETCONTROLCHARSYMBOL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCONTROLCHARSYMBOL>`_

.. method:: editor.wordPartLeft()

   Move to the previous change in capitalisation.

   See Scintilla documentation for `SCI_WORDPARTLEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDPARTLEFT>`_

.. method:: editor.wordPartLeftExtend()

   Move to the previous change in capitalisation extending selection
   to new caret position.

   See Scintilla documentation for `SCI_WORDPARTLEFTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDPARTLEFTEXTEND>`_

.. method:: editor.wordPartRight()

   Move to the change next in capitalisation.

   See Scintilla documentation for `SCI_WORDPARTRIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDPARTRIGHT>`_

.. method:: editor.wordPartRightExtend()

   Move to the next change in capitalisation extending selection
   to new caret position.

   See Scintilla documentation for `SCI_WORDPARTRIGHTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDPARTRIGHTEXTEND>`_

.. method:: editor.setVisiblePolicy(visiblePolicy, visibleSlop)

   Set the way the display area is determined when a particular line
   is to be moved to by Find, FindNext, GotoLine, etc.

   See Scintilla documentation for `SCI_SETVISIBLEPOLICY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETVISIBLEPOLICY>`_

.. method:: editor.delLineLeft()

   Delete back from the current position to the start of the line.

   See Scintilla documentation for `SCI_DELLINELEFT <https://www.scintilla.org/ScintillaDoc.html#SCI_DELLINELEFT>`_

.. method:: editor.delLineRight()

   Delete forwards from the current position to the end of the line.

   See Scintilla documentation for `SCI_DELLINERIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_DELLINERIGHT>`_

.. method:: editor.setXOffset(xOffset)

   Set the xOffset (ie, horizontal scroll position).

   See Scintilla documentation for `SCI_SETXOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_SETXOFFSET>`_

.. method:: editor.getXOffset() -> int

   Get the xOffset (ie, horizontal scroll position).

   See Scintilla documentation for `SCI_GETXOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_GETXOFFSET>`_

.. method:: editor.chooseCaretX()

   Set the last x chosen value to be the caret x position.

   See Scintilla documentation for `SCI_CHOOSECARETX <https://www.scintilla.org/ScintillaDoc.html#SCI_CHOOSECARETX>`_

.. method:: editor.grabFocus()

   Set the focus to this Scintilla widget.

   See Scintilla documentation for `SCI_GRABFOCUS <https://www.scintilla.org/ScintillaDoc.html#SCI_GRABFOCUS>`_

.. method:: editor.setXCaretPolicy(caretPolicy, caretSlop)

   Set the way the caret is kept visible when going sideways.
   The exclusion zone is given in pixels.

   See Scintilla documentation for `SCI_SETXCARETPOLICY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETXCARETPOLICY>`_

.. method:: editor.setYCaretPolicy(caretPolicy, caretSlop)

   Set the way the line the caret is on is kept visible.
   The exclusion zone is given in lines.

   See Scintilla documentation for `SCI_SETYCARETPOLICY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETYCARETPOLICY>`_

.. method:: editor.setPrintWrapMode(wrapMode)

   Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE).

   See Scintilla documentation for `SCI_SETPRINTWRAPMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPRINTWRAPMODE>`_

.. method:: editor.getPrintWrapMode() -> int

   Is printing line wrapped?

   See Scintilla documentation for `SCI_GETPRINTWRAPMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPRINTWRAPMODE>`_

.. method:: editor.setHotspotActiveFore(useSetting, fore)

   Set a fore colour for active hotspots.

   See Scintilla documentation for `SCI_SETHOTSPOTACTIVEFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHOTSPOTACTIVEFORE>`_

.. method:: editor.getHotspotActiveFore() -> tuple

   Get the fore colour for active hotspots.

   See Scintilla documentation for `SCI_GETHOTSPOTACTIVEFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHOTSPOTACTIVEFORE>`_

.. method:: editor.setHotspotActiveBack(useSetting, back)

   Set a back colour for active hotspots.

   See Scintilla documentation for `SCI_SETHOTSPOTACTIVEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHOTSPOTACTIVEBACK>`_

.. method:: editor.getHotspotActiveBack() -> tuple

   Get the back colour for active hotspots.

   See Scintilla documentation for `SCI_GETHOTSPOTACTIVEBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHOTSPOTACTIVEBACK>`_

.. method:: editor.setHotspotActiveUnderline(underline)

   Enable / Disable underlining active hotspots.

   See Scintilla documentation for `SCI_SETHOTSPOTACTIVEUNDERLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHOTSPOTACTIVEUNDERLINE>`_

.. method:: editor.getHotspotActiveUnderline() -> bool

   Get whether underlining for active hotspots.

   See Scintilla documentation for `SCI_GETHOTSPOTACTIVEUNDERLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHOTSPOTACTIVEUNDERLINE>`_

.. method:: editor.setHotspotSingleLine(singleLine)

   Limit hotspots to single line so hotspots on two lines don't merge.

   See Scintilla documentation for `SCI_SETHOTSPOTSINGLELINE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETHOTSPOTSINGLELINE>`_

.. method:: editor.getHotspotSingleLine() -> bool

   Get the HotspotSingleLine property

   See Scintilla documentation for `SCI_GETHOTSPOTSINGLELINE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETHOTSPOTSINGLELINE>`_

.. method:: editor.paraDown()

   Move caret down one paragraph (delimited by empty lines).

   See Scintilla documentation for `SCI_PARADOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_PARADOWN>`_

.. method:: editor.paraDownExtend()

   Extend selection down one paragraph (delimited by empty lines).

   See Scintilla documentation for `SCI_PARADOWNEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PARADOWNEXTEND>`_

.. method:: editor.paraUp()

   Move caret up one paragraph (delimited by empty lines).

   See Scintilla documentation for `SCI_PARAUP <https://www.scintilla.org/ScintillaDoc.html#SCI_PARAUP>`_

.. method:: editor.paraUpExtend()

   Extend selection up one paragraph (delimited by empty lines).

   See Scintilla documentation for `SCI_PARAUPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PARAUPEXTEND>`_

.. method:: editor.positionBefore(pos) -> int

   Given a valid document position, return the previous position taking code
   page into account. Returns 0 if passed 0.

   See Scintilla documentation for `SCI_POSITIONBEFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONBEFORE>`_

.. method:: editor.positionAfter(pos) -> int

   Given a valid document position, return the next position taking code
   page into account. Maximum value returned is the last position in the document.

   See Scintilla documentation for `SCI_POSITIONAFTER <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONAFTER>`_

.. method:: editor.positionRelative(pos, relative) -> int

   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.

   See Scintilla documentation for `SCI_POSITIONRELATIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONRELATIVE>`_

.. method:: editor.positionRelativeCodeUnits(pos, relative) -> int

   Given a valid document position, return a position that differs in a number
   of UTF-16 code units. Returned value is always between 0 and last position in document.
   The result may point half way (2 bytes) inside a non-BMP character.

   See Scintilla documentation for `SCI_POSITIONRELATIVECODEUNITS <https://www.scintilla.org/ScintillaDoc.html#SCI_POSITIONRELATIVECODEUNITS>`_

.. method:: editor.copyRange(start, end)

   Copy a range of text to the clipboard. Positions are clipped into the document.

   See Scintilla documentation for `SCI_COPYRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_COPYRANGE>`_

.. method:: editor.copyText(text) -> int

   Copy argument text to the clipboard.

   See Scintilla documentation for `SCI_COPYTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_COPYTEXT>`_

.. method:: editor.setSelectionMode(selectionMode)

   Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or
   by lines (SC_SEL_LINES).

   See Scintilla documentation for `SCI_SETSELECTIONMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONMODE>`_

.. method:: editor.changeSelectionMode(selectionMode)

   Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or
   by lines (SC_SEL_LINES) without changing MoveExtendsSelection.

   See Scintilla documentation for `SCI_CHANGESELECTIONMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_CHANGESELECTIONMODE>`_

.. method:: editor.getSelectionMode() -> int

   Get the mode of the current selection.

   See Scintilla documentation for `SCI_GETSELECTIONMODE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONMODE>`_

.. method:: editor.setMoveExtendsSelection(moveExtendsSelection)

   Set whether or not regular caret moves will extend or reduce the selection.

   See Scintilla documentation for `SCI_SETMOVEEXTENDSSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMOVEEXTENDSSELECTION>`_

.. method:: editor.getMoveExtendsSelection() -> bool

   Get whether or not regular caret moves will extend or reduce the selection.

   See Scintilla documentation for `SCI_GETMOVEEXTENDSSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMOVEEXTENDSSELECTION>`_

.. method:: editor.getLineSelStartPosition(line) -> int

   Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).

   See Scintilla documentation for `SCI_GETLINESELSTARTPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINESELSTARTPOSITION>`_

.. method:: editor.getLineSelEndPosition(line) -> int

   Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).

   See Scintilla documentation for `SCI_GETLINESELENDPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINESELENDPOSITION>`_

.. method:: editor.lineDownRectExtend()

   Move caret down one line, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_LINEDOWNRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEDOWNRECTEXTEND>`_

.. method:: editor.lineUpRectExtend()

   Move caret up one line, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_LINEUPRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEUPRECTEXTEND>`_

.. method:: editor.charLeftRectExtend()

   Move caret left one character, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_CHARLEFTRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARLEFTRECTEXTEND>`_

.. method:: editor.charRightRectExtend()

   Move caret right one character, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_CHARRIGHTRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARRIGHTRECTEXTEND>`_

.. method:: editor.homeRectExtend()

   Move caret to first position on line, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_HOMERECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_HOMERECTEXTEND>`_

.. method:: editor.vCHomeRectExtend()

   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.

   See Scintilla documentation for `SCI_VCHOMERECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMERECTEXTEND>`_

.. method:: editor.lineEndRectExtend()

   Move caret to last position on line, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_LINEENDRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEENDRECTEXTEND>`_

.. method:: editor.pageUpRectExtend()

   Move caret one page up, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_PAGEUPRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEUPRECTEXTEND>`_

.. method:: editor.pageDownRectExtend()

   Move caret one page down, extending rectangular selection to new caret position.

   See Scintilla documentation for `SCI_PAGEDOWNRECTEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_PAGEDOWNRECTEXTEND>`_

.. method:: editor.stutteredPageUp()

   Move caret to top of page, or one page up if already at top of page.

   See Scintilla documentation for `SCI_STUTTEREDPAGEUP <https://www.scintilla.org/ScintillaDoc.html#SCI_STUTTEREDPAGEUP>`_

.. method:: editor.stutteredPageUpExtend()

   Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.

   See Scintilla documentation for `SCI_STUTTEREDPAGEUPEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_STUTTEREDPAGEUPEXTEND>`_

.. method:: editor.stutteredPageDown()

   Move caret to bottom of page, or one page down if already at bottom of page.

   See Scintilla documentation for `SCI_STUTTEREDPAGEDOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_STUTTEREDPAGEDOWN>`_

.. method:: editor.stutteredPageDownExtend()

   Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.

   See Scintilla documentation for `SCI_STUTTEREDPAGEDOWNEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_STUTTEREDPAGEDOWNEXTEND>`_

.. method:: editor.wordLeftEnd()

   Move caret left one word, position cursor at end of word.

   See Scintilla documentation for `SCI_WORDLEFTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDLEFTEND>`_

.. method:: editor.wordLeftEndExtend()

   Move caret left one word, position cursor at end of word, extending selection to new caret position.

   See Scintilla documentation for `SCI_WORDLEFTENDEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDLEFTENDEXTEND>`_

.. method:: editor.wordRightEnd()

   Move caret right one word, position cursor at end of word.

   See Scintilla documentation for `SCI_WORDRIGHTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDRIGHTEND>`_

.. method:: editor.wordRightEndExtend()

   Move caret right one word, position cursor at end of word, extending selection to new caret position.

   See Scintilla documentation for `SCI_WORDRIGHTENDEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_WORDRIGHTENDEXTEND>`_

.. method:: editor.setWhitespaceChars(characters)

   Set the set of characters making up whitespace for when moving or selecting by word.
   Should be called after SetWordChars.

   See Scintilla documentation for `SCI_SETWHITESPACECHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETWHITESPACECHARS>`_

.. method:: editor.getWhitespaceChars() -> str

   Get the set of characters making up whitespace for when moving or selecting by word.

   See Scintilla documentation for `SCI_GETWHITESPACECHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETWHITESPACECHARS>`_

.. method:: editor.setPunctuationChars(characters)

   Set the set of characters making up punctuation characters
   Should be called after SetWordChars.

   See Scintilla documentation for `SCI_SETPUNCTUATIONCHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPUNCTUATIONCHARS>`_

.. method:: editor.getPunctuationChars() -> str

   Get the set of characters making up punctuation characters

   See Scintilla documentation for `SCI_GETPUNCTUATIONCHARS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPUNCTUATIONCHARS>`_

.. method:: editor.setCharsDefault()

   Reset the set of characters for whitespace and word characters to the defaults.

   See Scintilla documentation for `SCI_SETCHARSDEFAULT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCHARSDEFAULT>`_

.. method:: editor.autoCGetCurrent() -> int

   Get currently selected item position in the auto-completion list

   See Scintilla documentation for `SCI_AUTOCGETCURRENT <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETCURRENT>`_

.. method:: editor.autoCGetCurrentText() -> str

   Get currently selected item text in the auto-completion list
   Returns the length of the item text
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_AUTOCGETCURRENTTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETCURRENTTEXT>`_

.. method:: editor.autoCSetCaseInsensitiveBehaviour(behaviour)

   Set auto-completion case insensitive behaviour to either prefer case-sensitive matches or have no preference.

   See Scintilla documentation for `SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR>`_

.. method:: editor.autoCGetCaseInsensitiveBehaviour() -> int

   Get auto-completion case insensitive behaviour.

   See Scintilla documentation for `SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR>`_

.. method:: editor.autoCSetMulti(multi)

   Change the effect of autocompleting when there are multiple selections.

   See Scintilla documentation for `SCI_AUTOCSETMULTI <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETMULTI>`_

.. method:: editor.autoCGetMulti() -> int

   Retrieve the effect of autocompleting when there are multiple selections.

   See Scintilla documentation for `SCI_AUTOCGETMULTI <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETMULTI>`_

.. method:: editor.autoCSetOrder(order)

   Set the way autocompletion lists are ordered.

   See Scintilla documentation for `SCI_AUTOCSETORDER <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCSETORDER>`_

.. method:: editor.autoCGetOrder() -> int

   Get the way autocompletion lists are ordered.

   See Scintilla documentation for `SCI_AUTOCGETORDER <https://www.scintilla.org/ScintillaDoc.html#SCI_AUTOCGETORDER>`_

.. method:: editor.allocate(bytes)

   Enlarge the document to a particular size of text bytes.

   See Scintilla documentation for `SCI_ALLOCATE <https://www.scintilla.org/ScintillaDoc.html#SCI_ALLOCATE>`_

.. method:: editor.targetAsUTF8() -> str

   Returns the target converted to UTF8.
   Return the length in bytes.

   See Scintilla documentation for `SCI_TARGETASUTF8 <https://www.scintilla.org/ScintillaDoc.html#SCI_TARGETASUTF8>`_

.. method:: editor.setLengthForEncode(bytes)

   Set the length of the utf8 argument for calling EncodedFromUTF8.
   Set to -1 and the string will be measured to the first nul.

   See Scintilla documentation for `SCI_SETLENGTHFORENCODE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLENGTHFORENCODE>`_

.. method:: editor.encodedFromUTF8(utf8) -> str

   Translates a UTF8 string into the document encoding.
   Return the length of the result in bytes.
   On error return 0.

   See Scintilla documentation for `SCI_ENCODEDFROMUTF8 <https://www.scintilla.org/ScintillaDoc.html#SCI_ENCODEDFROMUTF8>`_

.. method:: editor.findColumn(line, column) -> int

   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.

   See Scintilla documentation for `SCI_FINDCOLUMN <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDCOLUMN>`_

.. method:: editor.getCaretSticky() -> int

   Can the caret preferred x position only be changed by explicit movement commands?

   See Scintilla documentation for `SCI_GETCARETSTICKY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETSTICKY>`_

.. method:: editor.setCaretSticky(useCaretStickyBehaviour)

   Stop the caret preferred x position changing when the user types.

   See Scintilla documentation for `SCI_SETCARETSTICKY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETSTICKY>`_

.. method:: editor.toggleCaretSticky()

   Switch between sticky and non-sticky: meant to be bound to a key.

   See Scintilla documentation for `SCI_TOGGLECARETSTICKY <https://www.scintilla.org/ScintillaDoc.html#SCI_TOGGLECARETSTICKY>`_

.. method:: editor.setPasteConvertEndings(convert)

   Enable/Disable convert-on-paste for line endings

   See Scintilla documentation for `SCI_SETPASTECONVERTENDINGS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPASTECONVERTENDINGS>`_

.. method:: editor.getPasteConvertEndings() -> bool

   Get convert-on-paste setting

   See Scintilla documentation for `SCI_GETPASTECONVERTENDINGS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPASTECONVERTENDINGS>`_

.. method:: editor.replaceRectangular(text) -> int

   Replace the selection with text like a rectangular paste.

   See Scintilla documentation for `SCI_REPLACERECTANGULAR <https://www.scintilla.org/ScintillaDoc.html#SCI_REPLACERECTANGULAR>`_

.. method:: editor.selectionDuplicate()

   Duplicate the selection. If selection empty duplicate the line containing the caret.

   See Scintilla documentation for `SCI_SELECTIONDUPLICATE <https://www.scintilla.org/ScintillaDoc.html#SCI_SELECTIONDUPLICATE>`_

.. method:: editor.setCaretLineBackAlpha(alpha)

   Set background alpha of the caret line.

   See Scintilla documentation for `SCI_SETCARETLINEBACKALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEBACKALPHA>`_

.. method:: editor.getCaretLineBackAlpha() -> int

   Get the background alpha of the caret line.

   See Scintilla documentation for `SCI_GETCARETLINEBACKALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEBACKALPHA>`_

.. method:: editor.setCaretStyle(caretStyle)

   Set the style of the caret to be drawn.

   See Scintilla documentation for `SCI_SETCARETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETSTYLE>`_

.. method:: editor.getCaretStyle() -> int

   Returns the current style of the caret.

   See Scintilla documentation for `SCI_GETCARETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETSTYLE>`_

.. method:: editor.setIndicatorCurrent(indicator)

   Set the indicator used for IndicatorFillRange and IndicatorClearRange

   See Scintilla documentation for `SCI_SETINDICATORCURRENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETINDICATORCURRENT>`_

.. method:: editor.getIndicatorCurrent() -> int

   Get the current indicator

   See Scintilla documentation for `SCI_GETINDICATORCURRENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETINDICATORCURRENT>`_

.. method:: editor.setIndicatorValue(value)

   Set the value used for IndicatorFillRange

   See Scintilla documentation for `SCI_SETINDICATORVALUE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETINDICATORVALUE>`_

.. method:: editor.getIndicatorValue() -> int

   Get the current indicator value

   See Scintilla documentation for `SCI_GETINDICATORVALUE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETINDICATORVALUE>`_

.. method:: editor.indicatorFillRange(start, lengthFill)

   Turn a indicator on over a range.

   See Scintilla documentation for `SCI_INDICATORFILLRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORFILLRANGE>`_

.. method:: editor.indicatorClearRange(start, lengthClear)

   Turn a indicator off over a range.

   See Scintilla documentation for `SCI_INDICATORCLEARRANGE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORCLEARRANGE>`_

.. method:: editor.indicatorAllOnFor(pos) -> int

   Are any indicators present at pos?

   See Scintilla documentation for `SCI_INDICATORALLONFOR <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORALLONFOR>`_

.. method:: editor.indicatorValueAt(indicator, pos) -> int

   What value does a particular indicator have at a position?

   See Scintilla documentation for `SCI_INDICATORVALUEAT <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORVALUEAT>`_

.. method:: editor.indicatorStart(indicator, pos) -> int

   Where does a particular indicator start?

   See Scintilla documentation for `SCI_INDICATORSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATORSTART>`_

.. method:: editor.indicatorEnd(indicator, pos) -> int

   Where does a particular indicator end?

   See Scintilla documentation for `SCI_INDICATOREND <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICATOREND>`_

.. method:: editor.setPositionCache(size)

   Set number of entries in position cache

   See Scintilla documentation for `SCI_SETPOSITIONCACHE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPOSITIONCACHE>`_

.. method:: editor.getPositionCache() -> int

   How many entries are allocated to the position cache?

   See Scintilla documentation for `SCI_GETPOSITIONCACHE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPOSITIONCACHE>`_

.. method:: editor.setLayoutThreads(threads)

   Set maximum number of threads used for layout

   See Scintilla documentation for `SCI_SETLAYOUTTHREADS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLAYOUTTHREADS>`_

.. method:: editor.getLayoutThreads() -> int

   Get maximum number of threads used for layout

   See Scintilla documentation for `SCI_GETLAYOUTTHREADS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLAYOUTTHREADS>`_

.. method:: editor.copyAllowLine()

   Copy the selection, if selection empty copy the line with the caret

   See Scintilla documentation for `SCI_COPYALLOWLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_COPYALLOWLINE>`_

.. method:: editor.cutAllowLine()

   Cut the selection, if selection empty cut the line with the caret

   See Scintilla documentation for `SCI_CUTALLOWLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_CUTALLOWLINE>`_

.. method:: editor.setCopySeparator(separator)

   Set the string to separate parts when copying a multiple selection.

   See Scintilla documentation for `SCI_SETCOPYSEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCOPYSEPARATOR>`_

.. method:: editor.getCopySeparator() -> str

   Get the string to separate parts when copying a multiple selection.

   See Scintilla documentation for `SCI_GETCOPYSEPARATOR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCOPYSEPARATOR>`_

.. method:: editor.getCharacterPointer() -> str

   Compact the document buffer and return a read-only pointer to the
   characters in the document.

   See Scintilla documentation for `SCI_GETCHARACTERPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCHARACTERPOINTER>`_

.. method:: editor.getRangePointer(position, rangeLength) -> str

   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 lengthRange bytes.

   See Scintilla documentation for `SCI_GETRANGEPOINTER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRANGEPOINTER>`_

.. method:: editor.getGapPosition() -> int

   Return a position which, to avoid performance costs, should not be within
   the range of a call to GetRangePointer.

   See Scintilla documentation for `SCI_GETGAPPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETGAPPOSITION>`_

.. method:: editor.indicSetAlpha(indicator, alpha)

   Set the alpha fill colour of the given indicator.

   See Scintilla documentation for `SCI_INDICSETALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETALPHA>`_

.. method:: editor.indicGetAlpha(indicator) -> int

   Get the alpha fill colour of the given indicator.

   See Scintilla documentation for `SCI_INDICGETALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETALPHA>`_

.. method:: editor.indicSetOutlineAlpha(indicator, alpha)

   Set the alpha outline colour of the given indicator.

   See Scintilla documentation for `SCI_INDICSETOUTLINEALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICSETOUTLINEALPHA>`_

.. method:: editor.indicGetOutlineAlpha(indicator) -> int

   Get the alpha outline colour of the given indicator.

   See Scintilla documentation for `SCI_INDICGETOUTLINEALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_INDICGETOUTLINEALPHA>`_

.. method:: editor.setExtraAscent(extraAscent)

   Set extra ascent for each line

   See Scintilla documentation for `SCI_SETEXTRAASCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEXTRAASCENT>`_

.. method:: editor.getExtraAscent() -> int

   Get extra ascent for each line

   See Scintilla documentation for `SCI_GETEXTRAASCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEXTRAASCENT>`_

.. method:: editor.setExtraDescent(extraDescent)

   Set extra descent for each line

   See Scintilla documentation for `SCI_SETEXTRADESCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_SETEXTRADESCENT>`_

.. method:: editor.getExtraDescent() -> int

   Get extra descent for each line

   See Scintilla documentation for `SCI_GETEXTRADESCENT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETEXTRADESCENT>`_

.. method:: editor.markerSymbolDefined(markerNumber) -> int

   Which symbol was defined for markerNumber with MarkerDefine

   See Scintilla documentation for `SCI_MARKERSYMBOLDEFINED <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERSYMBOLDEFINED>`_

.. method:: editor.marginSetText(line, text)

   Set the text in the text margin for a line

   See Scintilla documentation for `SCI_MARGINSETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINSETTEXT>`_

.. method:: editor.marginGetText(line) -> str

   Get the text in the text margin for a line

   See Scintilla documentation for `SCI_MARGINGETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINGETTEXT>`_

.. method:: editor.marginSetStyle(line, style)

   Set the style number for the text margin for a line

   See Scintilla documentation for `SCI_MARGINSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINSETSTYLE>`_

.. method:: editor.marginGetStyle(line) -> int

   Get the style number for the text margin for a line

   See Scintilla documentation for `SCI_MARGINGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINGETSTYLE>`_

.. method:: editor.marginSetStyles(line, styles)

   Set the style in the text margin for a line

   See Scintilla documentation for `SCI_MARGINSETSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINSETSTYLES>`_

.. method:: editor.marginGetStyles(line) -> str

   Get the styles in the text margin for a line

   See Scintilla documentation for `SCI_MARGINGETSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINGETSTYLES>`_

.. method:: editor.marginTextClearAll()

   Clear the margin text on all lines

   See Scintilla documentation for `SCI_MARGINTEXTCLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINTEXTCLEARALL>`_

.. method:: editor.marginSetStyleOffset(style)

   Get the start of the range of style numbers used for margin text

   See Scintilla documentation for `SCI_MARGINSETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINSETSTYLEOFFSET>`_

.. method:: editor.marginGetStyleOffset() -> int

   Get the start of the range of style numbers used for margin text

   See Scintilla documentation for `SCI_MARGINGETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_MARGINGETSTYLEOFFSET>`_

.. method:: editor.setMarginOptions(marginOptions)

   Set the margin options.

   See Scintilla documentation for `SCI_SETMARGINOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMARGINOPTIONS>`_

.. method:: editor.getMarginOptions() -> int

   Get the margin options.

   See Scintilla documentation for `SCI_GETMARGINOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMARGINOPTIONS>`_

.. method:: editor.annotationSetText(line, text)

   Set the annotation text for a line

   See Scintilla documentation for `SCI_ANNOTATIONSETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONSETTEXT>`_

.. method:: editor.annotationGetText(line) -> str

   Get the annotation text for a line

   See Scintilla documentation for `SCI_ANNOTATIONGETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETTEXT>`_

.. method:: editor.annotationSetStyle(line, style)

   Set the style number for the annotations for a line

   See Scintilla documentation for `SCI_ANNOTATIONSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONSETSTYLE>`_

.. method:: editor.annotationGetStyle(line) -> int

   Get the style number for the annotations for a line

   See Scintilla documentation for `SCI_ANNOTATIONGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETSTYLE>`_

.. method:: editor.annotationSetStyles(line, styles)

   Set the annotation styles for a line

   See Scintilla documentation for `SCI_ANNOTATIONSETSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONSETSTYLES>`_

.. method:: editor.annotationGetStyles(line) -> str

   Get the annotation styles for a line

   See Scintilla documentation for `SCI_ANNOTATIONGETSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETSTYLES>`_

.. method:: editor.annotationGetLines(line) -> int

   Get the number of annotation lines for a line

   See Scintilla documentation for `SCI_ANNOTATIONGETLINES <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETLINES>`_

.. method:: editor.annotationClearAll()

   Clear the annotations from all lines

   See Scintilla documentation for `SCI_ANNOTATIONCLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONCLEARALL>`_

.. method:: editor.annotationSetVisible(visible)

   Set the visibility for the annotations for a view

   See Scintilla documentation for `SCI_ANNOTATIONSETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONSETVISIBLE>`_

.. method:: editor.annotationGetVisible() -> int

   Get the visibility for the annotations for a view

   See Scintilla documentation for `SCI_ANNOTATIONGETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETVISIBLE>`_

.. method:: editor.annotationSetStyleOffset(style)

   Get the start of the range of style numbers used for annotations

   See Scintilla documentation for `SCI_ANNOTATIONSETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONSETSTYLEOFFSET>`_

.. method:: editor.annotationGetStyleOffset() -> int

   Get the start of the range of style numbers used for annotations

   See Scintilla documentation for `SCI_ANNOTATIONGETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_ANNOTATIONGETSTYLEOFFSET>`_

.. method:: editor.releaseAllExtendedStyles()

   Release all extended (>255) style numbers

   See Scintilla documentation for `SCI_RELEASEALLEXTENDEDSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_RELEASEALLEXTENDEDSTYLES>`_

.. method:: editor.allocateExtendedStyles(numberStyles) -> int

   Allocate some extended (>255) style numbers and return the start of the range

   See Scintilla documentation for `SCI_ALLOCATEEXTENDEDSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_ALLOCATEEXTENDEDSTYLES>`_

.. method:: editor.addUndoAction(token, flags)

   Add a container action to the undo stack

   See Scintilla documentation for `SCI_ADDUNDOACTION <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDUNDOACTION>`_

.. method:: editor.charPositionFromPoint(x, y) -> int

   Find the position of a character from a point within the window.

   See Scintilla documentation for `SCI_CHARPOSITIONFROMPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARPOSITIONFROMPOINT>`_

.. method:: editor.charPositionFromPointClose(x, y) -> int

   Find the position of a character from a point within the window.
   Return INVALID_POSITION if not close to text.

   See Scintilla documentation for `SCI_CHARPOSITIONFROMPOINTCLOSE <https://www.scintilla.org/ScintillaDoc.html#SCI_CHARPOSITIONFROMPOINTCLOSE>`_

.. method:: editor.setMouseSelectionRectangularSwitch(mouseSelectionRectangularSwitch)

   Set whether switching to rectangular mode while selecting with the mouse is allowed.

   See Scintilla documentation for `SCI_SETMOUSESELECTIONRECTANGULARSWITCH <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMOUSESELECTIONRECTANGULARSWITCH>`_

.. method:: editor.getMouseSelectionRectangularSwitch() -> bool

   Whether switching to rectangular mode while selecting with the mouse is allowed.

   See Scintilla documentation for `SCI_GETMOUSESELECTIONRECTANGULARSWITCH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMOUSESELECTIONRECTANGULARSWITCH>`_

.. method:: editor.setMultipleSelection(multipleSelection)

   Set whether multiple selections can be made

   See Scintilla documentation for `SCI_SETMULTIPLESELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMULTIPLESELECTION>`_

.. method:: editor.getMultipleSelection() -> bool

   Whether multiple selections can be made

   See Scintilla documentation for `SCI_GETMULTIPLESELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMULTIPLESELECTION>`_

.. method:: editor.setAdditionalSelectionTyping(additionalSelectionTyping)

   Set whether typing can be performed into multiple selections

   See Scintilla documentation for `SCI_SETADDITIONALSELECTIONTYPING <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALSELECTIONTYPING>`_

.. method:: editor.getAdditionalSelectionTyping() -> bool

   Whether typing can be performed into multiple selections

   See Scintilla documentation for `SCI_GETADDITIONALSELECTIONTYPING <https://www.scintilla.org/ScintillaDoc.html#SCI_GETADDITIONALSELECTIONTYPING>`_

.. method:: editor.setAdditionalCaretsBlink(additionalCaretsBlink)

   Set whether additional carets will blink

   See Scintilla documentation for `SCI_SETADDITIONALCARETSBLINK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALCARETSBLINK>`_

.. method:: editor.getAdditionalCaretsBlink() -> bool

   Whether additional carets will blink

   See Scintilla documentation for `SCI_GETADDITIONALCARETSBLINK <https://www.scintilla.org/ScintillaDoc.html#SCI_GETADDITIONALCARETSBLINK>`_

.. method:: editor.setAdditionalCaretsVisible(additionalCaretsVisible)

   Set whether additional carets are visible

   See Scintilla documentation for `SCI_SETADDITIONALCARETSVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALCARETSVISIBLE>`_

.. method:: editor.getAdditionalCaretsVisible() -> bool

   Whether additional carets are visible

   See Scintilla documentation for `SCI_GETADDITIONALCARETSVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETADDITIONALCARETSVISIBLE>`_

.. method:: editor.getSelections() -> int

   How many selections are there?

   See Scintilla documentation for `SCI_GETSELECTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONS>`_

.. method:: editor.getSelectionEmpty() -> bool

   Is every selected range empty?

   See Scintilla documentation for `SCI_GETSELECTIONEMPTY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONEMPTY>`_

.. method:: editor.clearSelections()

   Clear selections to a single empty stream selection

   See Scintilla documentation for `SCI_CLEARSELECTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARSELECTIONS>`_

.. method:: editor.setSelection(caret, anchor)

   Set a simple selection

   See Scintilla documentation for `SCI_SETSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTION>`_

.. method:: editor.addSelection(caret, anchor)

   Add a selection

   See Scintilla documentation for `SCI_ADDSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_ADDSELECTION>`_

.. method:: editor.selectionFromPoint(x, y) -> int

   Find the selection index for a point. -1 when not at a selection.

   See Scintilla documentation for `SCI_SELECTIONFROMPOINT <https://www.scintilla.org/ScintillaDoc.html#SCI_SELECTIONFROMPOINT>`_

.. method:: editor.dropSelectionN(selection)

   Drop one selection

   See Scintilla documentation for `SCI_DROPSELECTIONN <https://www.scintilla.org/ScintillaDoc.html#SCI_DROPSELECTIONN>`_

.. method:: editor.setMainSelection(selection)

   Set the main selection

   See Scintilla documentation for `SCI_SETMAINSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETMAINSELECTION>`_

.. method:: editor.getMainSelection() -> int

   Which selection is the main selection

   See Scintilla documentation for `SCI_GETMAINSELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETMAINSELECTION>`_

.. method:: editor.setSelectionNCaret(selection, caret)

   Set the caret position of the nth selection.

   See Scintilla documentation for `SCI_SETSELECTIONNCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNCARET>`_

.. method:: editor.getSelectionNCaret(selection) -> int

   Return the caret position of the nth selection.

   See Scintilla documentation for `SCI_GETSELECTIONNCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNCARET>`_

.. method:: editor.setSelectionNAnchor(selection, anchor)

   Set the anchor position of the nth selection.

   See Scintilla documentation for `SCI_SETSELECTIONNANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNANCHOR>`_

.. method:: editor.getSelectionNAnchor(selection) -> int

   Return the anchor position of the nth selection.

   See Scintilla documentation for `SCI_GETSELECTIONNANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNANCHOR>`_

.. method:: editor.setSelectionNCaretVirtualSpace(selection, space)

   Set the virtual space of the caret of the nth selection.

   See Scintilla documentation for `SCI_SETSELECTIONNCARETVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNCARETVIRTUALSPACE>`_

.. method:: editor.getSelectionNCaretVirtualSpace(selection) -> int

   Return the virtual space of the caret of the nth selection.

   See Scintilla documentation for `SCI_GETSELECTIONNCARETVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNCARETVIRTUALSPACE>`_

.. method:: editor.setSelectionNAnchorVirtualSpace(selection, space)

   Set the virtual space of the anchor of the nth selection.

   See Scintilla documentation for `SCI_SETSELECTIONNANCHORVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNANCHORVIRTUALSPACE>`_

.. method:: editor.getSelectionNAnchorVirtualSpace(selection) -> int

   Return the virtual space of the anchor of the nth selection.

   See Scintilla documentation for `SCI_GETSELECTIONNANCHORVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNANCHORVIRTUALSPACE>`_

.. method:: editor.setSelectionNStart(selection, anchor)

   Sets the position that starts the selection - this becomes the anchor.

   See Scintilla documentation for `SCI_SETSELECTIONNSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNSTART>`_

.. method:: editor.getSelectionNStart(selection) -> int

   Returns the position at the start of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONNSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNSTART>`_

.. method:: editor.getSelectionNStartVirtualSpace(selection) -> int

   Returns the virtual space at the start of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONNSTARTVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNSTARTVIRTUALSPACE>`_

.. method:: editor.setSelectionNEnd(selection, caret)

   Sets the position that ends the selection - this becomes the currentPosition.

   See Scintilla documentation for `SCI_SETSELECTIONNEND <https://www.scintilla.org/ScintillaDoc.html#SCI_SETSELECTIONNEND>`_

.. method:: editor.getSelectionNEndVirtualSpace(selection) -> int

   Returns the virtual space at the end of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONNENDVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNENDVIRTUALSPACE>`_

.. method:: editor.getSelectionNEnd(selection) -> int

   Returns the position at the end of the selection.

   See Scintilla documentation for `SCI_GETSELECTIONNEND <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSELECTIONNEND>`_

.. method:: editor.setRectangularSelectionCaret(caret)

   Set the caret position of the rectangular selection.

   See Scintilla documentation for `SCI_SETRECTANGULARSELECTIONCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_SETRECTANGULARSELECTIONCARET>`_

.. method:: editor.getRectangularSelectionCaret() -> int

   Return the caret position of the rectangular selection.

   See Scintilla documentation for `SCI_GETRECTANGULARSELECTIONCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRECTANGULARSELECTIONCARET>`_

.. method:: editor.setRectangularSelectionAnchor(anchor)

   Set the anchor position of the rectangular selection.

   See Scintilla documentation for `SCI_SETRECTANGULARSELECTIONANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETRECTANGULARSELECTIONANCHOR>`_

.. method:: editor.getRectangularSelectionAnchor() -> int

   Return the anchor position of the rectangular selection.

   See Scintilla documentation for `SCI_GETRECTANGULARSELECTIONANCHOR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRECTANGULARSELECTIONANCHOR>`_

.. method:: editor.setRectangularSelectionCaretVirtualSpace(space)

   Set the virtual space of the caret of the rectangular selection.

   See Scintilla documentation for `SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETRECTANGULARSELECTIONCARETVIRTUALSPACE>`_

.. method:: editor.getRectangularSelectionCaretVirtualSpace() -> int

   Return the virtual space of the caret of the rectangular selection.

   See Scintilla documentation for `SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRECTANGULARSELECTIONCARETVIRTUALSPACE>`_

.. method:: editor.setRectangularSelectionAnchorVirtualSpace(space)

   Set the virtual space of the anchor of the rectangular selection.

   See Scintilla documentation for `SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETRECTANGULARSELECTIONANCHORVIRTUALSPACE>`_

.. method:: editor.getRectangularSelectionAnchorVirtualSpace() -> int

   Return the virtual space of the anchor of the rectangular selection.

   See Scintilla documentation for `SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRECTANGULARSELECTIONANCHORVIRTUALSPACE>`_

.. method:: editor.setVirtualSpaceOptions(virtualSpaceOptions)

   Set options for virtual space behaviour.

   See Scintilla documentation for `SCI_SETVIRTUALSPACEOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETVIRTUALSPACEOPTIONS>`_

.. method:: editor.getVirtualSpaceOptions() -> int

   Return options for virtual space behaviour.

   See Scintilla documentation for `SCI_GETVIRTUALSPACEOPTIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETVIRTUALSPACEOPTIONS>`_

.. method:: editor.setRectangularSelectionModifier(modifier)

   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.

   See Scintilla documentation for `SCI_SETRECTANGULARSELECTIONMODIFIER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETRECTANGULARSELECTIONMODIFIER>`_

.. method:: editor.getRectangularSelectionModifier() -> int

   Get the modifier key used for rectangular selection.

   See Scintilla documentation for `SCI_GETRECTANGULARSELECTIONMODIFIER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETRECTANGULARSELECTIONMODIFIER>`_

.. method:: editor.setAdditionalSelFore(fore)

   Set the foreground colour of additional selections.
   Must have previously called SetSelFore with non-zero first argument for this to have an effect.

   See Scintilla documentation for `SCI_SETADDITIONALSELFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALSELFORE>`_

.. method:: editor.setAdditionalSelBack(back)

   Set the background colour of additional selections.
   Must have previously called SetSelBack with non-zero first argument for this to have an effect.

   See Scintilla documentation for `SCI_SETADDITIONALSELBACK <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALSELBACK>`_

.. method:: editor.setAdditionalSelAlpha(alpha)

   Set the alpha of the selection.

   See Scintilla documentation for `SCI_SETADDITIONALSELALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALSELALPHA>`_

.. method:: editor.getAdditionalSelAlpha() -> int

   Get the alpha of the selection.

   See Scintilla documentation for `SCI_GETADDITIONALSELALPHA <https://www.scintilla.org/ScintillaDoc.html#SCI_GETADDITIONALSELALPHA>`_

.. method:: editor.setAdditionalCaretFore(fore)

   Set the foreground colour of additional carets.

   See Scintilla documentation for `SCI_SETADDITIONALCARETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETADDITIONALCARETFORE>`_

.. method:: editor.getAdditionalCaretFore() -> tuple

   Get the foreground colour of additional carets.

   See Scintilla documentation for `SCI_GETADDITIONALCARETFORE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETADDITIONALCARETFORE>`_

.. method:: editor.rotateSelection()

   Set the main selection to the next selection.

   See Scintilla documentation for `SCI_ROTATESELECTION <https://www.scintilla.org/ScintillaDoc.html#SCI_ROTATESELECTION>`_

.. method:: editor.swapMainAnchorCaret()

   Swap that caret and anchor of the main selection.

   See Scintilla documentation for `SCI_SWAPMAINANCHORCARET <https://www.scintilla.org/ScintillaDoc.html#SCI_SWAPMAINANCHORCARET>`_

.. method:: editor.multipleSelectAddNext()

   Add the next occurrence of the main selection to the set of selections as main.
   If the current selection is empty then select word around caret.

   See Scintilla documentation for `SCI_MULTIPLESELECTADDNEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_MULTIPLESELECTADDNEXT>`_

.. method:: editor.multipleSelectAddEach()

   Add each occurrence of the main selection in the target to the set of selections.
   If the current selection is empty then select word around caret.

   See Scintilla documentation for `SCI_MULTIPLESELECTADDEACH <https://www.scintilla.org/ScintillaDoc.html#SCI_MULTIPLESELECTADDEACH>`_

.. method:: editor.changeLexerState(start, end) -> int

   Indicate that the internal state of a lexer has changed over a range and therefore
   there may be a need to redraw.

   See Scintilla documentation for `SCI_CHANGELEXERSTATE <https://www.scintilla.org/ScintillaDoc.html#SCI_CHANGELEXERSTATE>`_

.. method:: editor.contractedFoldNext(lineStart) -> int

   Find the next line at or after lineStart that is a contracted fold header line.
   Return -1 when no more lines.

   See Scintilla documentation for `SCI_CONTRACTEDFOLDNEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_CONTRACTEDFOLDNEXT>`_

.. method:: editor.verticalCentreCaret()

   Centre current line in window.

   See Scintilla documentation for `SCI_VERTICALCENTRECARET <https://www.scintilla.org/ScintillaDoc.html#SCI_VERTICALCENTRECARET>`_

.. method:: editor.moveSelectedLinesUp()

   Move the selected lines up one line, shifting the line above after the selection

   See Scintilla documentation for `SCI_MOVESELECTEDLINESUP <https://www.scintilla.org/ScintillaDoc.html#SCI_MOVESELECTEDLINESUP>`_

.. method:: editor.moveSelectedLinesDown()

   Move the selected lines down one line, shifting the line below before the selection

   See Scintilla documentation for `SCI_MOVESELECTEDLINESDOWN <https://www.scintilla.org/ScintillaDoc.html#SCI_MOVESELECTEDLINESDOWN>`_

.. method:: editor.setIdentifier(identifier)

   Set the identifier reported as idFrom in notification messages.

   See Scintilla documentation for `SCI_SETIDENTIFIER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETIDENTIFIER>`_

.. method:: editor.getIdentifier() -> int

   Get the identifier.

   See Scintilla documentation for `SCI_GETIDENTIFIER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETIDENTIFIER>`_

.. method:: editor.rGBAImageSetWidth(width)

   Set the width for future RGBA image data.

   See Scintilla documentation for `SCI_RGBAIMAGESETWIDTH <https://www.scintilla.org/ScintillaDoc.html#SCI_RGBAIMAGESETWIDTH>`_

.. method:: editor.rGBAImageSetHeight(height)

   Set the height for future RGBA image data.

   See Scintilla documentation for `SCI_RGBAIMAGESETHEIGHT <https://www.scintilla.org/ScintillaDoc.html#SCI_RGBAIMAGESETHEIGHT>`_

.. method:: editor.rGBAImageSetScale(scalePercent)

   Set the scale factor in percent for future RGBA image data.

   See Scintilla documentation for `SCI_RGBAIMAGESETSCALE <https://www.scintilla.org/ScintillaDoc.html#SCI_RGBAIMAGESETSCALE>`_

.. method:: editor.markerDefineRGBAImage(markerNumber, pixels)

   Define a marker from RGBA data.
   It has the width and height from RGBAImageSetWidth/Height

   See Scintilla documentation for `SCI_MARKERDEFINERGBAIMAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_MARKERDEFINERGBAIMAGE>`_

.. method:: editor.registerRGBAImage(type, pixels)

   Register an RGBA image for use in autocompletion lists.
   It has the width and height from RGBAImageSetWidth/Height

   See Scintilla documentation for `SCI_REGISTERRGBAIMAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_REGISTERRGBAIMAGE>`_

.. method:: editor.scrollToStart()

   Scroll to start of document.

   See Scintilla documentation for `SCI_SCROLLTOSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_SCROLLTOSTART>`_

.. method:: editor.scrollToEnd()

   Scroll to end of document.

   See Scintilla documentation for `SCI_SCROLLTOEND <https://www.scintilla.org/ScintillaDoc.html#SCI_SCROLLTOEND>`_

.. method:: editor.setTechnology(technology)

   Set the technology used.

   See Scintilla documentation for `SCI_SETTECHNOLOGY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETTECHNOLOGY>`_

.. method:: editor.getTechnology() -> int

   Get the tech.

   See Scintilla documentation for `SCI_GETTECHNOLOGY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETTECHNOLOGY>`_

.. method:: editor.createLoader(bytes, documentOptions) -> int

   Create an ILoader*.

   See Scintilla documentation for `SCI_CREATELOADER <https://www.scintilla.org/ScintillaDoc.html#SCI_CREATELOADER>`_

.. method:: editor.findIndicatorShow(start, end)

   On macOS, show a find indicator.

   See Scintilla documentation for `SCI_FINDINDICATORSHOW <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORSHOW>`_

.. method:: editor.findIndicatorFlash(start, end)

   On macOS, flash a find indicator, then fade out.

   See Scintilla documentation for `SCI_FINDINDICATORFLASH <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORFLASH>`_

.. method:: editor.findIndicatorHide()

   On macOS, hide the find indicator.

   See Scintilla documentation for `SCI_FINDINDICATORHIDE <https://www.scintilla.org/ScintillaDoc.html#SCI_FINDINDICATORHIDE>`_

.. method:: editor.vCHomeDisplay()

   Move caret to before first visible character on display line.
   If already there move to first character on display line.

   See Scintilla documentation for `SCI_VCHOMEDISPLAY <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMEDISPLAY>`_

.. method:: editor.vCHomeDisplayExtend()

   Like VCHomeDisplay but extending selection to new caret position.

   See Scintilla documentation for `SCI_VCHOMEDISPLAYEXTEND <https://www.scintilla.org/ScintillaDoc.html#SCI_VCHOMEDISPLAYEXTEND>`_

.. method:: editor.getCaretLineVisibleAlways() -> bool

   Is the caret line always visible?

   See Scintilla documentation for `SCI_GETCARETLINEVISIBLEALWAYS <https://www.scintilla.org/ScintillaDoc.html#SCI_GETCARETLINEVISIBLEALWAYS>`_

.. method:: editor.setCaretLineVisibleAlways(alwaysVisible)

   Sets the caret line to always visible.

   See Scintilla documentation for `SCI_SETCARETLINEVISIBLEALWAYS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETCARETLINEVISIBLEALWAYS>`_

.. method:: editor.setLineEndTypesAllowed(lineEndBitSet)

   Set the line end types that the application wants to use. May not be used if incompatible with lexer or encoding.

   See Scintilla documentation for `SCI_SETLINEENDTYPESALLOWED <https://www.scintilla.org/ScintillaDoc.html#SCI_SETLINEENDTYPESALLOWED>`_

.. method:: editor.getLineEndTypesAllowed() -> int

   Get the line end types currently allowed.

   See Scintilla documentation for `SCI_GETLINEENDTYPESALLOWED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEENDTYPESALLOWED>`_

.. method:: editor.getLineEndTypesActive() -> int

   Get the line end types currently recognised. May be a subset of the allowed types due to lexer limitation.

   See Scintilla documentation for `SCI_GETLINEENDTYPESACTIVE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEENDTYPESACTIVE>`_

.. method:: editor.setRepresentation(encodedCharacter, representation)

   Set the way a character is drawn.

   See Scintilla documentation for `SCI_SETREPRESENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_SETREPRESENTATION>`_

.. method:: editor.getRepresentation(encodedCharacter) -> str

   Get the way a character is drawn.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETREPRESENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_GETREPRESENTATION>`_

.. method:: editor.clearRepresentation(encodedCharacter)

   Remove a character representation.

   See Scintilla documentation for `SCI_CLEARREPRESENTATION <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARREPRESENTATION>`_

.. method:: editor.clearAllRepresentations()

   Clear representations to default.

   See Scintilla documentation for `SCI_CLEARALLREPRESENTATIONS <https://www.scintilla.org/ScintillaDoc.html#SCI_CLEARALLREPRESENTATIONS>`_

.. method:: editor.setRepresentationAppearance(encodedCharacter, appearance)

   Set the appearance of a representation.

   See Scintilla documentation for `SCI_SETREPRESENTATIONAPPEARANCE <https://www.scintilla.org/ScintillaDoc.html#SCI_SETREPRESENTATIONAPPEARANCE>`_

.. method:: editor.getRepresentationAppearance(encodedCharacter) -> int

   Get the appearance of a representation.

   See Scintilla documentation for `SCI_GETREPRESENTATIONAPPEARANCE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETREPRESENTATIONAPPEARANCE>`_

.. method:: editor.setRepresentationColour(encodedCharacter, colour)

   Set the colour of a representation.

   See Scintilla documentation for `SCI_SETREPRESENTATIONCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_SETREPRESENTATIONCOLOUR>`_

.. method:: editor.getRepresentationColour(encodedCharacter) -> tuple

   Get the colour of a representation.

   See Scintilla documentation for `SCI_GETREPRESENTATIONCOLOUR <https://www.scintilla.org/ScintillaDoc.html#SCI_GETREPRESENTATIONCOLOUR>`_

.. method:: editor.eOLAnnotationSetText(line, text)

   Set the end of line annotation text for a line

   See Scintilla documentation for `SCI_EOLANNOTATIONSETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONSETTEXT>`_

.. method:: editor.eOLAnnotationGetText(line) -> str

   Get the end of line annotation text for a line

   See Scintilla documentation for `SCI_EOLANNOTATIONGETTEXT <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONGETTEXT>`_

.. method:: editor.eOLAnnotationSetStyle(line, style)

   Set the style number for the end of line annotations for a line

   See Scintilla documentation for `SCI_EOLANNOTATIONSETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONSETSTYLE>`_

.. method:: editor.eOLAnnotationGetStyle(line) -> int

   Get the style number for the end of line annotations for a line

   See Scintilla documentation for `SCI_EOLANNOTATIONGETSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONGETSTYLE>`_

.. method:: editor.eOLAnnotationClearAll()

   Clear the end of annotations from all lines

   See Scintilla documentation for `SCI_EOLANNOTATIONCLEARALL <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONCLEARALL>`_

.. method:: editor.eOLAnnotationSetVisible(visible)

   Set the visibility for the end of line annotations for a view

   See Scintilla documentation for `SCI_EOLANNOTATIONSETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONSETVISIBLE>`_

.. method:: editor.eOLAnnotationGetVisible() -> int

   Get the visibility for the end of line annotations for a view

   See Scintilla documentation for `SCI_EOLANNOTATIONGETVISIBLE <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONGETVISIBLE>`_

.. method:: editor.eOLAnnotationSetStyleOffset(style)

   Get the start of the range of style numbers used for end of line annotations

   See Scintilla documentation for `SCI_EOLANNOTATIONSETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONSETSTYLEOFFSET>`_

.. method:: editor.eOLAnnotationGetStyleOffset() -> int

   Get the start of the range of style numbers used for end of line annotations

   See Scintilla documentation for `SCI_EOLANNOTATIONGETSTYLEOFFSET <https://www.scintilla.org/ScintillaDoc.html#SCI_EOLANNOTATIONGETSTYLEOFFSET>`_

.. method:: editor.supportsFeature(feature) -> bool

   Get whether a feature is supported

   See Scintilla documentation for `SCI_SUPPORTSFEATURE <https://www.scintilla.org/ScintillaDoc.html#SCI_SUPPORTSFEATURE>`_

.. method:: editor.getLineCharacterIndex() -> int

   Retrieve line character index state.

   See Scintilla documentation for `SCI_GETLINECHARACTERINDEX <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINECHARACTERINDEX>`_

.. method:: editor.allocateLineCharacterIndex(lineCharacterIndex)

   Request line character index be created or its use count increased.

   See Scintilla documentation for `SCI_ALLOCATELINECHARACTERINDEX <https://www.scintilla.org/ScintillaDoc.html#SCI_ALLOCATELINECHARACTERINDEX>`_

.. method:: editor.releaseLineCharacterIndex(lineCharacterIndex)

   Decrease use count of line character index and remove if 0.

   See Scintilla documentation for `SCI_RELEASELINECHARACTERINDEX <https://www.scintilla.org/ScintillaDoc.html#SCI_RELEASELINECHARACTERINDEX>`_

.. method:: editor.lineFromIndexPosition(pos, lineCharacterIndex) -> int

   Retrieve the document line containing a position measured in index units.

   See Scintilla documentation for `SCI_LINEFROMINDEXPOSITION <https://www.scintilla.org/ScintillaDoc.html#SCI_LINEFROMINDEXPOSITION>`_

.. method:: editor.indexPositionFromLine(line, lineCharacterIndex) -> int

   Retrieve the position measured in index units at the start of a document line.

   See Scintilla documentation for `SCI_INDEXPOSITIONFROMLINE <https://www.scintilla.org/ScintillaDoc.html#SCI_INDEXPOSITIONFROMLINE>`_

.. method:: editor.startRecord()

   Start notifying the container of all key presses and commands.

   See Scintilla documentation for `SCI_STARTRECORD <https://www.scintilla.org/ScintillaDoc.html#SCI_STARTRECORD>`_

.. method:: editor.stopRecord()

   Stop notifying the container of all key presses and commands.

   See Scintilla documentation for `SCI_STOPRECORD <https://www.scintilla.org/ScintillaDoc.html#SCI_STOPRECORD>`_

.. method:: editor.getLexer() -> int

   Retrieve the lexing language of the document.

   See Scintilla documentation for `SCI_GETLEXER <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLEXER>`_

.. method:: editor.colourise(start, end)

   Colourise a segment of the document using the current lexing language.

   See Scintilla documentation for `SCI_COLOURISE <https://www.scintilla.org/ScintillaDoc.html#SCI_COLOURISE>`_

.. method:: editor.setProperty(key, value)

   Set up a value that may be used by a lexer for some optional feature.

   See Scintilla documentation for `SCI_SETPROPERTY <https://www.scintilla.org/ScintillaDoc.html#SCI_SETPROPERTY>`_

.. method:: editor.setKeyWords(keyWordSet, keyWords)

   Set up the key words used by the lexer.

   See Scintilla documentation for `SCI_SETKEYWORDS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETKEYWORDS>`_

.. method:: editor.getProperty(key) -> str

   Retrieve a "property" value previously set with SetProperty.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETPROPERTY <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPROPERTY>`_

.. method:: editor.getPropertyExpanded(key) -> str

   Retrieve a "property" value previously set with SetProperty,
   with "$()" variable replacement on returned buffer.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETPROPERTYEXPANDED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPROPERTYEXPANDED>`_

.. method:: editor.getPropertyInt(key, defaultValue) -> int

   Retrieve a "property" value previously set with SetProperty,
   interpreted as an int AFTER any "$()" variable replacement.

   See Scintilla documentation for `SCI_GETPROPERTYINT <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPROPERTYINT>`_

.. method:: editor.getLexerLanguage() -> str

   Retrieve the name of the lexer.
   Return the length of the text.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETLEXERLANGUAGE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLEXERLANGUAGE>`_

.. method:: editor.privateLexerCall(operation, pointer) -> int

   For private communication between an application and a known lexer.

   See Scintilla documentation for `SCI_PRIVATELEXERCALL <https://www.scintilla.org/ScintillaDoc.html#SCI_PRIVATELEXERCALL>`_

.. method:: editor.propertyNames() -> str

   Retrieve a '\\n' separated list of properties understood by the current lexer.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_PROPERTYNAMES <https://www.scintilla.org/ScintillaDoc.html#SCI_PROPERTYNAMES>`_

.. method:: editor.propertyType(name) -> int

   Retrieve the type of a property.

   See Scintilla documentation for `SCI_PROPERTYTYPE <https://www.scintilla.org/ScintillaDoc.html#SCI_PROPERTYTYPE>`_

.. method:: editor.describeProperty(name) -> str

   Describe a property.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_DESCRIBEPROPERTY <https://www.scintilla.org/ScintillaDoc.html#SCI_DESCRIBEPROPERTY>`_

.. method:: editor.describeKeyWordSets() -> str

   Retrieve a '\\n' separated list of descriptions of the keyword sets understood by the current lexer.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_DESCRIBEKEYWORDSETS <https://www.scintilla.org/ScintillaDoc.html#SCI_DESCRIBEKEYWORDSETS>`_

.. method:: editor.getLineEndTypesSupported() -> int

   Bit set of LineEndType enumeration for which line ends beyond the standard
   LF, CR, and CRLF are supported by the lexer.

   See Scintilla documentation for `SCI_GETLINEENDTYPESSUPPORTED <https://www.scintilla.org/ScintillaDoc.html#SCI_GETLINEENDTYPESSUPPORTED>`_

.. method:: editor.allocateSubStyles(styleBase, numberStyles) -> int

   Allocate a set of sub styles for a particular base style, returning start of range

   See Scintilla documentation for `SCI_ALLOCATESUBSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_ALLOCATESUBSTYLES>`_

.. method:: editor.getSubStylesStart(styleBase) -> int

   The starting style number for the sub styles associated with a base style

   See Scintilla documentation for `SCI_GETSUBSTYLESSTART <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSUBSTYLESSTART>`_

.. method:: editor.getSubStylesLength(styleBase) -> int

   The number of sub styles associated with a base style

   See Scintilla documentation for `SCI_GETSUBSTYLESLENGTH <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSUBSTYLESLENGTH>`_

.. method:: editor.getStyleFromSubStyle(subStyle) -> int

   For a sub style, return the base style, else return the argument.

   See Scintilla documentation for `SCI_GETSTYLEFROMSUBSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSTYLEFROMSUBSTYLE>`_

.. method:: editor.getPrimaryStyleFromStyle(style) -> int

   For a secondary style, return the primary style, else return the argument.

   See Scintilla documentation for `SCI_GETPRIMARYSTYLEFROMSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_GETPRIMARYSTYLEFROMSTYLE>`_

.. method:: editor.freeSubStyles()

   Free allocated sub styles

   See Scintilla documentation for `SCI_FREESUBSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_FREESUBSTYLES>`_

.. method:: editor.setIdentifiers(style, identifiers)

   Set the identifiers that are shown in a particular style

   See Scintilla documentation for `SCI_SETIDENTIFIERS <https://www.scintilla.org/ScintillaDoc.html#SCI_SETIDENTIFIERS>`_

.. method:: editor.distanceToSecondaryStyles() -> int

   Where styles are duplicated by a feature such as active/inactive code
   return the distance between the two types.

   See Scintilla documentation for `SCI_DISTANCETOSECONDARYSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_DISTANCETOSECONDARYSTYLES>`_

.. method:: editor.getSubStyleBases() -> str

   Get the set of base styles that can be extended with sub styles
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_GETSUBSTYLEBASES <https://www.scintilla.org/ScintillaDoc.html#SCI_GETSUBSTYLEBASES>`_

.. method:: editor.getNamedStyles() -> int

   Retrieve the number of named styles for the lexer.

   See Scintilla documentation for `SCI_GETNAMEDSTYLES <https://www.scintilla.org/ScintillaDoc.html#SCI_GETNAMEDSTYLES>`_

.. method:: editor.nameOfStyle(style) -> str

   Retrieve the name of a style.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_NAMEOFSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_NAMEOFSTYLE>`_

.. method:: editor.tagsOfStyle(style) -> str

   Retrieve a ' ' separated list of style tags like "literal quoted string".
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_TAGSOFSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_TAGSOFSTYLE>`_

.. method:: editor.descriptionOfStyle(style) -> str

   Retrieve a description of a style.
   Result is NUL-terminated.

   See Scintilla documentation for `SCI_DESCRIPTIONOFSTYLE <https://www.scintilla.org/ScintillaDoc.html#SCI_DESCRIPTIONOFSTYLE>`_

.. method:: editor.setILexer(ilexer)

   Set the lexer from an ILexer*.

   See Scintilla documentation for `SCI_SETILEXER <https://www.scintilla.org/ScintillaDoc.html#SCI_SETILEXER>`_

.. method:: editor.getBidirectional() -> int

   Retrieve bidirectional text display state.

   See Scintilla documentation for `SCI_GETBIDIRECTIONAL <https://www.scintilla.org/ScintillaDoc.html#SCI_GETBIDIRECTIONAL>`_

.. method:: editor.setBidirectional(bidirectional)

   Set bidirectional text display state.

   See Scintilla documentation for `SCI_SETBIDIRECTIONAL <https://www.scintilla.org/ScintillaDoc.html#SCI_SETBIDIRECTIONAL>`_

.. End of Autogeneration /* --Autogenerated ---- */


.. _Helper Methods:

Helper Methods
--------------

.. method:: editor.flash(milliseconds)

   Flashes the current document by slightly modifying the current background color for the given time.


.. method:: editor.forEachLine(function)

   Runs the function passed for each line in the current document.
   The function gets passed 3 arguments, the contents of the line, the line number (starting from zero), and the total number of lines.
   If the function returns a number, that number is added to the current line number for the next iteration.

   That way, if you delete the current line, you should return 0, so as to stay on the current physical line.

   Under normal circumstances, you do not need to return anything from the function (i.e. None)

   e.g.::

		def testContents(contents, lineNumber, totalLines):
			if contents.strip() == "rubbish":
				editor.deleteLine(lineNumber)
				# As we've deleted the line, the "next" line to process
				# is actually the current line, so we return 0 to advance zero lines
				# and hence stay on the same line
				return 0

			elif contents.strip() == "something old":
				editor.replaceLine(lineNumber, "something new")

			elif contents.strip() == "little something":
				editor.replaceLine(lineNumber, "BIG\nSOMETHING"
				# Here we return 2, as we've inserted a newline,
				# and we don't want to test the "SOMETHING" line again
				return 2

			# if you wanted, you could optionally return 1 here, to move the next line
			# but that's the default, so you don't need to bother.


		editor.forEachLine(testContents)





.. method:: editor.deleteLine(line)

   Deletes the given (zero indexed) line number.


.. method:: editor.replaceLine(line, newContents)

   Replaces the given (zero indexed) line number with the given contents.
   e.g.::

		editor.replaceLine(3, "New contents")


.. method:: editor.replaceWholeLine(line, newContents)

   Replaces the given (zero indexed) line number with the given contents, including the line break
   (ie. the line break from the old line is removed, no line break on the replacement will result in joining lines).

   e.g.::

		editor.replaceWholeLine(3, "New contents")


.. method:: editor.setTarget(start, end)

   Sets the target start and end in one call. See :meth:`editor.setTargetStart` and :meth:`editor.setTargetEnd`


.. method:: editor.getUserLineSelection() -> (startLine, endLine)

   Gets the start and end (zero indexed) line numbers of the user selection, or the whole document if nothing is selected.

   Useful if you want to run your script over a number of lines - using this allows the user to select nothing, and have the
   script run for the whole document, or select just the section they want to run the script over.


.. method:: editor.getUserCharSelection() -> (startByte, endByte)

   Gets the start and end (zero indexed) byte numbers of the user selection, or the whole document if nothing is selected.


.. method:: editor.clearCallbacks()

   Clears all callbacks


.. method:: editor.clearCallbacks(function)

   Clears all callbacks for a given function


.. method:: editor.clearCallbacks(eventsList)

   Clears all callbacks for the given list of events


.. method:: editor.clearCallbacks(function, eventsList)

   Clears the callback for the given callback function for the list of events

.. method:: editor.callback(function, eventsList)

   Adds a handler for an ``Editor`` (Scintilla) event. The events list is a list of events to respond to, from the :class:`SCINTILLANOTIFICATION` enum.
   Documentation on notifications from Scintilla can be found here: https://www.scintilla.org/ScintillaDoc.html#Notifications

   For a simple example, here's a script that automatically saves the document as soon as a change is made::

     def saveCurrentDoc(args):
         notepad.save()

     editor.callback(saveCurrentDoc, [SCINTILLANOTIFICATION.SAVEPOINTLEFT])

   This script is not really sensible in real life, as for large files, it will take some time to save the file, and it will be saved after every key press.

   Note that ``Editor`` callbacks are processed *asynchronously* by default. What this means in practice is that your event handler function
   (saveCurrentDoc in the previous example) is called just after the event has fired.  If the callback handler is slow, and the callbacks occur quickly, you
   could get "behind".  Callbacks are placed in a queue and processed in the order they arrived.  If you need to do something before letting the user continue, you
   can use :meth:`editor.callbackSync`, which adds a synchronous callback.


.. method:: editor.callbackSync(function, eventsList)

   Adds a *synchronous* handler for an ``Editor`` (Scintilla) event. The events list is a list of events to respond to, from the :class:`SCINTILLANOTIFICATION` enum.

   What this means is that the handler function is called, and must complete, before control is returned to the user.  If you perform a slow operation in your handler
   function, this will have an effect on the speed of Notepad++ for the user (i.e. Notepad++ may appear to have "locked up", whilst your event processes).

   Synchronous callbacks are mostly used for calling :meth:`editor.autoCCancel` in response to :class:`SCINTILLANOTIFICATION.AUTOCSELECTION`, but could be used for
   anything where the timing of the handler function is critical.


.. method:: editor.replace(search, replace[, flags[, startPosition[, endPosition[, maxCount]]]])

   See :meth:`editor.rereplace`, as this method is identical, with the exception that the search string is treated literally,
   and not as a regular expression.

   The search argument triggers an exception if either an empty string or None is specified.
   The replace argument triggers an exception if None is specified.

   If you use a function as the replace argument, the function will still receive a ``re.MatchObject`` like object as the parameter,
   ``group(0)`` will therefore always contain the string searched for (possibly in a different case if ``re.IGNORECASE`` was passed in the flags)

   For example::


     counter = 0

     def get_counter(m):
         global counter
         counter += 1
         return 'C' + str(counter)

     editor.replace('(x)', get_counter, re.IGNORECASE)

     # Replacing:
     #
     #     This (x) is some (X) text.  The bracketed X's will (x) get numerical replacements
     #
     # results in
     #
     #     This C1 is some C2 text.  The bracketed X's will C3 get numerical replacements




.. method:: editor.rereplace(search, replace[, flags[, startPosition[, endPosition[, maxCount]]]])

   The main search and replace method, using regular expressions.  The regular expression syntax in use is
   that from Notepad++, which is actually the `Boost::Regex <https://www.boost.org/doc/libs/1_80_0/libs/regex/doc/html/index.html>`_
   implementation (specifically the Perl regular expression syntax).

   IMPORTANT NOTE:
   The replace function provided to editor.rereplace should not invoke additional calls to editor.rereplace or other replacement functions
   that modify the same text being processed. Doing so may result in unpredictable behavior.

   The search argument triggers an exception if either an empty string or None is specified.
   The replace argument triggers an exception if None is specified.

   ``flags`` are from the re module (e.g. ``re.IGNORECASE``), so ``import re`` if you use the flags.

   The ``re.MULTILINE`` flag is automatically set, so ``^`` matches the start of each line of the document, and
   ``$`` the end of each line.  If you want to ``^`` and ``$`` to match the start and end of the whole document,
   you can override the behaviour by adding in the ``editor.WHOLEDOC`` flag.

   Note that line endings are now handled automatically.

   ``search`` can be a string, a unicode string, or an object. An object will be converted to a string using it's ``__str__`` method.
   For a unicode string, the current document encoding is checked, and an attempt is made at a conversion.  If the conversion cannot be
   successfully performed, an error occurs. When a standard Python string is used, no conversion takes place. If you need to replace
   strings in documents in both UTF-8 and ANSI (or other single byte encodings), then it's best to pass unicode strings.

   ``replace`` follows the same conversion rules as ``search``.  However, you can also pass a function or lambda expression
   as the ``replace`` parameter.  This function receives a single parameter, which is an object resembling a re.MatchObject instance.
   It only resembles an re.MatchObject because it doesn't support all the methods. Specifically, ``groupdict()``, ``pos``, ``endpos``, ``re`` and ``string``
   methods and properties are not supported.  ``expand()``, ``group()`` and ``groups()`` (for example) all work identically.  The function should
   return the string to use as the replacement.

   A simple function replacement::

     def add_1(m):
         return 'Y' + str(int(m.group(1)) + 1)

     # replace X followed by numbers by an incremented number
     # e.g.   X56 X39 X999
     #          becomes
     #        Y57 Y40 Y1000

     editor.rereplace('X([0-9]+)', add_1);

   ``startPosition`` is the binary position to start the search.  Use :meth:`editor.positionFromLine`
   to get the binary position from the (zero indexed) line number. The startPosition needs to be smaller than the endPosition.

   ``endPosition`` is the binary position to end the search. Use :meth:`editor.positionFromLine`
   to get the binary position from the (zero indexed) line number.

   If ``maxCount`` is a positive integer number then a maximum of ``maxCount`` replacements are made. Otherwise all replacements are made.


   An small point to note, is that the replacements are first searched, and then all replacements are made.
   This is done for performance and reliability reasons.  Generally this will have no side effects, however there
   may be cases where it makes a difference. (Author's note: If you have such a case, please post a note on the forums
   such that it can be added to the documentation, or corrected).

.. method:: editor.research(search, matchFunction[, flags[, startPosition[, endPosition[, maxCount]]]])

   The main search method, using regular expressions.  The regular expression syntax in use is
   that from Notepad++, which is actually the `Boost::Regex <https://www.boost.org/doc/libs/1_80_0/libs/regex/doc/html/index.html>`_
   implementation (specifically the Perl regular expression syntax).

   ``flags`` are from the re module (e.g. ``re.IGNORECASE``), so ``import re`` if you use the flags.

   The ``re.MULTILINE`` flag is automatically set, so ``^`` matches the start of each line of the document, and
   ``$`` the end of each line.  If you want to ``^`` and ``$`` to match the start and end of the whole document,
   you can override the behaviour by adding in the ``editor.WHOLEDOC`` flag.

   Note that line endings are now handled automatically.

   ``search`` can be a string, a unicode string, or an object. An object will be converted to a string using it's ``__str__`` method.
   For a unicode string, the current document encoding is checked, and an attempt is made at a conversion.  If the conversion cannot be
   successfully performed, an error occurs. When a standard Python string is used, no conversion takes place. If you need to replace
   strings in documents in both UTF-8 and ANSI (or other single byte encodings), then it's best to pass unicode strings.

   ``matchFunction`` is a function that gets called with each match.  This function receives a single parameter, which is an object resembling a re.MatchObject instance.
   It only resembles an re.MatchObject because it doesn't support all the methods. Specifically, ``groupdict()``, ``pos``, ``endpos``, ``re`` and ``string``
   methods and properties are not supported.  ``expand()``, ``group()`` and ``groups()`` (for example) all work identically.  The function should
   return the string to use as the replacement.

   A simple function replacement::

     matches = []
     def match_found(m):
         # append the match (start, end) positions to the matches array
         matches.append(m.span(0))

     # find X followed by numbers
     # e.g.   X56 X39 X999

     editor.research('X([0-9]+)', match_found)

   You can do the same thing with a lambda expression::

     matches = []

     editor.research('X([0-9]+)', lambda m: matches.append(m.span(0)))




   ``startPosition`` is the binary position to start the search.  Use :meth:`editor.positionFromLine`
   to get the binary position from the (zero indexed) line number. The startPosition needs to be smaller than the endPosition.

   ``endPosition`` is the binary position to end the search. Use :meth:`editor.positionFromLine`
   to get the binary position from the (zero indexed) line number.

   If ``maxCount`` is a positive integer number, then the search stops as soon as ``maxCount`` matches have been found. Otherwise all matches that could be found.


.. method:: editor.getCurrentWord()

   Alias for getWord(), that gets the current word at the cursor.


.. method:: editor.getWord(position, useOnlyWordChars)

   Gets the word at position.  If position is not given or None, the current caret position is used.
   useOnlyWordChars is a bool that is passed to Scintilla - see Scintilla rules on what is match.
   If not given or None, it is assumed to be true.


.. method:: editor.search(search, handlerFunction)

   Searches the document for given search text, and calls the handlerFunction with each match.
   The handler function receives a single match parameter, which is similar to a re.MatchObject object

.. method:: editor.search(search, handlerFunction, flags)

   Searches the document for given search text, and calls the handlerFunction with each match.
   The handler function receives a single match parameter, which is similar to a re.MatchObject object.
   Flags are the flags from the re module, specifically only re.IGNORECASE has an effect here.

.. method:: editor.search(search, handlerFunction, flags, startPosition)

   Searches the document from the given startPosition for given search text, and calls the handlerFunction with each match.
   The handler function receives a single match parameter, which is similar to a re.MatchObject object.
   Flags are the flags from the re module, specifically only re.IGNORECASE has an effect here.

.. method:: editor.search(search, handlerFunction, flags, startPosition, endPosition)

   Searches the document from the given startPosition to the given endPosition for given search text,
   and calls the handlerFunction with each match. The handler function receives a single match parameter,
   which is similar to a re.MatchObject object. Flags are the flags from the re module, specifically only re.IGNORECASE has an effect here.

.. method:: editor.search(search, handlerFunction, flags, startPosition, endPosition, maxCount)

   Searches the document from the given startPosition to the given endPosition for given search text,
   and calls the handlerFunction with each match. The search ends when maxCount matches have been located.
   The handler function receives a single match parameter, which is similar to a re.MatchObject object.
   Flags are the flags from the re module, specifically only re.IGNORECASE has an effect here.


.. method:: editor.write()

   Add text to the document at current position (alias for addText).


