ALPHA_NOALPHA view.ALPHA_NOALPHA (number, Read-only)\n ALPHA_OPAQUE view.ALPHA_OPAQUE (number, Read-only)\n ALPHA_TRANSPARENT view.ALPHA_TRANSPARENT (number, Read-only)\n ANNOTATION_BOXED view.ANNOTATION_BOXED (number, Read-only)\n ANNOTATION_HIDDEN view.ANNOTATION_HIDDEN (number, Read-only)\n ANNOTATION_INDENTED view.ANNOTATION_INDENTED (number, Read-only)\n ANNOTATION_STANDARD view.ANNOTATION_STANDARD (number, Read-only)\n APPLEEVENT_ODOC events.APPLEEVENT_ODOC (string)\nEmitted when macOS tells Textadept to open a file.\nArguments:\n\n* _`uri`_: The UTF-8-encoded URI to open. ARG_NONE events.ARG_NONE (string)\nEmitted when no command line arguments are passed to Textadept on startup. AUTO_C_CANCELED events.AUTO_C_CANCELED (string)\nEmitted when canceling an autocompletion or user list. AUTO_C_CHAR_DELETED events.AUTO_C_CHAR_DELETED (string)\nEmitted after deleting a character while an autocompletion or user list is active. AUTO_C_COMPLETED events.AUTO_C_COMPLETED (string)\nEmitted after inserting an item from an autocompletion list into the buffer.\nArguments:\n\n* _`text`_: The selection's text.\n* _`position`_: The autocompleted word's beginning position. AUTO_C_SELECTION events.AUTO_C_SELECTION (string)\nEmitted after selecting an item from an autocompletion list, but before inserting that\nitem into the buffer.\nAutomatic insertion can be canceled by calling `buffer:auto_c_cancel()` before returning\nfrom the event handler.\nArguments:\n\n* _`text`_: The selection's text.\n* _`position`_: The autocompleted word's beginning position. AUTO_C_SELECTION_CHANGE events.AUTO_C_SELECTION_CHANGE (string)\nEmitted as items are highlighted in an autocompletion or user list.\nArguments:\n\n* _`id`_: Either the *id* from `buffer.user_list_show()` or `0` for an autocompletion list.\n* _`text`_: The current selection's text.\n* _`position`_: The position the list was displayed at. BSD _G.BSD (bool)\nWhether or not Textadept is running on BSD. BUFFER_AFTER_REPLACE_TEXT events.BUFFER_AFTER_REPLACE_TEXT (string)\nEmitted after replacing the contents of the current buffer.\nNote that it is not guaranteed that `events.BUFFER_BEFORE_REPLACE_TEXT` was emitted\npreviously.\nThe buffer **must not** be modified during this event. BUFFER_AFTER_SWITCH events.BUFFER_AFTER_SWITCH (string)\nEmitted right after switching to another buffer.\nThe buffer being switched to is `buffer`.\nEmitted by `view.goto_buffer()`. BUFFER_BEFORE_REPLACE_TEXT events.BUFFER_BEFORE_REPLACE_TEXT (string)\nEmitted before replacing the contents of the current buffer.\nNote that it is not guaranteed that `events.BUFFER_AFTER_REPLACE_TEXT` will be emitted\nshortly after this event.\nThe buffer **must not** be modified during this event. BUFFER_BEFORE_SWITCH events.BUFFER_BEFORE_SWITCH (string)\nEmitted right before switching to another buffer.\nThe buffer being switched from is `buffer`.\nEmitted by `view.goto_buffer()`. BUFFER_DELETED events.BUFFER_DELETED (string)\nEmitted after deleting a buffer.\nEmitted by `buffer.delete()`. BUFFER_NEW events.BUFFER_NEW (string)\nEmitted after creating a new buffer.\nThe new buffer is `buffer`.\nEmitted on startup and by `buffer.new()`. BUILD_OUTPUT events.BUILD_OUTPUT (string)\nEmitted when executing a project's build shell command.\nBy default, output is printed to the message buffer. In order to override this behavior,\nconnect to the event with an index of `1` and return `true`.\nArguments:\n\n* `output`: A line of string output from the command. CALL_TIP_CLICK events.CALL_TIP_CLICK (string)\nEmitted when clicking on a calltip.\nArguments:\n\n* _`position`_: `1` if the up arrow was clicked, 2 if the down arrow was clicked, and\n 0 otherwise. CARETSTICKY_OFF buffer.CARETSTICKY_OFF (number, Read-only)\n CARETSTICKY_ON buffer.CARETSTICKY_ON (number, Read-only)\n CARETSTICKY_WHITESPACE buffer.CARETSTICKY_WHITESPACE (number, Read-only)\n CARETSTYLE_BLOCK view.CARETSTYLE_BLOCK (number, Read-only)\n CARETSTYLE_INVISIBLE view.CARETSTYLE_INVISIBLE (number, Read-only)\n CARETSTYLE_LINE view.CARETSTYLE_LINE (number, Read-only)\n CARET_EVEN view.CARET_EVEN (number, Read-only)\n CARET_JUMPS view.CARET_JUMPS (number, Read-only)\n CARET_SLOP view.CARET_SLOP (number, Read-only)\n CARET_STRICT view.CARET_STRICT (number, Read-only)\n CASEINSENSITIVEBEHAVIOR_IGNORECASE buffer.CASEINSENSITIVEBEHAVIOR_IGNORECASE (number, Read-only)\n CASEINSENSITIVEBEHAVIOR_RESPECTCASE buffer.CASEINSENSITIVEBEHAVIOR_RESPECTCASE (number, Read-only)\n CASE_CAMEL view.CASE_CAMEL (number, Read-only)\n CASE_LOWER view.CASE_LOWER (number, Read-only)\n CASE_MIXED view.CASE_MIXED (number, Read-only)\n CASE_UPPER view.CASE_UPPER (number, Read-only)\n CHAR_ADDED events.CHAR_ADDED (string)\nEmitted after the user types a text character into the buffer.\nArguments:\n\n* _`code`_: The text character's character code. CLASS lexer.CLASS (string)\nThe token name for class tokens. CLASS textadept.editing.XPM_IMAGES.CLASS (table)\nThe image number for classes. CLEAR keys.CLEAR (string)\nThe key that clears the current key chain.\nIt cannot be part of a key chain.\nThe default value is `'esc'` for the `Esc` key. COMMAND_TEXT_CHANGED events.COMMAND_TEXT_CHANGED (string)\nEmitted when the text in the command entry changes.\n`ui.command_entry:get_text()` returns the current text. COMMENT lexer.COMMENT (string)\nThe token name for comment tokens. COMPILE_OUTPUT events.COMPILE_OUTPUT (string)\nEmitted when executing a language's compile shell command.\nBy default, compiler output is printed to the message buffer. In order to override this\nbehavior, connect to the event with an index of `1` and return `true`.\nArguments:\n\n* `output`: A line of string output from the command.\n* `ext_or_lexer`: The file extension or lexer name associated with the executed compile\n command. CONSTANT lexer.CONSTANT (string)\nThe token name for constant tokens. CSI events.CSI (string)\nEmitted when the terminal version receives an unrecognized CSI sequence.\nArguments:\n\n* _`cmd`_: The 24-bit CSI command value. The lowest byte contains the command byte. The\n second lowest byte contains the leading byte, if any (e.g. '?'). The third lowest byte\n contains the intermediate byte, if any (e.g. '$').\n* _`args`_: Table of numeric arguments of the CSI sequence. CURSES _G.CURSES (bool)\nWhether or not Textadept is running in a terminal.\nCurses feature incompatibilities are listed in the Appendix. CURSORARROW view.CURSORARROW (number, Read-only)\n CURSORNORMAL view.CURSORNORMAL (number, Read-only)\n CURSORREVERSEARROW view.CURSORREVERSEARROW (number, Read-only)\n CURSORWAIT view.CURSORWAIT (number, Read-only)\n DEFAULT lexer.DEFAULT (string)\nThe token name for default tokens. DOUBLE_CLICK events.DOUBLE_CLICK (string)\nEmitted after double-clicking the mouse button.\nArguments:\n\n* _`position`_: The position double-clicked.\n* _`line`_: The line number of the position double-clicked.\n* _`modifiers`_: A bit-mask of any modifier keys held down: `view.MOD_CTRL`,\n `view.MOD_SHIFT`, `view.MOD_ALT`, and `view.MOD_META`. On macOS, the Command modifier\n key is reported as `view.MOD_CTRL` and Ctrl is `view.MOD_META`. Note: If you set\n `view.rectangular_selection_modifier` to `view.MOD_CTRL`, the "Control" modifier is\n reported as *both* "Control" and "Alt" due to a Scintilla limitation with GTK. DWELL_END events.DWELL_END (string)\nEmitted after `DWELL_START` when the user moves the mouse, presses a key, or scrolls the view.\nArguments:\n\n* _`position`_: The position closest to *x* and *y*.\n* _`x`_: The x-coordinate of the mouse in the view.\n* _`y`_: The y-coordinate of the mouse in the view. DWELL_START events.DWELL_START (string)\nEmitted when the mouse is stationary for `view.mouse_dwell_time` milliseconds.\nArguments:\n\n* _`position`_: The position closest to *x* and *y*.\n* _`x`_: The x-coordinate of the mouse in the view.\n* _`y`_: The y-coordinate of the mouse in the view. EDGE_BACKGROUND view.EDGE_BACKGROUND (number, Read-only)\n EDGE_LINE view.EDGE_LINE (number, Read-only)\n EDGE_MULTILINE view.EDGE_MULTILINE (number, Read-only)\n EDGE_NONE view.EDGE_NONE (number, Read-only)\n ELEMENT_CARET view.ELEMENT_CARET (number, Read-only)\n ELEMENT_CARET_ADDITIONAL view.ELEMENT_CARET_ADDITIONAL (number, Read-only)\n ELEMENT_CARET_LINE_BACK view.ELEMENT_CARET_LINE_BACK (number, Read-only)\n ELEMENT_SELECTION_ADDITIONAL_BACK view.ELEMENT_SELECTION_ADDITIONAL_BACK (number, Read-only)\n ELEMENT_SELECTION_ADDITIONAL_TEXT view.ELEMENT_SELECTION_ADDITIONAL_TEXT (number, Read-only)\n ELEMENT_SELECTION_BACK view.ELEMENT_SELECTION_BACK (number, Read-only)\n ELEMENT_SELECTION_INACTIVE_BACK view.ELEMENT_SELECTION_INACTIVE_BACK (number, Read-only)\n ELEMENT_SELECTION_INACTIVE_TEXT view.ELEMENT_SELECTION_INACTIVE_TEXT (number, Read-only)\n ELEMENT_SELECTION_SECONDARY_BACK view.ELEMENT_SELECTION_SECONDARY_BACK (number, Read-only)\n ELEMENT_SELECTION_SECONDARY_TEXT view.ELEMENT_SELECTION_SECONDARY_TEXT (number, Read-only)\n ELEMENT_SELECTION_TEXT view.ELEMENT_SELECTION_TEXT (number, Read-only)\n ELEMENT_WHITE_SPACE view.ELEMENT_WHITE_SPACE (number, Read-only)\n ELEMENT_WHITE_SPACE_BACK view.ELEMENT_WHITE_SPACE_BACK (number, Read-only)\n EOL_CR buffer.EOL_CR (number, Read-only)\n EOL_CRLF buffer.EOL_CRLF (number, Read-only)\n EOL_LF buffer.EOL_LF (number, Read-only)\n ERROR events.ERROR (string)\nEmitted when an error occurs.\nArguments:\n\n* _`text`_: The error message text. ERROR lexer.ERROR (string)\nThe token name for error tokens. FILE_AFTER_SAVE events.FILE_AFTER_SAVE (string)\nEmitted right after saving a file to disk.\nEmitted by `buffer:save()` and `buffer:save_as()`.\nArguments:\n\n* _`filename`_: The filename of the file being saved.\n* _`saved_as`_: Whether or not the file was saved under a different filename. FILE_BEFORE_SAVE events.FILE_BEFORE_SAVE (string)\nEmitted right before saving a file to disk.\nEmitted by `buffer:save()`.\nArguments:\n\n* _`filename`_: The filename of the file being saved. FILE_CHANGED events.FILE_CHANGED (string)\nEmitted when Textadept detects that an open file was modified externally.\nWhen connecting to this event, connect with an index of 1 in order to override the default\nprompt to reload the file.\nArguments:\n\n* _`filename`_: The filename externally modified. FILE_OPENED events.FILE_OPENED (string)\nEmitted after opening a file in a new buffer.\nEmitted by `io.open_file()`.\nArguments:\n\n* _`filename`_: The opened file's filename. FIND events.FIND (string)\nEmitted to find text via the Find & Replace Pane.\nArguments:\n\n* _`text`_: The text to search for.\n* _`next`_: Whether or not to search forward. FIND_MATCHCASE buffer.FIND_MATCHCASE (number, Read-only)\n FIND_REGEXP buffer.FIND_REGEXP (number, Read-only)\n FIND_RESULT_FOUND events.FIND_RESULT_FOUND (string)\nEmitted when a result is found. It is selected and has been scrolled into view.\nArguments:\n\n* _`find_text`_: The text originally searched for. FIND_TEXT_CHANGED events.FIND_TEXT_CHANGED (string)\nEmitted when the text in the "Find" field of the Find & Replace Pane changes.\n`ui.find.find_entry_text` contains the current text. FIND_WHOLEWORD buffer.FIND_WHOLEWORD (number, Read-only)\n FIND_WORDSTART buffer.FIND_WORDSTART (number, Read-only)\n FIND_WRAPPED events.FIND_WRAPPED (string)\nEmitted when a text search wraps (passes through the beginning of the buffer), either\nfrom bottom to top (when searching for a next occurrence), or from top to bottom (when\nsearching for a previous occurrence).\nThis is useful for implementing a more visual or audible notice when a search wraps in\naddition to the statusbar message. FOCUS events.FOCUS (string)\nEmitted when Textadept receives focus.\nThis event is never emitted when Textadept is running in the terminal. FOLDACTION_CONTRACT view.FOLDACTION_CONTRACT (number, Read-only)\n FOLDACTION_EXPAND view.FOLDACTION_EXPAND (number, Read-only)\n FOLDACTION_TOGGLE view.FOLDACTION_TOGGLE (number, Read-only)\n FOLDDISPLAYTEXT_BOXED view.FOLDDISPLAYTEXT_BOXED (number, Read-only)\n FOLDDISPLAYTEXT_HIDDEN view.FOLDDISPLAYTEXT_HIDDEN (number, Read-only)\n FOLDDISPLAYTEXT_STANDARD view.FOLDDISPLAYTEXT_STANDARD (number, Read-only)\n FOLDFLAG_LEVELNUMBERS view.FOLDFLAG_LEVELNUMBERS (number, Read-only)\n FOLDFLAG_LINEAFTER_CONTRACTED view.FOLDFLAG_LINEAFTER_CONTRACTED (number, Read-only)\n FOLDFLAG_LINEAFTER_EXPANDED view.FOLDFLAG_LINEAFTER_EXPANDED (number, Read-only)\n FOLDFLAG_LINEBEFORE_CONTRACTED view.FOLDFLAG_LINEBEFORE_CONTRACTED (number, Read-only)\n FOLDFLAG_LINEBEFORE_EXPANDED view.FOLDFLAG_LINEBEFORE_EXPANDED (number, Read-only)\n FOLDFLAG_LINESTATE view.FOLDFLAG_LINESTATE (number, Read-only)\n FOLDLEVELBASE buffer.FOLDLEVELBASE (number, Read-only)\n FOLDLEVELHEADERFLAG buffer.FOLDLEVELHEADERFLAG (number, Read-only)\n FOLDLEVELNUMBERMASK buffer.FOLDLEVELNUMBERMASK (number, Read-only)\n FOLDLEVELWHITEFLAG buffer.FOLDLEVELWHITEFLAG (number, Read-only)\n FOLD_BASE lexer.FOLD_BASE (number)\nThe initial (root) fold level. FOLD_BLANK lexer.FOLD_BLANK (number)\nFlag indicating that the line is blank. FOLD_HEADER lexer.FOLD_HEADER (number)\nFlag indicating the line is fold point. FUNCTION lexer.FUNCTION (string)\nThe token name for function tokens. IDENTIFIER lexer.IDENTIFIER (string)\nThe token name for identifier tokens. INDICATOR_CLICK events.INDICATOR_CLICK (string)\nEmitted when clicking the mouse on text that has an indicator present.\nArguments:\n\n* _`position`_: The clicked text's position.\n* _`modifiers`_: A bit-mask of any modifier keys held down: `view.MOD_CTRL`,\n `view.MOD_SHIFT`, `view.MOD_ALT`, and `view.MOD_META`. On macOS, the Command modifier\n key is reported as `view.MOD_CTRL` and Ctrl is `view.MOD_META`. Note: If you set\n `view.rectangular_selection_modifier` to `view.MOD_CTRL`, the "Control" modifier is\n reported as *both* "Control" and "Alt" due to a Scintilla limitation with GTK. INDICATOR_MAX buffer.INDICATOR_MAX (number, Read-only)\n INDICATOR_RELEASE events.INDICATOR_RELEASE (string)\nEmitted when releasing the mouse after clicking on text that has an indicator present.\nArguments:\n\n* _`position`_: The clicked text's position.\n* _`modifiers`_: A bit-mask of any modifier keys held down: `view.MOD_CTRL`,\n `view.MOD_SHIFT`, `view.MOD_ALT`, and `view.MOD_META`. On macOS, the Command modifier\n key is reported as `view.MOD_CTRL` and Ctrl is `view.MOD_META`. Note: If you set\n `view.rectangular_selection_modifier` to `view.MOD_CTRL`, the "Control" modifier is\n reported as *both* "Control" and "Alt" due to a Scintilla limitation with GTK. INDIC_BOX view.INDIC_BOX (number, Read-only)\n INDIC_BRACEMATCH textadept.editing.INDIC_BRACEMATCH (number)\nThe matching brace highlight indicator number. INDIC_COMPOSITIONTHICK view.INDIC_COMPOSITIONTHICK (number, Read-only)\n INDIC_COMPOSITIONTHIN view.INDIC_COMPOSITIONTHIN (number, Read-only)\n INDIC_DASH view.INDIC_DASH (number, Read-only)\n INDIC_DIAGONAL view.INDIC_DIAGONAL (number, Read-only)\n INDIC_DOTBOX view.INDIC_DOTBOX (number, Read-only)\n INDIC_DOTS view.INDIC_DOTS (number, Read-only)\n INDIC_FIND ui.find.INDIC_FIND (number)\nThe find results highlight indicator number. INDIC_FULLBOX view.INDIC_FULLBOX (number, Read-only)\n INDIC_GRADIENT view.INDIC_GRADIENT (number, Read-only)\n INDIC_GRADIENTCENTER view.INDIC_GRADIENTCENTER (number, Read-only)\n INDIC_HIDDEN view.INDIC_HIDDEN (number, Read-only)\n INDIC_HIGHLIGHT textadept.editing.INDIC_HIGHLIGHT (number)\nThe word highlight indicator number. INDIC_PLACEHOLDER textadept.snippets.INDIC_PLACEHOLDER (number)\nThe snippet placeholder indicator number. INDIC_PLAIN view.INDIC_PLAIN (number, Read-only)\n INDIC_POINT view.INDIC_POINT (number, Read-only)\n INDIC_POINTCHARACTER view.INDIC_POINTCHARACTER (number, Read-only)\n INDIC_ROUNDBOX view.INDIC_ROUNDBOX (number, Read-only)\n INDIC_SQUIGGLE view.INDIC_SQUIGGLE (number, Read-only)\n INDIC_SQUIGGLELOW view.INDIC_SQUIGGLELOW (number, Read-only)\n INDIC_SQUIGGLEPIXMAP view.INDIC_SQUIGGLEPIXMAP (number, Read-only)\n INDIC_STRAIGHTBOX view.INDIC_STRAIGHTBOX (number, Read-only)\n INDIC_STRIKE view.INDIC_STRIKE (number, Read-only)\n INDIC_TEXTFORE view.INDIC_TEXTFORE (number, Read-only)\n INDIC_TT view.INDIC_TT (number, Read-only)\n INITIALIZED events.INITIALIZED (string)\nEmitted after Textadept finishes initializing. IV_LOOKBOTH view.IV_LOOKBOTH (number, Read-only)\n IV_LOOKFORWARD view.IV_LOOKFORWARD (number, Read-only)\n IV_NONE view.IV_NONE (number, Read-only)\n IV_REAL view.IV_REAL (number, Read-only)\n KEYPRESS events.KEYPRESS (string)\nEmitted when pressing a key.\nIf any handler returns `true`, the key is not inserted into the buffer.\nArguments:\n\n* _`code`_: The numeric key code.\n* _`shift`_: The "Shift" modifier key is held down.\n* _`ctrl`_: The "Control" modifier key is held down.\n* _`alt`_: The "Alt"/"Option" modifier key is held down.\n* _`cmd`_: The "Command" modifier key on macOS is held down.\n* _`caps_lock`_: The "Caps Lock" modifier is on. KEYSYMS keys.KEYSYMS (table)\nLookup table for string representations of key codes higher than 255.\nKey codes can be identified by temporarily uncommenting the `print()` statements in\n*core/keys.lua*.\nRecognized codes are: esc, \b, \t, \\n, down, up, left, right, home, end, pgup, pgdn, del,\nins, and f1-f12.\nThe GUI version also recognizes: kpenter, kphome, kpend, kpleft, kpup, kpright, kpdown,\nkppgup, kppgdn, kpmul, kpadd, kpsub, kpdiv, kpdec, and kp0-kp9. KEYWORD lexer.KEYWORD (string)\nThe token name for keyword tokens. LABEL lexer.LABEL (string)\nThe token name for label tokens. LEXER_LOADED events.LEXER_LOADED (string)\nEmitted after loading a language lexer.\nThis is useful for overriding a language module's key bindings or other properties since\nthe module is not loaded when Textadept starts.\nArguments:\n\n* _`name`_: The language lexer's name. LINUX _G.LINUX (bool)\nWhether or not Textadept is running on Linux. MARGINOPTION_NONE view.MARGINOPTION_NONE (number, Read-only)\n MARGINOPTION_SUBLINESELECT view.MARGINOPTION_SUBLINESELECT (number, Read-only)\n MARGIN_BACK view.MARGIN_BACK (number, Read-only)\n MARGIN_CLICK events.MARGIN_CLICK (string)\nEmitted when clicking the mouse inside a sensitive margin.\nArguments:\n\n* _`margin`_: The margin number clicked.\n* _`position`_: The beginning position of the clicked margin's line.\n* _`modifiers`_: A bit-mask of any modifier keys held down: `view.MOD_CTRL`,\n `view.MOD_SHIFT`, `view.MOD_ALT`, and `view.MOD_META`. On macOS, the Command modifier\n key is reported as `view.MOD_CTRL` and Ctrl is `view.MOD_META`. Note: If you set\n `view.rectangular_selection_modifier` to `view.MOD_CTRL`, the "Control" modifier is\n reported as *both* "Control" and "Alt" due to a Scintilla limitation with GTK. MARGIN_COLOR view.MARGIN_COLOR (number, Read-only)\n MARGIN_FORE view.MARGIN_FORE (number, Read-only)\n MARGIN_NUMBER view.MARGIN_NUMBER (number, Read-only)\n MARGIN_RTEXT view.MARGIN_RTEXT (number, Read-only)\n MARGIN_SYMBOL view.MARGIN_SYMBOL (number, Read-only)\n MARGIN_TEXT view.MARGIN_TEXT (number, Read-only)\n MARKER_MAX buffer.MARKER_MAX (number, Read-only)\n MARKNUM_FOLDER buffer.MARKNUM_FOLDER (number, Read-only)\n MARKNUM_FOLDEREND buffer.MARKNUM_FOLDEREND (number, Read-only)\n MARKNUM_FOLDERMIDTAIL buffer.MARKNUM_FOLDERMIDTAIL (number, Read-only)\n MARKNUM_FOLDEROPEN buffer.MARKNUM_FOLDEROPEN (number, Read-only)\n MARKNUM_FOLDEROPENMID buffer.MARKNUM_FOLDEROPENMID (number, Read-only)\n MARKNUM_FOLDERSUB buffer.MARKNUM_FOLDERSUB (number, Read-only)\n MARKNUM_FOLDERTAIL buffer.MARKNUM_FOLDERTAIL (number, Read-only)\n MARK_ARROW view.MARK_ARROW (number, Read-only)\n MARK_ARROWDOWN view.MARK_ARROWDOWN (number, Read-only)\n MARK_ARROWS view.MARK_ARROWS (number, Read-only)\n MARK_AVAILABLE buffer.MARK_AVAILABLE (number, Read-only)\n MARK_BACKGROUND view.MARK_BACKGROUND (number, Read-only)\n MARK_BOOKMARK textadept.bookmarks.MARK_BOOKMARK (number)\nThe bookmark mark number. MARK_BOOKMARK view.MARK_BOOKMARK (number, Read-only)\n MARK_BOXMINUS view.MARK_BOXMINUS (number, Read-only)\n MARK_BOXMINUSCONNECTED view.MARK_BOXMINUSCONNECTED (number, Read-only)\n MARK_BOXPLUS view.MARK_BOXPLUS (number, Read-only)\n MARK_BOXPLUSCONNECTED view.MARK_BOXPLUSCONNECTED (number, Read-only)\n MARK_CHARACTER view.MARK_CHARACTER (number, Read-only)\n MARK_CIRCLE view.MARK_CIRCLE (number, Read-only)\n MARK_CIRCLEMINUS view.MARK_CIRCLEMINUS (number, Read-only)\n MARK_CIRCLEMINUSCONNECTED view.MARK_CIRCLEMINUSCONNECTED (number, Read-only)\n MARK_CIRCLEPLUS view.MARK_CIRCLEPLUS (number, Read-only)\n MARK_CIRCLEPLUSCONNECTED view.MARK_CIRCLEPLUSCONNECTED (number, Read-only)\n MARK_DOTDOTDOT view.MARK_DOTDOTDOT (number, Read-only)\n MARK_EMPTY view.MARK_EMPTY (number, Read-only)\n MARK_ERROR textadept.run.MARK_ERROR (number)\nThe run or compile error marker number. MARK_FULLRECT view.MARK_FULLRECT (number, Read-only)\n MARK_LCORNER view.MARK_LCORNER (number, Read-only)\n MARK_LCORNERCURVE view.MARK_LCORNERCURVE (number, Read-only)\n MARK_LEFTRECT view.MARK_LEFTRECT (number, Read-only)\n MARK_MINUS view.MARK_MINUS (number, Read-only)\n MARK_PIXMAP view.MARK_PIXMAP (number, Read-only)\n MARK_PLUS view.MARK_PLUS (number, Read-only)\n MARK_RGBAIMAGE view.MARK_RGBAIMAGE (number, Read-only)\n MARK_ROUNDRECT view.MARK_ROUNDRECT (number, Read-only)\n MARK_SHORTARROW view.MARK_SHORTARROW (number, Read-only)\n MARK_SMALLRECT view.MARK_SMALLRECT (number, Read-only)\n MARK_TCORNER view.MARK_TCORNER (number, Read-only)\n MARK_TCORNERCURVE view.MARK_TCORNERCURVE (number, Read-only)\n MARK_UNDERLINE view.MARK_UNDERLINE (number, Read-only)\n MARK_VERTICALBOOKMARK view.MARK_VERTICALBOOKMARK (number, Read-only)\n MARK_VLINE view.MARK_VLINE (number, Read-only)\n MARK_WARNING textadept.run.MARK_WARNING (number)\nThe run or compile warning marker number. MASK_FOLDERS view.MASK_FOLDERS (number, Read-only)\n MENU_CLICKED events.MENU_CLICKED (string)\nEmitted after selecting a menu item.\nArguments:\n\n* _`menu_id`_: The numeric ID of the menu item, which was defined in `ui.menu()`. METHOD textadept.editing.XPM_IMAGES.METHOD (table)\nThe image number for methods. MOD_ALT view.MOD_ALT (number, Read-only)\n MOD_CTRL view.MOD_CTRL (number, Read-only)\n MOD_META view.MOD_META (number, Read-only)\n MOD_SHIFT view.MOD_SHIFT (number, Read-only)\n MOD_SUPER view.MOD_SUPER (number, Read-only)\n MOUSE events.MOUSE (string)\nEmitted by the terminal version for an unhandled mouse event.\nA handler should return `true` if it handled the event. Otherwise Textadept will try again.\n(This side effect for a `false` or `nil` return is useful for sending the original mouse\nevent to a different view that a handler has switched to.)\nArguments:\n\n* _`event`_: The mouse event: `view.MOUSE_PRESS`, `view.MOUSE_DRAG`, or `view.MOUSE_RELEASE`.\n* _`button`_: The mouse button number.\n* _`y`_: The y-coordinate of the mouse event, starting from 1.\n* _`x`_: The x-coordinate of the mouse event, starting from 1.\n* _`shift`_: The "Shift" modifier key is held down.\n* _`ctrl`_: The "Control" modifier key is held down.\n* _`alt`_: The "Alt"/"Option" modifier key is held down. MOUSE_DRAG view.MOUSE_DRAG (number, Read-only)\n MOUSE_PRESS view.MOUSE_PRESS (number, Read-only)\n MOUSE_RELEASE view.MOUSE_RELEASE (number, Read-only)\n MULTIAUTOC_EACH buffer.MULTIAUTOC_EACH (number, Read-only)\n MULTIAUTOC_ONCE buffer.MULTIAUTOC_ONCE (number, Read-only)\n MULTIPASTE_EACH buffer.MULTIPASTE_EACH (number, Read-only)\n MULTIPASTE_ONCE buffer.MULTIPASTE_ONCE (number, Read-only)\n NAMESPACE textadept.editing.XPM_IMAGES.NAMESPACE (table)\nThe image number for namespaces. NUMBER lexer.NUMBER (string)\nThe token name for number tokens. OPERATOR lexer.OPERATOR (string)\nThe token name for operator tokens. ORDER_CUSTOM buffer.ORDER_CUSTOM (number, Read-only)\n ORDER_PERFORMSORT buffer.ORDER_PERFORMSORT (number, Read-only)\n ORDER_PRESORTED buffer.ORDER_PRESORTED (number, Read-only)\n OSX _G.OSX (bool)\nWhether or not Textadept is running on macOS as a GUI application. PREPROCESSOR lexer.PREPROCESSOR (string)\nThe token name for preprocessor tokens. QUIT events.QUIT (string)\nEmitted when quitting Textadept.\nWhen connecting to this event, connect with an index of 1 if the handler needs to run\nbefore Textadept closes all open buffers. If a handler returns `true`, Textadept does not\nquit. It is not recommended to return `false` from a quit handler, as that may interfere\nwith Textadept's normal shutdown procedure.\nEmitted by `quit()`. REGEX lexer.REGEX (string)\nThe token name for regex tokens. REPLACE events.REPLACE (string)\nEmitted to replace selected (found) text.\nArguments:\n\n* _`text`_: The replacement text. REPLACE_ALL events.REPLACE_ALL (string)\nEmitted to replace all occurrences of found text.\nArguments:\n\n* _`find_text`_: The text to search for.\n* _`repl_text`_: The replacement text. RESET_AFTER events.RESET_AFTER (string)\nEmitted after resetting Textadept's Lua state.\nEmitted by `reset()`.\nArguments:\n\n* _`persist`_: Table of data persisted by `events.RESET_BEFORE`. All handlers will have\n access to this same table. RESET_BEFORE events.RESET_BEFORE (string)\nEmitted before resetting Textadept's Lua state.\nEmitted by `reset()`.\nArguments:\n\n* _`persist`_: Table to store persistent data in for use by `events.RESET_AFTER`. All\n handlers will have access to this same table. RESUME events.RESUME (string)\nEmitted when resuming Textadept from a suspended state.\nThis event is only emitted by the terminal version. RUN_OUTPUT events.RUN_OUTPUT (string)\nEmitted when executing a language's run shell command.\nBy default, output is printed to the message buffer. In order to override this behavior,\nconnect to the event with an index of `1` and return `true`.\nArguments:\n\n* `output`: A line of string output from the command.\n* `ext_or_lexer`: The file extension or lexer name associated with the executed run command. SAVE_POINT_LEFT events.SAVE_POINT_LEFT (string)\nEmitted after leaving a save point. SAVE_POINT_REACHED events.SAVE_POINT_REACHED (string)\nEmitted after reaching a save point. SEL_LINES buffer.SEL_LINES (number, Read-only)\n SEL_RECTANGLE buffer.SEL_RECTANGLE (number, Read-only)\n SEL_STREAM buffer.SEL_STREAM (number, Read-only)\n SEL_THIN buffer.SEL_THIN (number, Read-only)\n SESSION_LOAD events.SESSION_LOAD (string)\nEmitted when loading a session.\nArguments:\n\n* `session`: Table of session data to load. All handlers will have access to this same table. SESSION_SAVE events.SESSION_SAVE (string)\nEmitted when saving a session.\nArguments:\n\n* `session`: Table of session data to save. All handlers will have access to this same\n table, and Textadept's default handler reserves the use of some keys.\n Note that functions, userdata, and circular table values cannot be saved. The latter\n case is not recognized at all, so beware. SHOW_ALL_TABS ui.SHOW_ALL_TABS (number)\n SIGNAL textadept.editing.XPM_IMAGES.SIGNAL (table)\nThe image number for signals. SLOT textadept.editing.XPM_IMAGES.SLOT (table)\nThe image number for slots. STRING lexer.STRING (string)\nThe token name for string tokens. STRUCT textadept.editing.XPM_IMAGES.STRUCT (table)\nThe image number for structures. STYLE_BRACEBAD view.STYLE_BRACEBAD (number, Read-only)\n STYLE_BRACELIGHT view.STYLE_BRACELIGHT (number, Read-only)\n STYLE_CALLTIP view.STYLE_CALLTIP (number, Read-only)\n STYLE_CONTROLCHAR view.STYLE_CONTROLCHAR (number, Read-only)\n STYLE_DEFAULT view.STYLE_DEFAULT (number, Read-only)\n STYLE_FOLDDISPLAYTEXT view.STYLE_FOLDDISPLAYTEXT (number, Read-only)\n STYLE_INDENTGUIDE view.STYLE_INDENTGUIDE (number, Read-only)\n STYLE_LINENUMBER view.STYLE_LINENUMBER (number, Read-only)\n STYLE_MAX view.STYLE_MAX (number, Read-only)\n SUSPEND events.SUSPEND (string)\nEmitted when suspending Textadept. If any handler returns `true`, Textadept does not suspend.\nThis event is only emitted by the terminal version. TAB_CLICKED events.TAB_CLICKED (string)\nEmitted when the user clicks on a buffer tab.\nWhen connecting to this event, connect with an index of 1 if the handler needs to run\nbefore Textadept switches between buffers.\nNote that Textadept always displays a context menu on right-click.\nArguments:\n\n* _`index`_: The numeric index of the clicked tab.\n* _`button`_: The mouse button number that was clicked, either `1` (left button), `2`\n (middle button), `3` (right button), `4` (wheel up), or `5` (wheel down).\n* _`shift`_: The "Shift" modifier key is held down.\n* _`ctrl`_: The "Control" modifier key is held down.\n* _`alt`_: The "Alt"/"Option" modifier key is held down.\n* _`cmd`_: The "Command" modifier key on macOS is held down. TD_LONGARROW view.TD_LONGARROW (number, Read-only)\n TD_STRIKEOUT view.TD_STRIKEOUT (number, Read-only)\n TEST_OUTPUT events.TEST_OUTPUT (string)\nEmitted when executing a project's shell command for running tests.\nBy default, output is printed to the message buffer. In order to override this behavior,\nconnect to the event with an index of `1` and return `true`.\nArguments:\n\n* `output`: A line of string output from the command. TIME_FOREVER view.TIME_FOREVER (number, Read-only)\n TYPE lexer.TYPE (string)\nThe token name for type tokens. TYPEDEF textadept.editing.XPM_IMAGES.TYPEDEF (table)\nThe image number for type definitions. UNFOCUS events.UNFOCUS (string)\nEmitted when Textadept loses focus.\nThis event is never emitted when Textadept is running in the terminal. UPDATE_CONTENT buffer.UPDATE_CONTENT (number, Read-only)\n UPDATE_H_SCROLL view.UPDATE_H_SCROLL (number, Read-only)\n UPDATE_NONE view.UPDATE_NONE (number, Read-only)\n UPDATE_SELECTION buffer.UPDATE_SELECTION (number, Read-only)\n UPDATE_UI events.UPDATE_UI (string)\nEmitted after the view is visually updated.\nArguments:\n\n* _`updated`_: A bitmask of changes since the last update.\n\n + `buffer.UPDATE_CONTENT`\n Buffer contents, styling, or markers have changed.\n + `buffer.UPDATE_SELECTION`\n Buffer selection has changed (including caret movement).\n + `view.UPDATE_V_SCROLL`\n Buffer has scrolled vertically.\n + `view.UPDATE_H_SCROLL`\n Buffer has scrolled horizontally. UPDATE_V_SCROLL view.UPDATE_V_SCROLL (number, Read-only)\n URI_DROPPED events.URI_DROPPED (string)\nEmitted after dragging and dropping a URI into a view.\nArguments:\n\n* _`text`_: The UTF-8-encoded URI dropped. USER_LIST_SELECTION events.USER_LIST_SELECTION (string)\nEmitted after selecting an item in a user list.\nArguments:\n\n* _`id`_: The *id* from `buffer.user_list_show()`.\n* _`text`_: The selection's text.\n* _`position`_: The position the list was displayed at. VARIABLE lexer.VARIABLE (string)\nThe token name for variable tokens. VARIABLE textadept.editing.XPM_IMAGES.VARIABLE (table)\nThe image number for variables. VIEW_AFTER_SWITCH events.VIEW_AFTER_SWITCH (string)\nEmitted right after switching to another view.\nThe view being switched to is `view`.\nEmitted by `ui.goto_view()`. VIEW_BEFORE_SWITCH events.VIEW_BEFORE_SWITCH (string)\nEmitted right before switching to another view.\nThe view being switched from is `view`.\nEmitted by `ui.goto_view()`. VIEW_NEW events.VIEW_NEW (string)\nEmitted after creating a new view.\nThe new view is `view`.\nEmitted on startup and by `view.split()`. VISIBLE_SLOP view.VISIBLE_SLOP (number, Read-only)\n VISIBLE_STRICT view.VISIBLE_STRICT (number, Read-only)\n VS_NONE buffer.VS_NONE (number, Read-only)\n VS_RECTANGULARSELECTION buffer.VS_RECTANGULARSELECTION (number, Read-only)\n VS_USERACCESSIBLE buffer.VS_USERACCESSIBLE (number, Read-only)\n WHITESPACE lexer.WHITESPACE (string)\nThe token name for whitespace tokens. WIN32 _G.WIN32 (bool)\nWhether or not Textadept is running on Windows. WRAPINDENT_DEEPINDENT view.WRAPINDENT_DEEPINDENT (number, Read-only)\n WRAPINDENT_FIXED view.WRAPINDENT_FIXED (number, Read-only)\n WRAPINDENT_INDENT view.WRAPINDENT_INDENT (number, Read-only)\n WRAPINDENT_SAME view.WRAPINDENT_SAME (number, Read-only)\n WRAPVISUALFLAGLOC_DEFAULT view.WRAPVISUALFLAGLOC_DEFAULT (number, Read-only)\n WRAPVISUALFLAGLOC_END_BY_TEXT view.WRAPVISUALFLAGLOC_END_BY_TEXT (number, Read-only)\n WRAPVISUALFLAGLOC_START_BY_TEXT view.WRAPVISUALFLAGLOC_START_BY_TEXT (number, Read-only)\n WRAPVISUALFLAG_END view.WRAPVISUALFLAG_END (number, Read-only)\n WRAPVISUALFLAG_MARGIN view.WRAPVISUALFLAG_MARGIN (number, Read-only)\n WRAPVISUALFLAG_NONE view.WRAPVISUALFLAG_NONE (number, Read-only)\n WRAPVISUALFLAG_START view.WRAPVISUALFLAG_START (number, Read-only)\n WRAP_CHAR view.WRAP_CHAR (number, Read-only)\n WRAP_NONE view.WRAP_NONE (number, Read-only)\n WRAP_WHITESPACE view.WRAP_WHITESPACE (number, Read-only)\n WRAP_WORD view.WRAP_WORD (number, Read-only)\n WS_INVISIBLE view.WS_INVISIBLE (number, Read-only)\n WS_VISIBLEAFTERINDENT view.WS_VISIBLEAFTERINDENT (number, Read-only)\n WS_VISIBLEALWAYS view.WS_VISIBLEALWAYS (number, Read-only)\n WS_VISIBLEONLYININDENT view.WS_VISIBLEONLYININDENT (number, Read-only)\n XPM_IMAGES textadept.editing.XPM_IMAGES (table)\nMap of image names to registered image numbers. ZOOM events.ZOOM (string)\nEmitted after changing `view.zoom`.\nEmitted by `view.zoom_in()` and `view.zoom_out()`. _BUFFERS _G._BUFFERS (table)\nTable of all open buffers in Textadept.\nNumeric keys have buffer values and buffer keys have their associated numeric keys.\n@see _G.buffer _CHARSET _G._CHARSET (string)\nThe filesystem's character encoding.\nThis is used when working with files. _G _G._G (module)\nExtends Lua's _G table to provide extra functions and fields for Textadept. _HOME _G._HOME (string)\nThe path to Textadept's home, or installation, directory. _L _G._L (module)\nMap of all messages used by Textadept to their localized form.\nIf the table does not contain the localized version of a given message, it returns a string\nthat starts with "No Localization:" via a metamethod.\nNote: the terminal version ignores any "_" mnemonics the GUI version would use. _M _G._M (module)\nA table of loaded Textadept language modules.\n\nLanguage modules are a special kind of module that Textadept automatically loads when editing\nsource code in a particular programming language. The only thing "special" about them is they\nare named after a lexer. Otherwise they are plain Lua modules. The *~/.textadept/modules/*\ndirectory houses language modules (along with other modules).\n\nA language module is designed to provide extra functionality for a single programming\nlanguage. Some examples of what language modules can do:\n\n * Specify block comment syntax for lines of code\n * Define compile and run commands for source files\n * Set language-specific editor properties like indentation rules\n * Specify code autocompletion routines\n * Declare snippets\n * Define commands and key bindings for them\n * Add to the top-level menu or right-click editor context menu\n\nExamples of these features are described in the sections below. _RELEASE _G._RELEASE (string)\nThe Textadept release version string. _SCINTILLA _G._SCINTILLA (module)\nScintilla constants, functions, and properties.\nDo not modify anything in this module. Doing so will have unpredictable consequences. _USERHOME _G._USERHOME (string)\nThe path to the user's *~/.textadept/* directory, where all preferences and user-data\nis stored.\nOn Windows machines *~/* is the value of the "USERHOME" environment variable (typically\n*C:\Users\username\\* or *C:\Documents and Settings\username\\*). On Linux, BSD, and macOS\nmachines *~/* is the value of "$HOME" (typically */home/username/* and */Users/username/*\nrespectively). _VIEWS _G._VIEWS (table)\nTable of all views in Textadept.\nNumeric keys have view values and view keys have their associated numeric keys.\n@see _G.view _print ui._print(buffer_type, ...)\nPrints the given string messages to the buffer of string type *buffer_type*.\nOpens a new buffer for printing messages to if necessary. If the message buffer is already\nopen in a view, the message is printed to that view. Otherwise the view is split (unless\n`ui.tabs` is `true`) and the message buffer is displayed before being printed to.\n@param buffer_type String type of message buffer.\n@param ... Message strings.\n@usage ui._print(_L['[Message Buffer]'], message) abspath lfs.abspath(filename, prefix)\nReturns the absolute path to string *filename*.\n*prefix* or `lfs.currentdir()` is prepended to a relative filename. The returned path is\nnot guaranteed to exist.\n@param filename The relative or absolute path to a file.\n@param prefix Optional prefix path prepended to a relative filename.\n@return string absolute path active ui.command_entry.active (boolean)\nWhether or not the command entry is active. active ui.find.active (boolean)\nWhether or not the Find & Replace pane is active. add_fold_point lexer.add_fold_point(lexer, token_name, start_symbol, end_symbol)\nAdds to lexer *lexer* a fold point whose beginning and end tokens are string *token_name*\ntokens with string content *start_symbol* and *end_symbol*, respectively.\nIn the event that *start_symbol* may or may not be a fold point depending on context, and that\nadditional processing is required, *end_symbol* may be a function that ultimately returns\n`1` (indicating a beginning fold point), `-1` (indicating an ending fold point), or `0`\n(indicating no fold point). That function is passed the following arguments:\n\n * `text`: The text being processed for fold points.\n * `pos`: The position in *text* of the beginning of the line currently being processed.\n * `line`: The text of the line currently being processed.\n * `s`: The position of *start_symbol* in *line*.\n * `symbol`: *start_symbol* itself.\n@param lexer The lexer to add a fold point to.\n@param token_name The token name of text that indicates a fold point.\n@param start_symbol The text that indicates the beginning of a fold point.\n@param end_symbol Either the text that indicates the end of a fold point, or a function that\n returns whether or not *start_symbol* is a beginning fold point (1), an ending fold point\n (-1), or not a fold point at all (0).\n@usage lex:add_fold_point(lexer.OPERATOR, '{', '}')\n@usage lex:add_fold_point(lexer.KEYWORD, 'if', 'end')\n@usage lex:add_fold_point(lexer.COMMENT, lexer.fold_consecutive_lines('#'))\n@usage lex:add_fold_point('custom', function(text, pos, line, s, symbol) ... end) add_rule lexer.add_rule(lexer, id, rule)\nAdds pattern *rule* identified by string *id* to the ordered list of rules for lexer *lexer*.\n@param lexer The lexer to add the given rule to.\n@param id The id associated with this rule. It does not have to be the same as the name\n passed to `token()`.\n@param rule The LPeg pattern of the rule.\n@see modify_rule add_selection buffer.add_selection(buffer, end_pos, start_pos)\nSelects the range of text between positions *start_pos* to *end_pos* as the main selection,\nretaining all other selections as additional selections.\nSince an empty selection (i.e. the current position) still counts as a selection, use\n`buffer.set_selection()` first when setting a list of selections.\n@param buffer A buffer.\n@param end_pos The caret position of the range of text to select in *buffer*.\n@param start_pos The anchor position of the range of text to select in *buffer*.\n@see set_selection add_style lexer.add_style(lexer, token_name, style)\nAssociates string *token_name* in lexer *lexer* with style table *style*.\n*style* may have the following fields:\n\n* `font`: String font name.\n* `size`: Integer font size.\n* `bold`: Whether or not the font face is bold. The default value is `false`.\n* `weight`: Integer weight or boldness of a font, between 1 and 999.\n* `italics`: Whether or not the font face is italic. The default value is `false`.\n* `underlined`: Whether or not the font face is underlined. The default value is `false`.\n* `fore`: Font face foreground color in `0xBBGGRR` or `"#RRGGBB"` format.\n* `back`: Font face background color in `0xBBGGRR` or `"#RRGGBB"` format.\n* `eolfilled`: Whether or not the background color extends to the end of the line. The\n default value is `false`.\n* `case`: Font case, `'u'` for upper, `'l'` for lower, and `'m'` for normal, mixed case. The\n default value is `'m'`.\n* `visible`: Whether or not the text is visible. The default value is `true`.\n* `changeable`: Whether the text is changeable instead of read-only. The default value is\n `true`.\n\nField values may also contain "$(property.name)" expansions for properties defined in Scintilla,\ntheme files, etc.\n@param lexer The lexer to add a style to.\n@param token_name The name of the token to associated with the style.\n@param style A style string for Scintilla.\n@usage lex:add_style('longstring', lexer.styles.string)\n@usage lex:add_style('deprecated_func', lexer.styles['function'] .. {italics = true}\n@usage lex:add_style('visible_ws', lexer.styles.whitespace .. {back = lexer.colors.grey} add_text buffer.add_text(buffer, text)\nAdds string *text* to the buffer at the caret position and moves the caret to the end of\nthe added text without scrolling it into view.\n@param buffer A buffer.\n@param text The text to add. additional_carets_blink view.additional_carets_blink (bool)\nAllow additional carets to blink.\nThe default value is `true`. additional_carets_visible view.additional_carets_visible (bool)\nDisplay additional carets.\nThe default value is `true`. additional_selection_typing buffer.additional_selection_typing (bool)\nType into multiple selections.\nThe default value is `false`. all_lines_visible view.all_lines_visible (bool, Read-only)\nWhether or not all lines are visible. alnum lexer.alnum (pattern)\nA pattern that matches any alphanumeric character ('A'-'Z', 'a'-'z', '0'-'9'). alpha lexer.alpha (pattern)\nA pattern that matches any alphabetic character ('A'-'Z', 'a'-'z'). anchor buffer.anchor (number)\nThe anchor's position. annotation_clear_all buffer.annotation_clear_all(buffer)\nClears annotations from all lines.\n@param buffer A buffer. annotation_lines buffer.annotation_lines (table, Read-only)\nTable of the number of annotation text lines per line number. annotation_style buffer.annotation_style (table)\nTable of style numbers for annotation text per line number.\nOnly some style attributes are active in annotations: font, size/size_fractional, bold/weight,\nitalics, fore, back, and character_set. annotation_text buffer.annotation_text (table)\nTable of annotation text per line number. annotation_visible view.annotation_visible (number)\nThe annotation visibility mode.\n\n* `view.ANNOTATION_HIDDEN`\n Annotations are invisible.\n* `view.ANNOTATION_STANDARD`\n Draw annotations left-justified with no decoration.\n* `view.ANNOTATION_BOXED`\n Indent annotations to match the annotated text and outline them with a box.\n* `view.ANNOTATION_INDENTED`\n Indent non-decorated annotations to match the annotated text.\n\nThe default value is `view.ANNOTATION_HIDDEN`. ansi_c _M.ansi_c (module)\nThe ansi_c module.\nIt provides utilities for editing C code. any lexer.any (pattern)\nA pattern that matches any single character. api_files textadept.editing.api_files (table)\nMap of lexer names to API documentation file tables.\nFile tables contain API file paths or functions that return such paths. Each line in an\nAPI file consists of a symbol name (not a fully qualified symbol name), a space character,\nand that symbol's documentation. "\\n" represents a newline character.\n@see show_documentation append_history ui.command_entry.append_history(f, text)\nAppends string *text* to the history for command entry mode *f* or the current or most\nrecent mode.\nThis should only be called if `ui.command_entry.run()` is called with a keys table that has a\ncustom binding for the Enter key ('\\n'). Otherwise, history is automatically appended as needed.\n@param f Optional command entry mode to append history to. This is a function passed to\n `ui.command_entry_run()`. If omitted, uses the current or most recent mode.\n@param text String text to append to history. append_text buffer.append_text(buffer, text)\nAppends string *text* to the end of the buffer without modifying any existing selections or\nscrolling the text into view.\n@param buffer A buffer.\n@param text The text to append. arg _G.arg (table)\nTable of command line parameters passed to Textadept.\n@see args args _G.args (module)\nProcesses command line arguments for Textadept. ascii lexer.ascii (pattern)\nA pattern that matches any ASCII character (codes 0 to 127). assert _G.assert (module)\nExtends `_G` with formatted assertions and function argument type checks. assert _G.assert(v, message, ...)\nAsserts that value *v* is not `false` or `nil` and returns *v*, or calls `error()` with\n*message* as the error message, defaulting to "assertion failed!".\nIf *message* is a format string, the remaining arguments are passed to `string.format()`\nand the resulting string becomes the error message.\n@param v Value to assert.\n@param message Optional error message to show on error. The default value is "assertion failed!".\n@param ... If *message* is a format string, these arguments are passed to `string.format()`. assert_type _G.assert_type(v, expected_type, narg)\nAsserts that value *v* has type string *expected_type* and returns *v*, or calls `error()`\nwith an error message that implicates function argument number *narg*.\nThis is intended to be used with API function arguments so users receive more helpful error\nmessages.\n@param v Value to assert the type of.\n@param expected_type String type to assert. It may be a non-letter-delimited list of type\n options.\n@param narg The positional argument number *v* is associated with. This is not required to\n be a number.\n@usage assert_type(filename, 'string/nil', 1)\n@usage assert_type(option.setting, 'number', 'setting') -- implicates key auto_c_active buffer.auto_c_active(buffer)\nReturns whether or not an autocompletion or user list is visible.\n@param buffer A buffer.\n@return bool auto_c_auto_hide buffer.auto_c_auto_hide (bool)\nAutomatically cancel an autocompletion or user list when no entries match typed text.\nThe default value is `true`. auto_c_cancel buffer.auto_c_cancel(buffer)\nCancels the displayed autocompletion or user list.\n@param buffer A buffer. auto_c_cancel_at_start buffer.auto_c_cancel_at_start (bool)\nCancel an autocompletion list when backspacing to a position before where autocompletion\nstarted (instead of before the word being completed).\nThis option has no effect for a user list.\nThe default value is `true`. auto_c_case_insensitive_behavior buffer.auto_c_case_insensitive_behavior (number)\nThe behavior mode for a case insensitive autocompletion or user list when\n`buffer.auto_c_ignore_case` is `true`.\n\n* `buffer.CASEINSENSITIVEBEHAVIOR_RESPECTCASE`\n Prefer to select case-sensitive matches.\n* `buffer.CASEINSENSITIVEBEHAVIOR_IGNORECASE`\n No preference.\n\nThe default value is `buffer.CASEINSENSITIVEBEHAVIOR_RESPECTCASE`. auto_c_choose_single buffer.auto_c_choose_single (bool)\nAutomatically choose the item in a single-item autocompletion list.\nThis option has no effect for a user list.\nThe default value is `false`. auto_c_complete buffer.auto_c_complete(buffer)\nCompletes the current word with the one selected in an autocompletion list.\n@param buffer A buffer. auto_c_current buffer.auto_c_current (number, Read-only)\nThe index of the currently selected item in an autocompletion or user list. auto_c_current_text buffer.auto_c_current_text (string, Read-only)\nThe text of the currently selected item in an autocompletion or user list. auto_c_drop_rest_of_word buffer.auto_c_drop_rest_of_word (bool)\nDelete any word characters immediately to the right of autocompleted text.\nThe default value is `false`. auto_c_fill_ups buffer.auto_c_fill_ups (string, Write-only)\nThe set of characters that choose the currently selected item in an autocompletion or user\nlist when the user types one of them.\nThe default value is `''`. auto_c_ignore_case buffer.auto_c_ignore_case (bool)\nIgnore case when searching an autocompletion or user list for matches.\nThe default value is `false`. auto_c_max_height view.auto_c_max_height (number)\nThe maximum number of items per page to show in autocompletion and user lists.\nThe default value is `5`. auto_c_max_width view.auto_c_max_width (number)\nThe maximum number of characters per item to show in autocompletion and user lists.\nThe default value is `0`, which automatically sizes the width to fit the longest item. auto_c_multi buffer.auto_c_multi (number)\nThe multiple selection autocomplete mode.\n\n* `buffer.MULTIAUTOC_ONCE`\n Autocomplete into only the main selection.\n* `buffer.MULTIAUTOC_EACH`\n Autocomplete into all selections.\n\nThe default value is `buffer.MULTIAUTOC_ONCE`. auto_c_order buffer.auto_c_order (number)\nThe order setting for autocompletion and user lists.\n\n* `buffer.ORDER_PRESORTED`\n Lists passed to `buffer.auto_c_show()` are in sorted, alphabetical order.\n* `buffer.ORDER_PERFORMSORT`\n Sort autocompletion lists passed to `buffer.auto_c_show()`.\n* `buffer.ORDER_CUSTOM`\n Lists passed to `buffer.auto_c_show()` are already in a custom order.\n\nThe default value is `buffer.ORDER_PRESORTED`. auto_c_pos_start buffer.auto_c_pos_start(buffer)\nReturns the position where autocompletion started or where a user list was shown.\n@param buffer A buffer.\n@return number auto_c_select buffer.auto_c_select(buffer, prefix)\nSelects the first item that starts with string *prefix* in an autocompletion or user list,\nusing the case sensitivity setting `buffer.auto_c_ignore_case`.\n@param buffer A buffer.\n@param prefix The item in the list to select. auto_c_separator buffer.auto_c_separator (number)\nThe byte value of the character that separates autocompletion and user list list items.\nThe default value is `32` (' '). auto_c_show buffer.auto_c_show(buffer, len_entered, items)\nDisplays an autocompletion list constructed from string *items* (whose items are delimited by\n`buffer.auto_c_separator` characters) using *len_entered* number of characters behind the\ncaret as the prefix of the word to be autocompleted.\nThe sorted order of *items* (`buffer.auto_c_order`) must have already been defined.\n@param buffer A buffer.\n@param len_entered The number of characters before the caret used to provide the context.\n@param items The sorted string of words to show, separated by `buffer.auto_c_separator`\n characters (initially spaces).\n@see auto_c_separator\n@see auto_c_order auto_c_stops buffer.auto_c_stops(buffer, chars)\nAllows the user to type any character in string set *chars* in order to cancel an autocompletion\nor user list.\nThe default set is empty.\n@param buffer A buffer.\n@param chars The string of characters that cancel autocompletion. This string is empty\n by default. auto_c_type_separator buffer.auto_c_type_separator (number)\nThe character byte that separates autocompletion and user list items and their image types.\nAutocompletion and user list items can display both an image and text. Register images\nand their types using `view.register_image()` or `view.register_rgba_image()`\nbefore appending image types to list items after type separator characters.\nThe default value is 63 ('?'). auto_enclose textadept.editing.auto_enclose (bool)\nWhether or not to auto-enclose selected text when typing a punctuation character, taking\n`textadept.editing.auto_pairs` into account.\nThe default value is `false`. auto_indent textadept.editing.auto_indent (bool)\nMatch the previous line's indentation level after inserting a new line.\nThe default value is `true`. auto_pairs textadept.editing.auto_pairs (table)\nMap of auto-paired characters like parentheses, brackets, braces, and quotes.\nThe ASCII values of opening characters are assigned to strings that contain complement\ncharacters. The default auto-paired characters are "()", "[]", "{}", "''",\n"""", and "``". autocomplete textadept.editing.autocomplete(name)\nDisplays an autocompletion list provided by the autocompleter function associated with string\n*name*, and returns `true` if completions were found.\n@param name The name of an autocompleter function in the `autocompleters` table to use for\n providing autocompletions.\n@see autocompleters autocomplete_all_words textadept.editing.autocomplete_all_words (bool)\nAutocomplete the current word using words from all open buffers.\nIf `true`, performance may be slow when many buffers are open.\nThe default value is `false`. autocomplete_snippets _M.ansi_c.autocomplete_snippets (boolean)\nWhether or not to include snippets in autocompletion lists.\nThe default value is `true`. autocomplete_snippets _M.lua.autocomplete_snippets (boolean)\nWhether or not to include snippets in autocompletion lists.\nThe default value is `false`. autocompleters textadept.editing.autocompleters (table)\nMap of autocompleter names to autocompletion functions.\nNames are typically lexer names and autocompletion functions typically autocomplete symbols.\nAutocompletion functions must return two values: the number of characters behind the caret\nthat are used as the prefix of the entity to be autocompleted, and a list of completions to\nbe shown. Autocompletion lists are sorted automatically.\n@see autocomplete back textadept.history.back()\nNavigates backwards through the current view's history. back_space_un_indents buffer.back_space_un_indents (bool)\nUn-indent text when backspacing within indentation.\nThe default value is `false`. back_tab buffer.back_tab(buffer)\nUn-indents the text on the selected lines.\n@param buffer A buffer. begin_undo_action buffer.begin_undo_action(buffer)\nStarts a sequence of actions to be undone or redone as a single action.\nMay be nested.\n@param buffer A buffer. bookmarks textadept.bookmarks (module)\nBookmarks for Textadept. brace_bad_light view.brace_bad_light(view, pos)\nHighlights the character at position *pos* as an unmatched brace character using the\n`'style.bracebad'` style.\nRemoves highlighting when *pos* is `-1`.\n@param view A view.\n@param pos The position in *view*'s buffer to highlight, or `-1` to remove the highlight. brace_bad_light_indicator view.brace_bad_light_indicator(view, use_indicator, indicator)\nHighlights unmatched brace characters with indicator number *indicator*, in the range of\n`1` to `32`, instead of the `view.STYLE_BRACEBAD` style if *use_indicator* is `true`.\n@param view A view.\n@param use_indicator Whether or not to use an indicator.\n@param indicator The indicator number to use. brace_highlight view.brace_highlight(view, pos1, pos2)\nHighlights the characters at positions *pos1* and *pos2* as matching braces using the\n`'style.bracelight'` style.\nIf indent guides are enabled, locates the column with `buffer.column` and sets\n`view.highlight_guide` in order to highlight the indent guide.\n@param view A view.\n@param pos1 The first position in *view*'s buffer to highlight.\n@param pos2 The second position in *view*'s buffer to highlight. brace_highlight_indicator view.brace_highlight_indicator(view, use_indicator, indicator)\nHighlights matching brace characters with indicator number *indicator*, in the range of `1`\nto `32`, instead of the `view.STYLE_BRACELIGHT` style if *use_indicator* is `true`.\n@param view A view.\n@param use_indicator Whether or not to use an indicator.\n@param indicator The indicator number to use. brace_match buffer.brace_match(buffer, pos, max_re_style)\nReturns the position of the matching brace for the brace character at position *pos*, taking\nnested braces into account, or `-1`.\nThe brace characters recognized are '(', ')', '[', ']', '{', '}', '<', and '>' and must have\nthe same style.\n@param buffer A buffer.\n@param pos The position of the brace in *buffer* to match.\n@param max_re_style Must be `0`. Reserved for expansion.\n@return number brace_matches textadept.editing.brace_matches (table)\nTable of brace characters to highlight.\nThe ASCII values of brace characters are keys and are assigned `true`. The default brace\ncharacters are '(', ')', '[', ']', '{', and '}'. buffer _G.buffer (module)\nA Textadept buffer object.\nConstants are documented in the fields they apply to.\nWhile you can work with individual buffer instances, it is really only useful to work with\nthe global one.\nMany of these functions and fields are derived from buffer-specific functionality of the\nScintilla editing component, and additional information can be found on the [Scintilla\nwebsite](https://scintilla.org/ScintillaDoc.html). Note that with regard to Scintilla-specific\nfunctionality, this API is a _suggestion_, not a hard requirement. All of that functionality\nalso exists in `view`, even if undocumented.\nAny buffer fields set on startup (e.g. in *~/.textadept/init.lua*) will be the default,\ninitial values for all buffers. buffer _G.buffer (table)\nThe current buffer in the current view. buffer view.buffer (table)\nThe buffer the view currently contains. (Read-only) buffer_statusbar_text ui.buffer_statusbar_text (string, Write-only)\nThe text displayed in the buffer statusbar. build textadept.run.build(root_directory)\nBuilds the project whose root path is *root_directory* or the current project using the\nshell command from the `build_commands` table.\nIf a "makefile" type of build file is found, prompts the user for the full build command. The\ncurrent project is determined by either the buffer's filename or the current working directory.\nEmits `BUILD_OUTPUT` events.\n@param root_directory The path to the project to build. The default value is the current project.\n@see build_commands\n@see _G.events build_commands textadept.run.build_commands (table)\nMap of project root paths and "makefiles" to their associated "build" shell command line\nstrings or functions that return such strings.\nFunctions may also return a working directory and process environment table to operate\nin. By default, the working directory is the project's root directory and the environment\nis Textadept's environment. call_tip_active view.call_tip_active(view)\nReturns whether or not a call tip is visible.\n@param view A view.\n@return bool call_tip_cancel view.call_tip_cancel(view)\nRemoves the displayed call tip from view.\n@param view A view. call_tip_fore_hlt view.call_tip_fore_hlt (number, Write-only)\nA call tip's highlighted text foreground color, in "0xBBGGRR" format. call_tip_pos_start view.call_tip_pos_start (number, Write-only)\nThe position at which backspacing beyond it hides a visible call tip. call_tip_pos_start view.call_tip_pos_start(view)\nReturns a call tip's display position.\n@param view A view.\n@return number call_tip_position view.call_tip_position (boolean)\nDisplay a call tip above the current line instead of below it.\nThe default value is `false`. call_tip_set_hlt view.call_tip_set_hlt(view, start_pos, end_pos)\nHighlights a call tip's text between positions *start_pos* to *end_pos* with the color\n`view.call_tip_fore_hlt`.\n@param view A view.\n@param start_pos The start position in a call tip text to highlight.\n@param end_pos The end position in a call tip text to highlight. call_tip_show view.call_tip_show(view, pos, text)\nDisplays a call tip at position *pos* with string *text* as the call tip's contents.\nAny "\001" or "\002" bytes in *text* are replaced by clickable up or down arrow visuals,\nrespectively. These may be used to indicate that a symbol has more than one call tip,\nfor example.\n@param view A view.\n@param pos The position in *view*'s buffer to show a call tip at.\n@param text The call tip text to show. call_tip_use_style view.call_tip_use_style (number)\nThe pixel width of tab characters in call tips.\nWhen non-zero, also enables the use of style number `view.STYLE_CALLTIP` instead of\n`view.STYLE_DEFAULT` for call tip styles.\nThe default value is `0`. can_redo buffer.can_redo(buffer)\nReturns whether or not there is an action to be redone.\n@param buffer A buffer.\n@return bool can_undo buffer.can_undo(buffer)\nReturns whether or not there is an action to be undone.\n@param buffer A buffer.\n@return bool cancel buffer.cancel(buffer)\nCancels the active selection mode, autocompletion or user list, call tip, etc.\n@param buffer A buffer. cancel_current textadept.snippets.cancel_current()\nCancels the active snippet, removing all inserted text.\nReturns `false` if no snippet is active.\n@return `false` if no snippet is active; `nil` otherwise. caret_line_frame view.caret_line_frame (number)\nThe caret line's frame width in pixels.\nWhen non-zero, the line that contains the caret is framed instead of colored in. The\n`view.caret_line_back` and `view.caret_line_back_alpha` properties apply to the frame.\nThe default value is `0`. caret_line_highlight_subline view.caret_line_highlight_subline (boolean)\nColor the background of the subline that contains the caret a different color, rather than\nthe whole line.\nThe defalt value is `false`. caret_line_layer view.caret_line_layer (number)\nThe caret line layer mode.\n\n* `view.LAYER_BASE`\n Draw the caret line opaquely on the background.\n* `view.LAYER_UNDER_TEXT`\n Draw the caret line translucently under text.\n* `view.LAYER_OVER_TEXT`\n Draw the caret line translucently over text.\n\nThe default value is `view.LAYER_BASE`. caret_line_visible view.caret_line_visible (bool)\nColor the background of the line that contains the caret a different color.\nThe default value is `false`. caret_line_visible_always view.caret_line_visible_always (bool)\nAlways show the caret line, even when the view is not in focus.\nThe default value is `false`, showing the line only when the view is in focus. caret_period view.caret_period (number)\nThe time between caret blinks in milliseconds.\nA value of `0` stops blinking.\nThe default value is `500`. caret_sticky buffer.caret_sticky (number)\nThe caret's preferred horizontal position when moving between lines.\n\n* `buffer.CARETSTICKY_OFF`\n Use the same position the caret had on the previous line.\n* `buffer.CARETSTICKY_ON`\n Use the last position the caret was moved to via the mouse, left/right arrow keys,\n home/end keys, etc. Typing text does not affect the position.\n* `buffer.CARETSTICKY_WHITESPACE`\n Use the position the caret had on the previous line, but prior to any inserted indentation.\n\nThe default value is `buffer.CARETSTICKY_OFF`. caret_style view.caret_style (number)\nThe caret's visual style.\n\n* `view.CARETSTYLE_INVISIBLE`\n No caret.\n* `view.CARETSTYLE_LINE`\n A line caret.\n* `view.CARETSTYLE_BLOCK`\n A block caret.\n\nAny block setting may be combined with `view.CARETSTYLE_BLOCK_AFTER` via bitwise OR (`|`)\nin order to draw the caret after the end of a selection, as opposed to just inside it.\n\nThe default value is `view.CARETSTYLE_LINE`. caret_width view.caret_width (number)\nThe line caret's pixel width in insert mode, between `0` and `20`.\nThe default value is `1`. char_at buffer.char_at (table, Read-only)\nTable of character bytes per position. char_left buffer.char_left(buffer)\nMoves the caret left one character.\n@param buffer A buffer. char_left_extend buffer.char_left_extend(buffer)\nMoves the caret left one character, extending the selected text to the new position.\n@param buffer A buffer. char_left_rect_extend buffer.char_left_rect_extend(buffer)\nMoves the caret left one character, extending the rectangular selection to the new position.\n@param buffer A buffer. char_right buffer.char_right(buffer)\nMoves the caret right one character.\n@param buffer A buffer. char_right_extend buffer.char_right_extend(buffer)\nMoves the caret right one character, extending the selected text to the new position.\n@param buffer A buffer. char_right_rect_extend buffer.char_right_rect_extend(buffer)\nMoves the caret right one character, extending the rectangular selection to the new position.\n@param buffer A buffer. choose_caret_x buffer.choose_caret_x(buffer)\nIdentifies the current horizontal caret position as the caret's preferred horizontal position\nwhen moving between lines.\n@param buffer A buffer.\n@see caret_sticky clear buffer.clear(buffer)\nDeletes the selected text or the character at the caret.\n@param buffer A buffer. clear textadept.bookmarks.clear()\nClears all bookmarks in the current buffer. clear textadept.history.clear()\nClears all view history. clear_all buffer.clear_all(buffer)\nDeletes the buffer's text.\n@param buffer A buffer. clear_all_representations view.clear_all_representations(view)\nRemoves all alternate string representations of characters.\n@param view A view. clear_document_style buffer.clear_document_style(buffer)\nClears all styling and folding information.\n@param buffer A buffer. clear_registered_images view.clear_registered_images(view)\nClears all images registered using `view.register_image()` and `view.register_rgba_image()`.\n@param view A view. clear_representation view.clear_representation(view, char)\nRemoves the alternate string representation for character *char* (which may be a multi-byte\ncharacter).\n@param view A view.\n@param char The string character in `buffer.representations` to remove the alternate string\n representation for. clipboard_text ui.clipboard_text (string)\nThe text on the clipboard. close buffer.close(buffer, force)\nCloses the buffer, prompting the user to continue if there are unsaved changes (unless *force*\nis `true`), and returns `true` if the buffer was closed.\n@param buffer A buffer.\n@param force Optional flag that discards unsaved changes without prompting the user. The\n default value is `false`.\n@return `true` if the buffer was closed; `nil` otherwise. close spawn_proc:close()\nCloses standard input for process *spawn_proc*, effectively sending an EOF (end of file) to it. close_all_buffers io.close_all_buffers()\nCloses all open buffers, prompting the user to continue if there are unsaved buffers, and\nreturns `true` if the user did not cancel.\nNo buffers are saved automatically. They must be saved manually.\n@return `true` if user did not cancel; `nil` otherwise.\n@see buffer.close cntrl lexer.cntrl (pattern)\nA pattern that matches any control character (ASCII codes 0 to 31). colorize buffer.colorize(buffer, start_pos, end_pos)\nInstructs the lexer to style and mark fold points in the range of text between *start_pos*\nand *end_pos*.\nIf *end_pos* is `-1`, styles and marks to the end of the buffer.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to process.\n@param end_pos The end position of the range of text in *buffer* to process, or `-1` to\n process from *start_pos* to the end of *buffer*. colors lexer.colors (table)\nMap of color name strings to color values in `0xBBGGRR` or `"#RRGGBB"` format.\nNote: for applications running within a terminal emulator, only 16 color values are recognized,\nregardless of how many colors a user's terminal actually supports. (A terminal emulator's\nsettings determines how to actually display these recognized color values, which may end up\nbeing mapped to a completely different color set.) In order to use the light variant of a\ncolor, some terminals require a style's `bold` attribute must be set along with that normal\ncolor. Recognized color values are black (0x000000), red (0x000080), green (0x008000), yellow\n(0x008080), blue (0x800000), magenta (0x800080), cyan (0x808000), white (0xC0C0C0), light black\n(0x404040), light red (0x0000FF), light green (0x00FF00), light yellow (0x00FFFF), light blue\n(0xFF0000), light magenta (0xFF00FF), light cyan (0xFFFF00), and light white (0xFFFFFF). colorselect ui.dialogs.colorselect(options)\nPrompts the user with a color selection dialog defined by dialog options table *options*,\nreturning the color selected.\nIf the user canceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the option select dialog.\n\n * `title`: The dialog's title text.\n * `color`: The initially selected color as either a number in "0xBBGGRR" format, or as a\n string in "#RRGGBB" format.\n * `palette`: The list of colors to show in the dialog's color palette. Up to 20 colors can\n be specified as either numbers in "0xBBGGRR" format or as strings in "#RRGGBB" format. If\n `true` (no list was given), a default palette is shown.\n * `string_output`: Return the selected color in string "#RRGGBB" format instead of as a\n number. The default value is `false`.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n@usage ui.dialogs.colorselect{title = 'Foreground color', color = 0x000000,\n palette = {'#000000', 0x0000FF, '#00FF00', 0xFF0000}}\n@return selected color column buffer.column (table, Read-only)\nTable of column numbers (taking tab widths into account) per position.\nMulti-byte characters count as single characters. command_entry ui.command_entry (module)\nTextadept's Command Entry.\nIt supports multiple modes that each have their own functionality (such as running Lua code\nand filtering text through shell commands) and history. comment_string textadept.editing.comment_string (table)\nMap of lexer names to line comment strings for programming languages, used by the\n`toggle_comment()` function.\nKeys are lexer names and values are either the language's line comment prefixes or block\ncomment delimiters separated by a '|' character.\n@see toggle_comment compile textadept.run.compile(filename)\nCompiles file *filename* or the current file using an appropriate shell command from the\n`compile_commands` table.\nThe shell command is determined from the file's filename, extension, or language in that order.\nEmits `COMPILE_OUTPUT` events.\n@param filename Optional path to the file to compile. The default value is the current\n file's filename.\n@see compile_commands\n@see _G.events compile_commands textadept.run.compile_commands (table)\nMap of filenames, file extensions, and lexer names to their associated "compile" shell\ncommand line strings or functions that return such strings.\nCommand line strings may have the following macros:\n\n + `%f`: The file's name, including its extension.\n + `%e`: The file's name, excluding its extension.\n + `%d`: The file's directory path.\n + `%p`: The file's full path.\n\nFunctions may also return a working directory and process environment table to operate in. By\ndefault, the working directory is the current file's parent directory and the environment\nis Textadept's environment. connect events.connect(event, f, index)\nAdds function *f* to the set of event handlers for event *event* at position *index*.\nIf *index* not given, appends *f* to the set of handlers. *event* may be any arbitrary string\nand does not need to have been previously defined.\n@param event The string event name.\n@param f The Lua function to connect to *event*.\n@param index Optional index to insert the handler into.\n@usage events.connect('my_event', function(msg) ui.print(msg) end)\n@see disconnect constants _SCINTILLA.constants (table)\nMap of Scintilla constant names to their numeric values.\n@see _G.buffer context_menu textadept.menu.context_menu (table)\nThe default right-click context menu.\nSubmenus, and menu items can be retrieved by name in addition to table index number. context_menu ui.context_menu (userdata)\nThe buffer's context menu, a `ui.menu()`.\nThis is a low-level field. You probably want to use the higher-level\n`textadept.menu.context_menu`. contracted_fold_next view.contracted_fold_next(view, line)\nReturns the line number of the next contracted fold point starting from line number *line*,\nor `-1` if none exists.\n@param view A view.\n@param line The line number in *view* to start at.\n@return number convert_eols buffer.convert_eols(buffer, mode)\nConverts all end of line characters to those in end of line mode *mode*.\n@param buffer A buffer.\n@param mode The end of line mode to convert to. Valid values are:\n * `buffer.EOL_CRLF`\n * `buffer.EOL_CR`\n * `buffer.EOL_LF` convert_indentation textadept.editing.convert_indentation()\nConverts indentation between tabs and spaces according to `buffer.use_tabs`.\nIf `buffer.use_tabs` is `true`, `buffer.tab_width` indenting spaces are converted to tabs.\nOtherwise, all indenting tabs are converted to `buffer.tab_width` spaces.\n@see buffer.use_tabs copy buffer.copy(buffer)\nCopies the selected text to the clipboard.\nMultiple selections are copied in order with no delimiters. Rectangular selections are copied\nfrom top to bottom with end of line characters. Virtual space is not copied.\n@param buffer A buffer. copy_range buffer.copy_range(buffer, start_pos, end_pos)\nCopies to the clipboard the range of text between positions *start_pos* and *end_pos*.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to copy.\n@param end_pos The end position of the range of text in *buffer* to copy. copy_text buffer.copy_text(buffer, text)\nCopies string *text* to the clipboard.\n@param buffer A buffer.\n@param text The text to copy. count_characters buffer.count_characters(buffer, start_pos, end_pos)\nReturns the number of whole characters (taking multi-byte characters into account) between\npositions *start_pos* and *end_pos*.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to start counting at.\n@param end_pos The end position of the range of text in *buffer* to stop counting at.\n@return number current_pos buffer.current_pos (number)\nThe caret's position.\nWhen set, does not scroll the caret into view. cursor view.cursor (number)\nThe display cursor type.\n\n* `view.CURSORNORMAL`\n The text insert cursor.\n* `view.CURSORARROW`\n The arrow cursor.\n* `view.CURSORWAIT`\n The wait cursor.\n* `view.CURSORREVERSEARROW`\n The reversed arrow cursor.\n\nThe default value is `view.CURSORNORMAL`. cut buffer.cut(buffer)\nCuts the selected text to the clipboard.\nMultiple selections are copied in order with no delimiters. Rectangular selections are copied\nfrom top to bottom with end of line characters. Virtual space is not copied.\n@param buffer A buffer. dec_num lexer.dec_num (pattern)\nA pattern that matches a decimal number. default_filter lfs.default_filter (table)\nThe filter table containing common binary file extensions and version control directories\nto exclude when iterating over files and directories using `walk`.\nExtensions excluded: a, bmp, bz2, class, dll, exe, gif, gz, jar, jpeg, jpg, o, pdf, png,\nso, tar, tgz, tif, tiff, xz, and zip.\nDirectories excluded: .bzr, .git, .hg, .svn, _FOSSIL_, and node_modules.\n@see walk del_line_left buffer.del_line_left(buffer)\nDeletes the range of text from the caret to the beginning of the current line.\n@param buffer A buffer. del_line_right buffer.del_line_right(buffer)\nDeletes the range of text from the caret to the end of the current line.\n@param buffer A buffer. del_word_left buffer.del_word_left(buffer)\nDeletes the word to the left of the caret, including any leading non-word characters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. del_word_right buffer.del_word_right(buffer)\nDeletes the word to the right of the caret, including any trailing non-word characters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. del_word_right_end buffer.del_word_right_end(buffer)\nDeletes the word to the right of the caret, excluding any trailing non-word characters.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. delete buffer.delete(buffer)\nDeletes the buffer.\n**Do not call this function.** Call `buffer:close()` instead. Emits a `BUFFER_DELETED` event.\n@param buffer A buffer.\n@see events.BUFFER_DELETED delete_back buffer.delete_back(buffer)\nDeletes the character behind the caret if no text is selected.\nOtherwise, deletes the selected text.\n@param buffer A buffer. delete_back_not_line buffer.delete_back_not_line(buffer)\nDeletes the character behind the caret unless either the caret is at the beginning of a line\nor text is selected.\nIf text is selected, deletes it.\n@param buffer A buffer. delete_range buffer.delete_range(buffer, pos, length)\nDeletes the range of text from position *pos* to *pos* + *length*.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to delete.\n@param length The number of characters in the range of text to delete. dialog ui.dialog(kind, ...)\nLow-level function for prompting the user with a gtdialog of kind *kind* with the given\nstring and table arguments, returning a formatted string of the dialog's output.\nYou probably want to use the higher-level functions in the `ui.dialogs` module.\nTable arguments containing strings are allowed and expanded in place. This is useful for\nfiltered list dialogs with many items.\n@param kind The kind of gtdialog.\n@param ... Parameters to the gtdialog.\n@return string gtdialog result. dialogs ui.dialogs (module)\nProvides a set of interactive dialog prompts for user input. digit lexer.digit (pattern)\nA pattern that matches any digit ('0'-'9'). disconnect events.disconnect(event, f)\nRemoves function *f* from the set of handlers for event *event*.\n@param event The string event name.\n@param f The Lua function connected to *event*.\n@see connect doc_line_from_visible view.doc_line_from_visible(view, display_line)\nReturns the actual line number of displayed line number *display_line*, taking wrapped,\nannotated, and hidden lines into account.\nIf *display_line* is less than or equal to `1`, returns `1`. If *display_line* is greater\nthan the number of displayed lines, returns `buffer.line_count`.\n@param view A view.\n@param display_line The display line number to use.\n@return number document_end buffer.document_end(buffer)\nMoves the caret to the end of the buffer.\n@param buffer A buffer. document_end_extend buffer.document_end_extend(buffer)\nMoves the caret to the end of the buffer, extending the selected text to the new position.\n@param buffer A buffer. document_start buffer.document_start(buffer)\nMoves the caret to the beginning of the buffer.\n@param buffer A buffer. document_start_extend buffer.document_start_extend(buffer)\nMoves the caret to the beginning of the buffer, extending the selected text to the new position.\n@param buffer A buffer. drop_selection_n buffer.drop_selection_n(buffer, n)\nDrops existing selection number *n*.\n@param buffer A buffer.\n@param n The number of the existing selection. dropdown ui.dialogs.dropdown(options)\nPrompts the user with a drop-down item selection dialog defined by dialog options table\n*options*, returning the selected button's index along with the index of the selected item.\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nselected item's text. If the dialog closed due to *options*.`exit_onchange`, returns `4`\nalong with either the selected item's index or its text. If the dialog timed out, returns\n`0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the drop-down dialog.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `items`: The list of string items to show in the drop-down.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `exit_onchange`: Close the dialog after selecting a new item. The default value is `false`.\n * `select`: The index of the initially selected list item. The default value is `1`.\n * `string_output`: Return the selected button's label (instead of its index) and the selected\n item's text (instead of its index). If no item was selected, returns the dialog's exit\n status (instead of its exit code). The default value is `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.dropdown{title = 'Select Encoding', width = 200, items = io.encodings,\n string_output = true}\n@return selected button or exit code, selected item edge_color view.edge_color (number)\nThe color, in "0xBBGGRR" format, of the single edge or background for long lines according\nto `view.edge_mode`. edge_column view.edge_column (number)\nThe column number to mark long lines at. edge_mode view.edge_mode (number)\nThe long line mark mode.\n\n* `view.EDGE_NONE`\n Long lines are not marked.\n* `view.EDGE_LINE`\n Draw a single vertical line whose color is `view.edge_color` at column\n `view.edge_column`.\n* `view.EDGE_BACKGROUND`\n Change the background color of text after column `view.edge_column` to\n `view.edge_color`.\n* `view.EDGE_MULTILINE`\n Draw vertical lines whose colors and columns are defined by calls to\n `view:multi_edge_add_line()`. edit_toggle_overtype buffer.edit_toggle_overtype(buffer)\nToggles `buffer.overtype`.\n@param buffer A buffer. editing textadept.editing (module)\nEditing features for Textadept. editing_keys ui.command_entry.editing_keys (table)\nA metatable with typical platform-specific key bindings for text entries.\nThis metatable may be used to add basic editing and movement keys to command entry modes. It\nis automatically added to command entry modes unless a metatable was previously set. element_allows_translucent view.element_allows_translucent (table)\nTable of flags for UI element identifiers that indicate whether or not an element supports\ntranslucent colors.\nSee `view.element_color` for element identifiers. element_base_color view.element_base_color (table, read-only)\nTable of default colors on "0xAABBGGRR" format for UI element identifiers.\nIf the alpha byte is omitted, it is assumed to be `0xFF` (opaque).\nSee `view.element_color` for element identifiers. element_color view.element_color (table)\nTable of colors in "0xAABBGGRR" format for UI element identifiers.\nIf the alpha byte is omitted, it is assumed to be `0xFF` (opaque).\n\n* `view.ELEMENT_SELECTION_TEXT`\n The main selection's text color.\n* `view.ELEMENT_SELECTION_BACK`\n The main selection's background color.\n* `view.ELEMENT_SELECTION_ADDITIONAL_TEXT`\n The text color of additional selections.\n* `view.ELEMENT_SELECTION_ADDITIONAL_BACK`\n The background color of additional selections.\n* `view.ELEMENT_SELECTION_SECONDARY_TEXT`\n The text color of selections when another window contains the primary selection.\n This is only available on Linux.\n* `view.ELEMENT_SELECTION_SECONDARY_BACK`\n The background color of selections when another window contains the primary selection.\n This is only available on Linux.\n* `view.ELEMENT_SELECTION_INACTIVE_TEXT`\n The text color of selections when another window has focus.\n* `view.ELEMENT_SELECTION_INACTIVE_BACK`\n The background color of selections when another window has focus.\n* `view.ELEMENT_CARET`\n The main selection's caret color.\n* `view.ELEMENT_CARET_ADDITIONAL`\n The caret color of additional selections.\n* `view.ELEMENT_CARET_LINE_BACK`\n The background color of the line that contains the caret.\n* `view.ELEMENT_WHITE_SPACE`\n The color of visible whitespace.\n* `view.ELEMENT_WHITE_SPACE_BACK`\n The background color of visible whitespace.\n* `view.ELEMENT_FOLD_LINE`\n The color of fold lines.\n* `view.ELEMENT_HIDDEN_LINE`\n The color of lines shown in place of hidden lines. element_is_set view.element_is_set (table)\nTable of flags for UI element identifiers that indicate whether or not a color has been\nmanually set.\nSee `view.element_color` for element identifiers. embed lexer.embed(lexer, child, start_rule, end_rule)\nEmbeds child lexer *child* in parent lexer *lexer* using patterns *start_rule* and *end_rule*,\nwhich signal the beginning and end of the embedded lexer, respectively.\n@param lexer The parent lexer.\n@param child The child lexer.\n@param start_rule The pattern that signals the beginning of the embedded lexer.\n@param end_rule The pattern that signals the end of the embedded lexer.\n@usage html:embed(css, css_start_rule, css_end_rule)\n@usage html:embed(lex, php_start_rule, php_end_rule) -- from php lexer emit events.emit(event, ...)\nSequentially calls all handler functions for event *event* with the given arguments.\n*event* may be any arbitrary string and does not need to have been previously defined. If\nany handler explicitly returns a value that is not `nil`, `emit()` returns that value and\nceases to call subsequent handlers. This is useful for stopping the propagation of an event\nlike a keypress after it has been handled, or for passing back values from handlers.\n@param event The string event name.\n@param ... Arguments passed to the handler.\n@usage events.emit('my_event', 'my message')\n@return `nil` unless any any handler explicitly returned a non-`nil` value; otherwise returns\n that value empty_undo_buffer buffer.empty_undo_buffer(buffer)\nDeletes the undo and redo history.\n@param buffer A buffer. enclose textadept.editing.enclose(left, right, select)\nEncloses the selected text or the current word within strings *left* and *right*, taking\nmultiple selections into account.\n@param left The left part of the enclosure.\n@param right The right part of the enclosure.\n@param select Optional flag that indicates whether or not to keep enclosed text selected. The\n default value is `false`. encoding buffer.encoding (string or nil)\nThe string encoding of the file, or `nil` for binary files. encodings io.encodings (table)\nList of encodings to attempt to decode files as.\nYou should add to this list if you get a "Conversion failed" error when trying to open a file\nwhose encoding is not recognized. Valid encodings are GNU iconv's encodings and include:\n\n * European: ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R,\n KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},\n Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, Mac{Cyrillic,Ukraine,Greek,Turkish},\n Macintosh.\n * Unicode: UTF-8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UTF-16, UTF-16BE,\n UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF-7, C99, JAVA. end_at_last_line view.end_at_last_line (bool)\nDisable scrolling past the last line.\nThe default value is `true`. end_styled buffer.end_styled (number, Read-only)\nThe current styling position or the last correctly styled character's position. end_undo_action buffer.end_undo_action(buffer)\nEnds a sequence of actions to be undone or redone as a single action.\n@param buffer A buffer. ensure_visible view.ensure_visible(view, line)\nEnsures line number *line* is visible by expanding any fold points hiding it.\n@param view A view.\n@param line The line number in *view* to ensure visible. ensure_visible_enforce_policy view.ensure_visible_enforce_policy(view, line)\nEnsures line number *line* is visible by expanding any fold points hiding it based on the\nvertical caret policy previously defined in `view.set_visible_policy()`.\n@param view A view.\n@param line The line number in *view* to ensure visible. entry_font ui.find.entry_font (string, Write-only)\nThe font to use in the "Find" and "Replace" entries in "name size" format.\nThe default value is system-dependent. eol_annotation_clear_all buffer.eol_annotation_clear_all(buffer)\nClears EOL annotations from all lines.\n@param buffer A buffer. eol_annotation_style buffer.eol_annotation_style (table)\nTable of style numbers for EOL annotation text per line number.\nOnly some style attributes are active in annotations: font, size/size_fractional, bold/weight,\nitalics, fore, back, and character_set. eol_annotation_text buffer.eol_annotation_text (table)\nTable of EOL annotation text per line number. eol_annotation_visible view.eol_annotation_visible (number)\nThe EOL annotation visibility mode.\n\n* `view.EOLANNOTATION_HIDDEN`\n EOL Annotations are invisible.\n* `view.EOLANNOTATION_STANDARD`\n Draw EOL annotations no decoration.\n* `view.EOLANNOTATION_BOXED`\n Draw EOL annotations outlined with a box.\n* `view.EOLANNOTATION_STADIUM`\n Draw EOL annotations outline with curved ends.\n* `view.EOLANNOTATION_FLAT_CIRCLE`\n Draw EOL annotations outline with a flat left end and curved right end.\n* `view.EOLANNOTATION_ANGLE_CIRCLE`\n Draw EOL annotations outline with an angled left end and curved right end.\n* `view.EOLANNOTATION_CIRCLE_FLAT`\n Draw EOL annotations outline with a curved left end and flat right end.\n* `view.EOLANNOTATION_FLATS`\n Draw EOL annotations outline with a flat ends.\n* `view.EOLANNOTATION_ANGLE_FLAT`\n Draw EOL annotations outline with an angled left end and flat right end.\n* `view.EOLANNOTATION_CIRCLE_ANGLE`\n Draw EOL annotations outline with a curved left end and angled right end.\n* `view.EOLANNOTATION_FLAT_ANGLE`\n Draw EOL annotations outline with a flat left end and angled right end.\n* `view.EOLANNOTATION_ANGLES`\n Draw EOL annotations outline with angled ends.\n\nAll annotations are drawn with the same shape. The default value is\n`view.EOLANNOTATION_HIDDEN`. eol_mode buffer.eol_mode (number)\nThe current end of line mode.\nChanging the current mode does not convert any of the buffer's existing end of line\ncharacters. Use `buffer.convert_eols()` to do so.\n\n* `buffer.EOL_CRLF`\n Carriage return with line feed ("\r\\n").\n* `buffer.EOL_CR`\n Carriage return ("\r").\n* `buffer.EOL_LF`\n Line feed ("\\n").\n\nThe default value is `buffer.EOL_CRLF` on Windows platforms, `buffer.EOL_LF` otherwise. error_patterns textadept.run.error_patterns (table)\nMap of file extensions and lexer names to their associated lists of string patterns that\nmatch warning and error messages emitted by compile and run commands for those file extensions\nand lexers.\nPatterns match single lines and contain captures for a filename, line number, column number\n(optional), and warning or error message (optional). Double-clicking a warning or error\nmessage takes the user to the source of that warning/error.\nNote: `(.-)` captures in patterns are interpreted as filenames; `(%d+)` captures are\ninterpreted as line numbers first, and then column numbers; and any other capture is treated\nas warning/error message text. events _G.events (module)\nTextadept's core event structure and handlers.\n\nTextadept emits events when you do things like create a new buffer, press a key, click on\na menu, etc. You can even emit events yourself using Lua. Each event has a set of event\nhandlers, which are simply Lua functions called in the order they were connected to an\nevent. For example, if you created a module that needs to do something each time Textadept\ncreates a new buffer, connect a Lua function to the `events.BUFFER_NEW` event:\n\n events.connect(events.BUFFER_NEW, function()\n -- Do something here.\n end)\n\nEvents themselves are nothing special. You do not have to declare one before using it. Events\nare simply strings containing arbitrary event names. When either you or Textadept emits an\nevent, Textadept runs all event handlers connected to the event, passing any given arguments\nto the event's handler functions. If an event handler explicitly returns a value that is not\n`nil`, Textadept will not call subsequent handlers. This is useful if you want to stop the\npropagation of an event like a keypress if your event handler handled it, or if you want to\nuse the event framework to pass values.\n events _SCINTILLA.events (table)\nMap of Scintilla event IDs to tables of event names and event parameters. expr_types _M.lua.expr_types (table)\nMap of expression patterns to their types.\nUsed for type-hinting when showing autocompletions for variables. Expressions are expected\nto match after the '=' sign of a statement. extend lexer.extend (pattern)\nA pattern that matches any ASCII extended character (codes 0 to 255). extensions textadept.file_types.extensions (table)\nMap of file extensions to their associated lexer names.\nIf the file type is not recognized by its first-line, each file extension is matched against\nthe file's extension. extra_ascent view.extra_ascent (number)\nThe amount of pixel padding above lines.\nThe default value is `0`. extra_descent view.extra_descent (number)\nThe amount of pixel padding below lines.\nThe default is `0`. file_types textadept.file_types (module)\nHandles file type detection for Textadept. filename buffer.filename (string)\nThe absolute file path associated with the buffer. filesave ui.dialogs.filesave(options)\nPrompts the user with a file save dialog defined by dialog options table *options*, returning\nthe string file chosen.\nIf the user canceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the dialog.\n\n * `title`: The dialog's title text.\n * `with_directory`: The initial filesystem directory to show.\n * `with_file`: The initially chosen filename. This option requires `with_directory` to be set.\n * `with_extension`: The list of extensions selectable files must have.\n * `no_create_directories`: Prevent the user from creating new directories. The default\n value is `false`.\n@return filename or nil fileselect ui.dialogs.fileselect(options)\nPrompts the user with a file selection dialog defined by dialog options table *options*,\nreturning the string file selected.\nIf *options*.`select_multiple` is `true`, returns the list of files selected. If the user\ncanceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the dialog.\n\n * `title`: The dialog's title text.\n * `with_directory`: The initial filesystem directory to show.\n * `with_file`: The initially selected filename. This option requires `with_directory`\n to be set.\n * `with_extension`: The list of extensions selectable files must have.\n * `select_multiple`: Allow the user to select multiple files. The default value is `false`.\n * `select_only_directories`: Only allow the user to select directories. The default value is\n `false`.\n@usage ui.dialogs.fileselect{title = 'Open C File', with_directory = _HOME,\n with_extension = {'c', 'h'}, select_multiple = true}\n@return filename, list of filenames, or nil filter_through textadept.editing.filter_through(command)\nPasses the selected text or all buffer text to string shell command *command* as standard input\n(stdin) and replaces the input text with the command's standard output (stdout). *command*\nmay contain shell pipes ('|').\nStandard input is as follows:\n\n1. If no text is selected, the entire buffer is used.\n2. If text is selected and spans a single line, is a multiple selection, or is a rectangular\n selection, only the selected text is used.\n3. If text is selected and spans multiple lines, all text on the lines that have text selected\n is passed as stdin. However, if the end of the selection is at the beginning of a line,\n only the line ending delimiters from the previous line are included. The rest of the line\n is excluded.\n@param command The Linux, BSD, macOS, or Windows shell command to filter text through. May\n contain pipes. filteredlist ui.dialogs.filteredlist(options)\nPrompts the user with a filtered list item selection dialog defined by dialog options table\n*options*, returning the selected button's index along with the index or indices of the\nselected item or items (depending on whether or not *options*.`select_multiple` is `true`).\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\ntext of the selected item or items. If the dialog timed out, returns `0` or `"timeout"`. If\nthe user canceled the dialog, returns `-1` or `"delete"`.\nSpaces in the filter text are treated as wildcards.\n@param options Table of key-value option pairs for the filtered list dialog.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text.\n * `text`: The dialog's initial input text.\n * `columns`: The list of string column names for list rows.\n * `items`: The list of string items to show in the filtered list.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `select_multiple`: Allow the user to select multiple items. The default value is `false`.\n * `search_column`: The column number to filter the input text against. The default value is\n `1`. This option requires `columns` to be set and contain at least *n* column names.\n * `output_column`: The column number to use for `string_output`. The default value is\n `1`. This option requires `columns` to be set and contain at least *n* column names.\n * `string_output`: Return the selected button's label (instead of its index) and the selected\n item's text (instead of its index). If no item was selected, returns the dialog's exit\n status (instead of its exit code). The default value is `false`.\n * `width`: The dialog's pixel width. The default width stretches nearly the width of\n Textadept's window.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.filteredlist{title = 'Title', columns = {'Foo', 'Bar'},\n items = {'a', 'b', 'c', 'd'}}\n@return selected button or exit code, selected item or list of selected items find ui.find (module)\nTextadept's Find & Replace pane. find_column buffer.find_column(buffer, line, column)\nReturns the position of column number *column* on line number *line* (taking tab and multi-byte\ncharacters into account), or the position at the end of line *line*.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@param column The column number to use. find_entry_text ui.find.find_entry_text (string)\nThe text in the "Find" entry. find_in_files ui.find.find_in_files(dir, filter)\nSearches directory *dir* or the user-specified directory for files that match search text\nand search options (subject to optional filter *filter*), and prints the results to a buffer\ntitled "Files Found", highlighting found text.\nUse the `find_entry_text`, `match_case`, `whole_word`, and `regex` fields to set the search\ntext and option flags, respectively.\nA filter determines which files to search in, with the default filter being\n`ui.find.find_in_files_filters[dir]` (if it exists) or `lfs.default_filter`. A filter consists\nof Lua patterns that match file and directory paths to include or exclude. Patterns are\ninclusive by default. Exclusive patterns begin with a '!'. If no inclusive patterns are given,\nany filename is initially considered. As a convenience, file extensions can be specified\nliterally instead of as a Lua pattern (e.g. '.lua' vs. '%.lua$'), and '/' also matches the\nWindows directory separator ('[/\\]' is not needed). If *filter* is `nil`, the filter from\nthe `ui.find.find_in_files_filters` table for *dir* is used. If that filter does not exist,\n`lfs.default_filter` is used.\n@param dir Optional directory path to search. If `nil`, the user is prompted for one.\n@param filter Optional filter for files and directories to exclude. The default value is\n `lfs.default_filter` unless a filter for *dir* is defined in `ui.find.find_in_files_filters`.\n@see find_in_files_filters find_in_files_filters ui.find.find_in_files_filters (table)\nMap of directory paths to filters used in `ui.find.find_in_files()`.\nThis table is updated when the user manually specifies a filter in the "Filter" entry during\nan "In files" search.\n@see find_in_files find_label_text ui.find.find_label_text (string, Write-only)\nThe text of the "Find" label.\nThis is primarily used for localization. find_next ui.find.find_next()\nMimics pressing the "Find Next" button. find_next_button_text ui.find.find_next_button_text (string, Write-only)\nThe text of the "Find Next" button.\nThis is primarily used for localization. find_prev ui.find.find_prev()\nMimics pressing the "Find Prev" button. find_prev_button_text ui.find.find_prev_button_text (string, Write-only)\nThe text of the "Find Prev" button.\nThis is primarily used for localization. first_visible_line view.first_visible_line (number)\nThe line number of the line at the top of the view. float lexer.float (pattern)\nA pattern that matches a floating point number. focus ui.command_entry.focus()\nOpens the command entry. focus ui.find.focus(options)\nDisplays and focuses the Find & Replace Pane.\n@param options Optional table of `ui.find` field options to initially set. fold lexer.fold(lexer, text, start_pos, start_line, start_level)\nDetermines fold points in a chunk of text *text* using lexer *lexer*, returning a table of\nfold levels associated with line numbers.\n*text* starts at position *start_pos* on line number *start_line* with a beginning fold\nlevel of *start_level* in the buffer.\n@param lexer The lexer to fold text with.\n@param text The text in the buffer to fold.\n@param start_pos The position in the buffer *text* starts at, counting from 1.\n@param start_line The line number *text* starts on, counting from 1.\n@param start_level The fold level *text* starts on.\n@return table of fold levels associated with line numbers. fold_all view.fold_all(view, action)\nContracts, expands, or toggles all fold points, depending on *action*.\nWhen toggling, the state of the first fold point determines whether to expand or contract.\n@param view A view.\n@param action The fold action to perform. Valid values are:\n * `view.FOLDACTION_CONTRACT`\n * `view.FOLDACTION_EXPAND`\n * `view.FOLDACTION_TOGGLE` fold_by_indentation lexer.fold_by_indentation (boolean)\nWhether or not to fold based on indentation level if a lexer does not have\na folder.\nSome lexers automatically enable this option. It is disabled by default.\nThis is an alias for `lexer.property['fold.by.indentation'] = '1|0'`. fold_children view.fold_children(view, line, action)\nContracts, expands, or toggles the fold point on line number *line*, as well as all of its\nchildren, depending on *action*.\n@param view A view.\n@param line The line number in *view* to set the fold states for.\n@param action The fold action to perform. Valid values are:\n * `view.FOLDACTION_CONTRACT`\n * `view.FOLDACTION_EXPAND`\n * `view.FOLDACTION_TOGGLE` fold_compact lexer.fold_compact (boolean)\nWhether or not blank lines after an ending fold point are included in that\nfold.\nThis option is disabled by default.\nThis is an alias for `lexer.property['fold.compact'] = '1|0'`. fold_consecutive_lines lexer.fold_consecutive_lines(prefix)\nReturns for `lexer.add_fold_point()` the parameters needed to fold consecutive lines that\nstart with string *prefix*.\n@param prefix The prefix string (e.g. a line comment).\n@usage lex:add_fold_point(lexer.COMMENT, lexer.fold_consecutive_lines('--'))\n@usage lex:add_fold_point(lexer.COMMENT, lexer.fold_consecutive_lines('//'))\n@usage lex:add_fold_point(lexer.KEYWORD, lexer.fold_consecutive_lines('import')) fold_display_text_style view.fold_display_text_style (number)\nThe fold display text mode.\n\n* `view.FOLDDISPLAYTEXT_HIDDEN`\n Fold display text is not shown.\n* `view.FOLDDISPLAYTEXT_STANDARD`\n Fold display text is shown with no decoration.\n* `view.FOLDDISPLAYTEXT_BOXED`\n Fold display text is shown outlined with a box.\n\nThe default value is `view.FOLDDISPLAYTEXT_HIDDEN`. fold_expanded view.fold_expanded (table)\nTable of flags per line number that indicate whether or not fold points are expanded for\nthose line numbers.\nSetting expanded fold states does not toggle folds; it only updates fold margin markers. Use\n`view.toggle_fold()` instead. fold_flags view.fold_flags (number, Read-only)\nBit-mask of folding lines to draw in the buffer.\n\n* `view.FOLDFLAG_NONE`\n Do not draw folding lines.\n* `view.FOLDFLAG_LINEBEFORE_EXPANDED`\n Draw lines above expanded folds.\n* `view.FOLDFLAG_LINEBEFORE_CONTRACTED`\n Draw lines above collapsed folds.\n* `view.FOLDFLAG_LINEAFTER_EXPANDED`\n Draw lines below expanded folds.\n* `view.FOLDFLAG_LINEAFTER_CONTRACTED`\n Draw lines below collapsed folds.\n* `view.FOLDFLAG_LEVELNUMBERS`\n Show hexadecimal fold levels in line margins.\n This option cannot be combined with `FOLDFLAG_LINESTATE`.\n* `view.FOLDFLAG_LINESTATE`\n Show line state in line margins.\n This option cannot be combined with `FOLDFLAG_LEVELNUMBERS`.\n\nThe default value is `view.FOLDFLAG_NONE`. fold_level buffer.fold_level (table)\nTable of fold level bit-masks per line number.\nFold level masks comprise of an integer level combined with any of the following bit flags:\n\n* `buffer.FOLDLEVELBASE`\n The initial fold level.\n* `buffer.FOLDLEVELWHITEFLAG`\n The line is blank.\n* `buffer.FOLDLEVELHEADERFLAG`\n The line is a header, or fold point. fold_level lexer.fold_level (table, Read-only)\nTable of fold level bit-masks for line numbers starting from 1.\nFold level masks are composed of an integer level combined with any of the following bits:\n\n* `lexer.FOLD_BASE`\n The initial fold level.\n* `lexer.FOLD_BLANK`\n The line is blank.\n* `lexer.FOLD_HEADER`\n The line is a header, or fold point. fold_line view.fold_line(view, line, action)\nContracts, expands, or toggles the fold point on line number *line*, depending on *action*.\n@param view A view.\n@param line The line number in *view* to set the fold state for.\n@param action The fold action to perform. Valid values are:\n * `view.FOLDACTION_CONTRACT`\n * `view.FOLDACTION_EXPAND`\n * `view.FOLDACTION_TOGGLE` fold_line_groups lexer.fold_line_groups (boolean)\nWhether or not to fold multiple, consecutive line groups (such as line comments and import\nstatements) and only show the top line.\nThis option is disabled by default.\nThis is an alias for `lexer.property['fold.line.groups'] = '1|0'`. fold_on_zero_sum_lines lexer.fold_on_zero_sum_lines (boolean)\nWhether or not to mark as a fold point lines that contain both an ending and starting fold\npoint. For example, `} else {` would be marked as a fold point.\nThis option is disabled by default. This is an alias for\n`lexer.property['fold.on.zero.sum.lines'] = '1|0'`. fold_parent buffer.fold_parent (table, Read-only)\nTable of fold point line numbers per child line number.\nA line number of `-1` means no line was found. folding lexer.folding (boolean)\nWhether or not folding is enabled for the lexers that support it.\nThis option is disabled by default.\nThis is an alias for `lexer.property['fold'] = '1|0'`. fontselect ui.dialogs.fontselect(options)\nPrompts the user with a font selection dialog defined by dialog options table *options*,\nreturning the font selected (including style and size).\nIf the user canceled the dialog, returns `nil`.\n@param options Table of key-value option pairs for the option select dialog.\n\n * `title`: The dialog's title text.\n * `text`: The font preview text.\n * `font_name`: The initially selected font name.\n * `font_size`: The initially selected font size. The default value is `12`.\n * `font_style`: The initially selected font style. The available options are `"regular"`,\n `"bold"`, `"italic"`, and `"bold italic"`. The default value is `"regular"`.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n@usage ui.dialogs.fontselect{title = 'Font', font_name = 'Monospace', font_size = 10}\n@return selected font, including style and size forward textadept.history.forward()\nNavigates forwards through the current view's history. functions _SCINTILLA.functions (table)\nMap of Scintilla function names to tables containing their IDs, return types, wParam types,\nand lParam types. Types are as follows:\n\n + `0`: Void.\n + `1`: Integer.\n + `2`: Length of the given lParam string.\n + `3`: Integer position.\n + `4`: Color, in "0xBBGGRR" format or "0xAABBGGRR" format where supported.\n + `5`: Boolean `true` or `false`.\n + `6`: Bitmask of Scintilla key modifiers and a key value.\n + `7`: String parameter.\n + `8`: String return value. get_cur_line buffer.get_cur_line(buffer)\nReturns the current line's text and the caret's position on that line.\n@param buffer A buffer.\n@return string, number get_default_fold_display_text view.get_default_fold_display_text(view)\nReturns the default fold display text.\n@param view A view. get_last_child buffer.get_last_child(buffer, line, level)\nReturns the line number of the last line after line number *line* whose fold level is greater\nthan *level*.\nIf *level* is `-1`, returns the level of *line*.\n@param buffer A buffer.\n@param line The line number in *buffer* of a header line.\n@param level The fold level, or `-1` for the level of *line*. get_lexer buffer.get_lexer(buffer, current)\nReturns the buffer's lexer name.\nIf *current* is `true`, returns the name of the lexer under the caret in a multiple-language\nlexer.\n@param buffer A buffer.\n@param current Whether or not to get the lexer at the current caret position in multi-language\n lexers. The default is `false` and returns the parent lexer. get_line buffer.get_line(buffer, line)\nReturns the text on line number *line*, including end of line characters.\n@param buffer A buffer.\n@param line The line number in *buffer* to use.\n@return string, number get_project_root io.get_project_root(path, submodule)\nReturns the root directory of the project that contains filesystem path *path*.\nIn order to be recognized, projects must be under version control. Recognized VCSes are\nBazaar, Fossil, Git, Mercurial, and SVN.\n@param path Optional filesystem path to a project or a file contained within a project. The\n default value is the buffer's filename or the current working directory. This parameter\n may be omitted.\n@param submodule Optional flag that indicates whether or not to return the root of the\n current submodule (if applicable). The default value is `false`.\n@return string root or nil get_rule lexer.get_rule(lexer, id)\nReturns the rule identified by string *id*.\n@param lexer The lexer to fetch a rule from.\n@param id The id of the rule to fetch.\n@return pattern get_sel_text buffer.get_sel_text(buffer)\nReturns the selected text.\nMultiple selections are included in order with no delimiters. Rectangular selections are\nincluded from top to bottom with end of line characters. Virtual space is not included.\n@param buffer A buffer.\n@return string, number get_split_table ui.get_split_table()\nReturns a split table that contains Textadept's current split view structure.\nThis is primarily used in session saving.\n@return table of split views. Each split view entry is a table with 4 fields: `1`, `2`,\n `vertical`, and `size`. `1` and `2` have values of either nested split view entries or\n the views themselves; `vertical` is a flag that indicates if the split is vertical or not;\n and `size` is the integer position of the split resizer. get_text buffer.get_text(buffer)\nReturns the buffer's text.\n@param buffer A buffer. goto_buffer view.goto_buffer(view, buffer)\nSwitches to buffer *buffer* or the buffer *buffer* number of buffers relative to the\ncurrent one.\nEmits `BUFFER_BEFORE_SWITCH` and `BUFFER_AFTER_SWITCH` events.\n@param view The view to switch buffers in.\n@param buffer A buffer or relative buffer number (typically 1 or -1).\n@see _G._BUFFERS\n@see events.BUFFER_BEFORE_SWITCH\n@see events.BUFFER_AFTER_SWITCH goto_error textadept.run.goto_error(line_num, next)\nJumps to the source of the recognized compile/run warning or error on line number *line_num*\nin the message buffer.\nIf *line_num* is `nil`, jumps to the next or previous warning or error, depending on boolean\n*next*. Displays an annotation with the warning or error message if possible.\n@param line_num Optional line number in the message buffer that contains the compile/run\n warning or error to go to. This parameter may be omitted completely.\n@param next Optional flag indicating whether to go to the next recognized warning/error or\n the previous one. Only applicable when *line_num* is `nil`.\n@see error_patterns goto_file ui.goto_file(filename, split, preferred_view, sloppy)\nSwitches to the existing view whose buffer's filename is *filename*.\nIf no view was found and *split* is `true`, splits the current view in order to show the\nrequested file. If *split* is `false`, shifts to the next or *preferred_view* view in order\nto show the requested file. If *sloppy* is `true`, requires only the basename of *filename*\nto match a buffer's `filename`. If the requested file was not found, it is opened in the\ndesired view.\n@param filename The filename of the buffer to go to.\n@param split Optional flag that indicates whether or not to open the buffer in a split view\n if there is only one view. The default value is `false`.\n@param preferred_view Optional view to open the desired buffer in if the buffer is not\n visible in any other view.\n@param sloppy Optional flag that indicates whether or not to not match *filename* to\n `buffer.filename` exactly. When `true`, matches *filename* to only the last part of\n `buffer.filename` This is useful for run and compile commands which output relative filenames\n and paths instead of full ones and it is likely that the file in question is already open.\n The default value is `false`. goto_file_found ui.find.goto_file_found(line_num, next)\nJumps to the source of the find in files search result on line number *line_num* in the buffer\ntitled "Files Found" or, if *line_num* is `nil`, jumps to the next or previous search result,\ndepending on boolean *next*.\n@param line_num Optional line number in the files found buffer that contains the search\n result to go to. This parameter may be omitted completely.\n@param next Optional flag indicating whether to go to the next search result or the previous\n one. Only applicable when *line_num* is `nil`. goto_line buffer.goto_line(buffer, line)\nMoves the caret to the beginning of line number *line* and scrolls it into view, event if\n*line* is hidden.\n@param buffer A buffer.\n@param line The line number in *buffer* to go to. goto_line textadept.editing.goto_line(line)\nMoves the caret to the beginning of line number *line* or the user-specified line, ensuring\n*line* is visible.\n@param line Optional line number to go to. If `nil`, the user is prompted for one. goto_mark textadept.bookmarks.goto_mark(next)\nPrompts the user to select a bookmarked line to move the caret to the beginning of unless\n*next* is given.\nIf *next* is `true` or `false`, moves the caret to the beginning of the next or previously\nbookmarked line, respectively.\n@param next Optional flag indicating whether to go to the next or previous bookmarked\n line relative to the current line. The default value is `nil`, prompting the user for a\n bookmarked line to go to. goto_pos buffer.goto_pos(buffer, pos)\nMoves the caret to position *pos* and scrolls it into view.\n@param buffer A buffer.\n@param pos The position in *buffer* to go to. goto_view ui.goto_view(view)\nShifts to view *view* or the view *view* number of views relative to the current one.\nEmits `VIEW_BEFORE_SWITCH` and `VIEW_AFTER_SWITCH` events.\n@param view A view or relative view number (typically 1 or -1).\n@see _G._VIEWS\n@see events.VIEW_BEFORE_SWITCH\n@see events.VIEW_AFTER_SWITCH graph lexer.graph (pattern)\nA pattern that matches any graphical character ('!' to '~'). h_scroll_bar view.h_scroll_bar (bool)\nDisplay the horizontal scroll bar.\nThe default value is `true`. height ui.command_entry.height (number)\nThe height in pixels of the command entry. hex_num lexer.hex_num (pattern)\nA pattern that matches a hexadecimal number. hide_lines view.hide_lines(view, start_line, end_line)\nHides the range of lines between line numbers *start_line* to *end_line*.\nThis has no effect on fold levels or fold flags.\n@param view A view.\n@param start_line The start line of the range of lines in *view* to hide.\n@param end_line The end line of the range of lines in *view* to hide. highlight_all_matches ui.find.highlight_all_matches (boolean)\nWhether or not to highlight all occurrences of found text in the current buffer.\nThe default value is `false`. highlight_guide view.highlight_guide (number)\nThe indentation guide column number to also highlight when highlighting matching braces,\nor `0` to stop indentation guide highlighting. highlight_words textadept.editing.highlight_words (number)\nThe word highlight mode.\n\n* `textadept.editing.HIGHLIGHT_CURRENT`\n Automatically highlight all instances of the current word.\n* `textadept.editing.HIGHLIGHT_SELECTED`\n Automatically highlight all instances of the selected word.\n* `textadept.editing.HIGHLIGHT_NONE`\n Do not automatically highlight words.\n\nThe default value is `textadept.editing.HIGHLIGHT_NONE`. history textadept.history (module)\nRecords buffer positions within Textadept views over time and allows for navigating through\nthat history.\n\nThis module listens for text edit events and buffer switch events. Each time an insertion\nor deletion occurs, its location is recorded in the current view's location history. If the\nedit is close enough to the previous record, the previous record is amended. Each time a\nbuffer switch occurs, the before and after locations are also recorded. home buffer.home(buffer)\nMoves the caret to the beginning of the current line.\n@param buffer A buffer. home_display buffer.home_display(buffer)\nMoves the caret to the beginning of the current wrapped line.\n@param buffer A buffer. home_display_extend buffer.home_display_extend(buffer)\nMoves the caret to the beginning of the current wrapped line, extending the selected text\nto the new position.\n@param buffer A buffer. home_extend buffer.home_extend(buffer)\nMoves the caret to the beginning of the current line, extending the selected text to the\nnew position.\n@param buffer A buffer. home_rect_extend buffer.home_rect_extend(buffer)\nMoves the caret to the beginning of the current line, extending the rectangular selection\nto the new position.\n@param buffer A buffer. home_wrap buffer.home_wrap(buffer)\nMoves the caret to the beginning of the current wrapped line or, if already there, to the\nbeginning of the actual line.\n@param buffer A buffer. home_wrap_extend buffer.home_wrap_extend(buffer)\nLike `buffer.home_wrap()`, but extends the selected text to the new position.\n@param buffer A buffer. iconv string.iconv(text, new, old)\nConverts string *text* from encoding *old* to encoding *new* using GNU libiconv, returning\nthe string result.\nRaises an error if the encoding conversion failed.\nValid encodings are GNU libiconv's encodings and include:\n\n * European: ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R,\n KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131},\n Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, Mac{Cyrillic,Ukraine,Greek,Turkish},\n Macintosh.\n * Semitic: ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}.\n * Japanese: EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1.\n * Chinese: EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2004,\n BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT.\n * Korean: EUC-KR, CP949, ISO-2022-KR, JOHAB.\n * Armenian: ARMSCII-8.\n * Georgian: Georgian-Academy, Georgian-PS.\n * Tajik: KOI8-T.\n * Kazakh: PT154, RK1048.\n * Thai: ISO-8859-11, TIS-620, CP874, MacThai.\n * Laotian: MuleLao-1, CP1133.\n * Vietnamese: VISCII, TCVN, CP1258.\n * Unicode: UTF-8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UTF-16, UTF-16BE,\n UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF-7, C99, JAVA.\n@param text The text to convert.\n@param new The string encoding to convert to.\n@param old The string encoding to convert from. idle_styling view.idle_styling (number)\nThe idle styling mode.\nThis mode has no effect when `view.wrap_mode` is on.\n\n* `view.IDLESTYLING_NONE`\n Style all the currently visible text before displaying it.\n* `view.IDLESTYLING_TOVISIBLE`\n Style some text before displaying it and then style the rest incrementally in the\n background as an idle-time task.\n* `view.IDLESTYLING_AFTERVISIBLE`\n Style text after the currently visible portion in the background.\n* `view.IDLESTYLING_ALL`\n Style text both before and after the visible text in the background.\n\nThe default value is `view.IDLESTYLING_NONE`. in_files ui.find.in_files (bool)\nFind search text in a directory of files.\nThe default value is `false`. in_files_label_text ui.find.in_files_label_text (string, Write-only)\nThe text of the "In files" label.\nThis is primarily used for localization. incremental ui.find.incremental (bool)\nFind search text incrementally as it is typed.\nThe default value is `false`. indent buffer.indent (number)\nThe number of spaces in one level of indentation.\nThe default value is `0`, which uses the value of `buffer.tab_width`. indent_amount lexer.indent_amount (table, Read-only)\nTable of indentation amounts in character columns, for line numbers starting from 1. indentation_guides view.indentation_guides (number)\nThe indentation guide drawing mode.\nIndentation guides are dotted vertical lines that appear within indentation whitespace at\neach level of indentation.\n\n* `view.IV_NONE`\n Does not draw any guides.\n* `view.IV_REAL`\n Draw guides only within indentation whitespace.\n* `view.IV_LOOKFORWARD`\n Draw guides beyond the current line up to the next non-empty line's indentation level,\n but with an additional level if the previous non-empty line is a fold point.\n* `view.IV_LOOKBOTH`\n Draw guides beyond the current line up to either the indentation level of the previous\n or next non-empty line, whichever is greater.\n\nThe default value is `view.IV_NONE`. indic_alpha view.indic_alpha (table)\nTable of fill color alpha values, ranging from `0` (transparent) to `255` (opaque),\nfor indicator numbers from `1` to `32` whose styles are either `INDIC_ROUNDBOX`,\n`INDIC_STRAIGHTBOX`, or `INDIC_DOTBOX`.\nThe default values are `view.ALPHA_NOALPHA`, for no alpha. indic_fore view.indic_fore (table)\nTable of foreground colors, in "0xBBGGRR" format, for indicator numbers from `1` to `32`.\nChanging an indicator's foreground color resets that indicator's hover foreground color. indic_hover_fore view.indic_hover_fore (table)\nTable of hover foreground colors, in "0xBBGGRR" format, for indicator numbers from `1` to\n`32`.\nThe default values are the respective indicator foreground colors. indic_hover_style view.indic_hover_style (table)\nTable of hover styles for indicators numbers from `1` to `32`.\nAn indicator's hover style drawn when either the cursor hovers over that indicator or the\ncaret is within that indicator.\nThe default values are the respective indicator styles. indic_outline_alpha view.indic_outline_alpha (table)\nTable of outline color alpha values, ranging from `0` (transparent) to `255` (opaque),\nfor indicator numbers from `1` to `32` whose styles are either `INDIC_ROUNDBOX`,\n`INDIC_STRAIGHTBOX`, or `INDIC_DOTBOX`.\nThe default values are `view.ALPHA_NOALPHA`, for no alpha. indic_stroke_width view.indic_stroke_width (table)\nTable of stroke widths in hundredths of a pixel for indicator numbers from `1` to `32`\nwhose styles are either `INDIC_PLAIN`, `INDIC_SQUIGGLE`, `INDIC_TT`, `INDIC_DIAGONAL`,\n`INDIC_STRIKE`, `INDIC_BOX`, `INDIC_ROUNDBOX`, `INDIC_STRAIGHTBOX`, `INDIC_FULLBOX`,\n`INDIC_DASH`, `INDIC_DOTS`, or `INDIC_SQUIGGLELOW`.\nThe default values are `100`, or 1 pixel. indic_style view.indic_style (table)\nTable of styles for indicator numbers from `1` to `32`.\n\n* `view.INDIC_PLAIN`\n An underline.\n* `view.INDIC_SQUIGGLE`\n A squiggly underline 3 pixels in height.\n* `view.INDIC_TT`\n An underline of small 'T' shapes.\n* `view.INDIC_DIAGONAL`\n An underline of diagonal hatches.\n* `view.INDIC_STRIKE`\n Strike out.\n* `view.INDIC_HIDDEN`\n Invisible.\n* `view.INDIC_BOX`\n A bounding box.\n* `view.INDIC_ROUNDBOX`\n A translucent box with rounded corners around the text. Use `view.indic_alpha` and\n `view.indic_outline_alpha` to set the fill and outline transparency, respectively.\n Their default values are `30` and `50`.\n* `view.INDIC_STRAIGHTBOX`\n Similar to `INDIC_ROUNDBOX` but with sharp corners.\n* `view.INDIC_DASH`\n A dashed underline.\n* `view.INDIC_DOTS`\n A dotted underline.\n* `view.INDIC_SQUIGGLELOW`\n A squiggly underline 2 pixels in height.\n* `view.INDIC_DOTBOX`\n Similar to `INDIC_STRAIGHTBOX` but with a dotted outline.\n Translucency alternates between `view.indic_alpha` and `view.indic_outline_alpha`\n starting with the top-left pixel.\n* `view.INDIC_SQUIGGLEPIXMAP`\n Identical to `INDIC_SQUIGGLE` but draws faster by using a pixmap instead of multiple\n line segments.\n* `view.INDIC_COMPOSITIONTHICK`\n A 2-pixel thick underline at the bottom of the line inset by 1 pixel on on either\n side. Similar in appearance to the target in Asian language input composition.\n* `view.INDIC_COMPOSITIONTHIN`\n A 1-pixel thick underline just before the bottom of the line inset by 1 pixel on either\n side. Similar in appearance to the non-target ranges in Asian language input composition.\n* `view.INDIC_FULLBOX`\n Similar to `INDIC_STRAIGHTBOX` but extends to the top of its line, potentially touching\n any similar indicators on the line above.\n* `view.INDIC_TEXTFORE`\n Changes the color of text to an indicator's foreground color.\n* `view.INDIC_POINT`\n A triangle below the start of the indicator range.\n* `view.INDIC_POINTCHARACTER`\n A triangle below the center of the first character of the indicator\n range.\n* `view.INDIC_GRADIENT`\n A box with a vertical gradient from solid on top to transparent on bottom.\n* `view.INDIC_GRADIENTCENTER`\n A box with a centered gradient from solid in the middle to transparent on the top\n and bottom.\n\nUse `_SCINTILLA.next_indic_number()` for custom indicators.\nChanging an indicator's style resets that indicator's hover style. indic_under view.indic_under (table)\nTable of flags that indicate whether or not to draw indicators behind text instead of over\nthe top of it for indicator numbers from `1` to `32`.\nThe default values are `false`. indicator_all_on_for buffer.indicator_all_on_for(buffer, pos)\nReturns a bit-mask that represents which indicators are on at position *pos*.\nThe first bit is set if indicator 1 is on, the second bit for indicator 2, etc.\n@param buffer A buffer.\n@param pos The position in *buffer* to get indicators at.\n@return number indicator_clear_range buffer.indicator_clear_range(buffer, pos, length)\nClears indicator number `buffer.indicator_current` over the range of text from position *pos*\nto *pos* + *length*.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to clear indicators over.\n@param length The number of characters in the range of text to clear indicators over. indicator_current buffer.indicator_current (number)\nThe indicator number in the range of `1` to `32` used by `buffer.indicator_fill_range()`\nand `buffer.indicator_clear_range()`. indicator_end buffer.indicator_end(buffer, indicator, pos)\nReturns the next boundary position, starting from position *pos*, of indicator number\n*indicator*, in the range of `1` to `32`.\nReturns `1` if *indicator* was not found.\n@param buffer A buffer.\n@param indicator An indicator number in the range of `1` to `32`.\n@param pos The position in *buffer* of the indicator. indicator_fill_range buffer.indicator_fill_range(buffer, pos, length)\nFills the range of text from position *pos* to *pos* + *length* with indicator number\n`buffer.indicator_current`.\n@param buffer A buffer.\n@param pos The start position of the range of text in *buffer* to set indicators over.\n@param length The number of characters in the range of text to set indicators over. indicator_start buffer.indicator_start(buffer, indicator, pos)\nReturns the previous boundary position, starting from position *pos*, of indicator number\n*indicator*, in the range of `1` to `32`.\nReturns `1` if *indicator* was not found.\n@param buffer A buffer.\n@param indicator An indicator number in the range of `1` to `32`.\n@param pos The position in *buffer* of the indicator. inputbox ui.dialogs.inputbox(options)\nPrompts the user with an inputbox dialog defined by dialog options table *options*, returning\nthe selected button's index along with the user's input text (the latter as a string or table,\ndepending on the type of *options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nuser's input text. If the dialog timed out, returns `0` or `"timeout"`. If the user canceled\nthe dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text. If the value is a table, the first\n table value is the main message text and any subsequent values are used as the labels\n for multiple entry boxes. Providing a single label has no effect.\n * `text`: The dialog's initial input text. If the value is a table, the table values are\n used to populate the multiple entry boxes defined by `informative_text`.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.inputbox{title = 'Goto Line', informative_text = 'Line:',\n text = '1'}\n@return selected button or exit code, input text insert textadept.snippets.insert(text)\nInserts snippet text *text* or the snippet assigned to the trigger word behind the caret.\nOtherwise, if a snippet is active, goes to the active snippet's next placeholder. Returns\n`false` if no action was taken.\n@param text Optional snippet text to insert. If `nil`, attempts to insert a new snippet\n based on the trigger, the word behind caret, and the current lexer.\n@return `false` if no action was taken; `nil` otherwise.\n@see buffer.word_chars insert_text buffer.insert_text(buffer, pos, text)\nInserts string *text* at position *pos*, removing any selections.\nIf *pos* is `-1`, inserts *text* at the caret position.\nIf the caret is after the *pos*, it is moved appropriately, but not scrolled into view.\n@param buffer A buffer.\n@param pos The position in *buffer* to insert text at, or `-1` for the current position.\n@param text The text to insert. integer lexer.integer (pattern)\nA pattern that matches either a decimal, hexadecimal, or octal number. io _G.io (module)\nExtends Lua's `io` library with Textadept functions for working with files. is_range_word buffer.is_range_word(buffer, start_pos, end_pos)\nReturns whether or not the the positions *start_pos* and *end_pos* are at word boundaries.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to check for a word\n boundary at.\n@param end_pos The end position of the range of text in *buffer* to check for a word\n boundary at. join_lines textadept.editing.join_lines()\nJoins the currently selected lines or the current line with the line below it.\nAs long as any part of a line is selected, the entire line is eligible for joining. keychain keys.keychain (table)\nThe current chain of key sequences. (Read-only.) keys _G.keys (module)\nManages key bindings in Textadept. keys _G.keys (table)\nMap of key bindings to commands, with language-specific key tables assigned to a lexer name key. keys textadept.keys (module)\nDefines key bindings for Textadept.\nThis set of key bindings is pretty standard among other text editors, at least for basic\nediting commands and movements. kill spawn_proc:kill(signal)\nKills running process *spawn_proc*, or sends it Unix signal *signal*.\n@param signal Optional Unix signal to send to *spawn_proc*. The default value is 9 (`SIGKILL`),\n which kills the process. last_char_includes lexer.last_char_includes(s)\nCreates and returns a pattern that verifies the first non-whitespace character behind the\ncurrent match position is in string set *s*.\n@param s String character set like one passed to `lpeg.S()`.\n@usage local regex = lexer.last_char_includes('+-*!%^&|=,([{') * lexer.range('/')\n@return pattern length buffer.length (number, Read-only)\nThe number of bytes in the buffer. lex lexer.lex(lexer, text, init_style)\nLexes a chunk of text *text* (that has an initial style number of *init_style*) using lexer\n*lexer*, returning a table of token names and positions.\n@param lexer The lexer to lex text with.\n@param text The text in the buffer to lex.\n@param init_style The current style. Multiple-language lexers use this to determine which\n language to start lexing in.\n@return table of token names and positions. lexer _G.lexer (module)\nLexes Scintilla documents and source code with Lua and LPeg. lfs _G.lfs (module)\nExtends the `lfs` library to find files in directories and determine absolute file paths. line_copy buffer.line_copy(buffer)\nCopies the current line to the clipboard.\n@param buffer A buffer. line_count buffer.line_count (number, Read-only)\nThe number of lines in the buffer.\nThere is always at least one. line_cut buffer.line_cut(buffer)\nCuts the current line to the clipboard.\n@param buffer A buffer. line_delete buffer.line_delete(buffer)\nDeletes the current line.\n@param buffer A buffer. line_down buffer.line_down(buffer)\nMoves the caret down one line.\n@param buffer A buffer. line_down_extend buffer.line_down_extend(buffer)\nMoves the caret down one line, extending the selected text to the new position.\n@param buffer A buffer. line_down_rect_extend buffer.line_down_rect_extend(buffer)\nMoves the caret down one line, extending the rectangular selection to the new position.\n@param buffer A buffer. line_duplicate buffer.line_duplicate(buffer)\nDuplicates the current line on a new line below.\n@param buffer A buffer. line_end buffer.line_end(buffer)\nMoves the caret to the end of the current line.\n@param buffer A buffer. line_end_display buffer.line_end_display(buffer)\nMoves the caret to the end of the current wrapped line.\n@param buffer A buffer. line_end_display_extend buffer.line_end_display_extend(buffer)\nMoves the caret to the end of the current wrapped line, extending the selected text to the\nnew position.\n@param buffer A buffer. line_end_extend buffer.line_end_extend(buffer)\nMoves the caret to the end of the current line, extending the selected text to the new position.\n@param buffer A buffer. line_end_position buffer.line_end_position (table, Read-only)\nTable of positions at the ends of lines, but before any end of line characters, per\nline number. line_end_rect_extend buffer.line_end_rect_extend(buffer)\nMoves the caret to the end of the current line, extending the rectangular selection to the\nnew position.\n@param buffer A buffer. line_end_wrap buffer.line_end_wrap(buffer)\nMoves the caret to the end of the current wrapped line or, if already there, to the end of\nthe actual line.\n@param buffer A buffer. line_end_wrap_extend buffer.line_end_wrap_extend(buffer)\nLike `buffer.line_end_wrap()`, but extends the selected text to the new position.\n@param buffer A buffer. line_from_position buffer.line_from_position(buffer, pos)\nReturns the line number of the line that contains position *pos*.\nReturns `1` if *pos* is less than 1 or `buffer.line_count` if *pos* is greater than\n`buffer.length + 1`.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the line number of.\n@return number line_from_position lexer.line_from_position(pos)\nReturns the line number (starting from 1) of the line that contains position *pos*, which\nstarts from 1.\n@param pos The position to get the line number of.\n@return number line_indent_position buffer.line_indent_position (table, Read-only)\nTable of positions at the ends of indentation per line number. line_indentation buffer.line_indentation (table)\nTable of column indentation amounts per line number. line_length buffer.line_length(buffer, line)\nReturns the number of bytes on line number *line*, including end of line characters.\nTo get line length excluding end of line characters, use `buffer.line_end_position[line]\n- buffer.position_from_line(line)`.\n@param buffer A buffer.\n@param line The line number in *buffer* to get the length of.\n@return number line_reverse buffer.line_reverse(buffer)\nReverses the order of the selected lines.\n@param buffer A buffer. line_scroll view.line_scroll(view, columns, lines)\nScrolls the buffer right *columns* columns and down *lines* lines.\nNegative values are allowed.\n@param view A view.\n@param columns The number of columns to scroll horizontally.\n@param lines The number of lines to scroll vertically. line_scroll_down view.line_scroll_down(view)\nScrolls the buffer down one line, keeping the caret visible.\n@param view A view. line_scroll_up view.line_scroll_up(view)\nScrolls the buffer up one line, keeping the caret visible.\n@param view A view. line_state lexer.line_state (table)\nTable of integer line states for line numbers starting from 1.\nLine states can be used by lexers for keeping track of persistent states. line_transpose buffer.line_transpose(buffer)\nSwaps the current line with the previous one.\n@param buffer A buffer. line_up buffer.line_up(buffer)\nMoves the caret up one line.\n@param buffer A buffer. line_up_extend buffer.line_up_extend(buffer)\nMoves the caret up one line, extending the selected text to the new position.\n@param buffer A buffer. line_up_rect_extend buffer.line_up_rect_extend(buffer)\nMoves the caret up one line, extending the rectangular selection to the new position.\n@param buffer A buffer. line_visible view.line_visible (table, Read-only)\nTable of flags per line number that indicate whether or not lines are visible for those\nline numbers. lines_join buffer.lines_join(buffer)\nJoins the lines in the target range, inserting spaces between the words joined at line\nboundaries.\n@param buffer A buffer. lines_on_screen view.lines_on_screen (number, Read-only)\nThe number of completely visible lines in the view.\nIt is possible to have a partial line visible at the bottom of the view. lines_split buffer.lines_split(buffer, pixel_width, width)\nSplits the lines in the target range into lines *width* pixels wide.\nIf *width* is `0`, splits the lines in the target range into lines as wide as the view.\n@param buffer A buffer.\n@param width The pixel width to split lines at. When `0`, uses the width of the view. load lexer.load(name, alt_name, cache)\nInitializes or loads and returns the lexer of string name *name*.\nScintilla calls this function in order to load a lexer. Parent lexers also call this function\nin order to load child lexers and vice-versa. The user calls this function in order to load\na lexer when using Scintillua as a Lua library.\n@param name The name of the lexing language.\n@param alt_name The alternate name of the lexing language. This is useful for embedding the\n same child lexer with multiple sets of start and end tokens.\n@param cache Flag indicating whether or not to load lexers from the cache. This should only\n be `true` when initially loading a lexer (e.g. not from within another lexer for embedding\n purposes). The default value is `false`.\n@return lexer object load textadept.macros.load(filename)\nLoads a macro from file *filename* or the user-selected file.\n@param filename Optional macro file to load. If `nil`, the user is prompted for one. load textadept.session.load(filename)\nLoads session file *filename* or the user-selected session, returning `true` if a session\nfile was opened and read.\nTextadept restores split views, opened buffers, cursor information, recent files, and bookmarks.\n@param filename Optional absolute path to the session file to load. If `nil`, the user is\n prompted for one.\n@usage textadept.session.load(filename)\n@return `true` if the session file was opened and read; `nil` otherwise. lower lexer.lower (pattern)\nA pattern that matches any lower case character ('a'-'z'). lower_case buffer.lower_case(buffer)\nConverts the selected text to lower case letters.\n@param buffer A buffer. lua _M.lua (module)\nThe lua module.\nIt provides utilities for editing Lua code. macros textadept.macros (module)\nA module for recording, playing, saving, and loading keyboard macros.\nMenu commands are also recorded.\nAt this time, typing into multiple cursors during macro playback is not supported. main_selection buffer.main_selection (number)\nThe number of the main or most recent selection.\nOnly an existing selection can be made main. margin_back_n view.margin_back_n (table)\nTable of background colors, in "0xBBGGRR" format, of margin numbers from `1` to `view.margins`\n(`5` by default).\nOnly affects margins of type `view.MARGIN_COLOR`. margin_cursor_n view.margin_cursor_n (table)\nTable of cursor types shown over margin numbers from `1` to `view.margins` (`5` by default).\n\n* `view.CURSORARROW`\n Normal arrow cursor.\n* `view.CURSORREVERSEARROW`\n Reversed arrow cursor.\n\nThe default values are `view.CURSORREVERSEARROW`. margin_left view.margin_left (number)\nThe pixel size of the left margin of the buffer text.\nThe default value is `1`. margin_mask_n view.margin_mask_n (table)\nTable of bit-masks of markers whose symbols marker symbol margins can display for margin\nnumbers from `1` to `view.margins` (`5` by default).\nBit-masks are 32-bit values whose bits correspond to the 32 available markers.\nThe default values are `0`, `view.MASK_FOLDERS`, `0`, `0`, and `0`, for a line margin and\nlogical marker margin. margin_options view.margin_options (number)\nA bit-mask of margin option settings.\n\n* `view.MARGINOPTION_NONE`\n None.\n* `view.MARGINOPTION_SUBLINESELECT`\n Select only a wrapped line's sub-line (rather than the entire line) when the line number\n margin is clicked.\n\nThe default value is `view.MARGINOPTION_NONE`. margin_right view.margin_right (number)\nThe pixel size of the right margin of the buffer text.\nThe default value is `1`. margin_sensitive_n view.margin_sensitive_n (table)\nTable of flags that indicate whether or not mouse clicks in margins emit `MARGIN_CLICK`\nevents for margin numbers from `1` to `view.margins` (`5` by default).\nThe default values are `false`. margin_style buffer.margin_style (table)\nTable of style numbers in the text margin per line number.\nOnly some style attributes are active in text margins: font, size, bold, italics, fore,\nand back. margin_text buffer.margin_text (table)\nTable of text displayed in text margins per line number. margin_text_clear_all buffer.margin_text_clear_all(buffer)\nClears all text in text margins.\n@param buffer A buffer. margin_type_n view.margin_type_n (table)\nTable of margin types for margin numbers from `1` to `view.margins` (`5` by default).\n\n* `view.MARGIN_SYMBOL`\n A marker symbol margin.\n* `view.MARGIN_NUMBER`\n A line number margin.\n* `view.MARGIN_BACK`\n A marker symbol margin whose background color matches the default text background color.\n* `view.MARGIN_FORE`\n A marker symbol margin whose background color matches the default text foreground color.\n* `view.MARGIN_TEXT`\n A text margin.\n* `view.MARGIN_RTEXT`\n A right-justified text margin.\n* `view.MARGIN_COLOR`\n A marker symbol margin whose background color is configurable.\n\nThe default value for the first margin is `view.MARGIN_NUMBER`, followed by\n`view.MARGIN_SYMBOL` for the rest. margin_width_n view.margin_width_n (table)\nTable of pixel margin widths for margin numbers from `1` to `view.margins` (`5` by default). margins view.margins (number)\nThe number of margins.\nThe default value is `5`. marker_add buffer.marker_add(buffer, line, marker)\nAdds marker number *marker*, in the range of `1` to `32`, to line number *line*, returning\nthe added marker's handle which can be used in `buffer.marker_delete_handle()` and\n`buffer.marker_line_from_handle()`, or `-1` if *line* is invalid.\n@param buffer A buffer.\n@param line The line number to add the marker on.\n@param marker The marker number in the range of `1` to `32` to add.\n@return number marker_add_set buffer.marker_add_set(buffer, line, marker_mask)\nAdds the markers specified in marker bit-mask *marker_mask* to line number *line*.\nThe first bit is set to add marker number 1, the second bit for marker number 2, and so on\nup to marker number 32.\n@param buffer A buffer.\n@param line The line number to add the markers on.\n@param marker_mask The mask of markers to set. Set the first bit to set marker 1, the second\n bit for marker 2 and so on. marker_alpha view.marker_alpha (table, Write-only)\nTable of alpha values, ranging from `0` (transparent) to `255` (opaque), of markers drawn\nin the text area (not the margin) for markers numbers from `1` to `32`.\nThe default values are `view.ALPHA_NOALPHA`, for no alpha. marker_back view.marker_back (table, Write-only)\nTable of background colors, in "0xBBGGRR" format, of marker numbers from `1` to `32`. marker_back_selected view.marker_back_selected (table, Write-only)\nTable of background colors, in "0xBBGGRR" format, of markers whose folding blocks are\nselected for marker numbers from `1` to `32`. marker_back_selected_translucent view.marker_back_selected_translucent (table, Write-only)\nTable of background colors, in "0xAABBGGRR" format, of markers whose folding blocks are\nselected for marker numbers from `1` to `32`. marker_back_translucent view.marker_back_translucent (table, Write-only)\nTable of background colors, in "0xAABBGGRR" format, of marker numbers from `1` to `32`. marker_define view.marker_define(view, marker, symbol)\nAssigns marker symbol *symbol* to marker number *marker*, in the range of `1` to `32`.\n*symbol* is shown in marker symbol margins next to lines marked with *marker*.\n@param view A view.\n@param marker The marker number in the range of `1` to `32` to set *symbol* for.\n@param symbol The marker symbol: `buffer.MARK_*`.\n@see _SCINTILLA.next_marker_number marker_define_pixmap view.marker_define_pixmap(view, marker, pixmap)\nAssociates marker number *marker*, in the range of `1` to `32`, with XPM image *pixmap*.\nThe `view.MARK_PIXMAP` marker symbol must be assigned to *marker*. *pixmap* is shown in\nmarker symbol margins next to lines marked with *marker*.\n@param view A view.\n@param marker The marker number in the range of `1` to `32` to define pixmap *pixmap* for.\n@param pixmap The string pixmap data. marker_define_rgba_image view.marker_define_rgba_image(view, marker, pixels)\nAssociates marker number *marker*, in the range of `1` to `32`, with RGBA image *pixels*.\nThe dimensions for *pixels* (`view.rgba_image_width` and `view.rgba_image_height`) must\nhave already been defined. *pixels* is a sequence of 4 byte pixel values (red, blue, green,\nand alpha) defining the image line by line starting at the top-left pixel.\nThe `view.MARK_RGBAIMAGE` marker symbol must be assigned to *marker*. *pixels* is shown in\nsymbol margins next to lines marked with *marker*.\n@param view A view.\n@param marker The marker number in the range of `1` to `32` to define RGBA data *pixels* for.\n@param pixels The string sequence of 4 byte pixel values starting with the pixels for the\n top line, with the leftmost pixel first, then continuing with the pixels for subsequent\n lines. There is no gap between lines for alignment reasons. Each pixel consists of, in\n order, a red byte, a green byte, a blue byte and an alpha byte. The color bytes are not\n premultiplied by the alpha value. That is, a fully red pixel that is 25% opaque will be\n `[FF, 00, 00, 3F]`. marker_delete buffer.marker_delete(buffer, line, marker)\nDeletes marker number *marker*, in the range of `1` to `32`, from line number *line*. If\n*marker* is `-1`, deletes all markers from *line*.\n@param buffer A buffer.\n@param line The line number to delete the marker on.\n@param marker The marker number in the range of `1` to `32` to delete from *line*, or `-1`\n to delete all markers from the line. marker_delete_all buffer.marker_delete_all(buffer, marker)\nDeletes marker number *marker*, in the range of `1` to `32`, from any line that has it.\nIf *marker* is `-1`, deletes all markers from all lines.\n@param buffer A buffer.\n@param marker The marker number in the range of `1` to `32` to delete from all lines, or\n `-1` to delete all markers from all lines. marker_delete_handle buffer.marker_delete_handle(buffer, handle)\nDeletes the marker with handle *handle* returned by `buffer.marker_add()`.\n@param buffer A buffer.\n@param handle The identifier of a marker returned by `buffer.marker_add()`. marker_enable_highlight view.marker_enable_highlight(view, enabled)\nHighlights the margin fold markers for the current fold block if *enabled* is `true`.\n@param view A view.\n@param enabled Whether or not to enable highlight. marker_fore view.marker_fore (table, Write-only)\nTable of foreground colors, in "0xBBGGRR" format, of marker numbers from `1` to `32`. marker_fore_translucent view.marker_fore_translucent (table, Write-only)\nTable of foreground colors, in "0xAABBGGRR" format, of marker numbers from `1` to `32`. marker_get buffer.marker_get(buffer, line)\nReturns a bit-mask that represents the markers on line number *line*.\nThe first bit is set if marker number 1 is present, the second bit for marker number 2,\nand so on.\n@param buffer A buffer.\n@param line The line number to get markers on.\n@return number marker_handle_from_line buffer.marker_handle_from_line(buffer, line, n)\nReturns the handle of the *n*th marker on line number *line*, or `-1` if no such marker exists.\n@param buffer A buffer.\n@param line The line number to get markers on.\n@param n The marker to get the handle of. marker_layer view.marker_layer (table)\nTable of layer modes for drawing markers in the text area (not the margin) for marker\nnumbers from `1` to `32`.\n\n* `view.LAYER_BASE`\n Draw markers opaquely on the background.\n* `view.LAYER_UNDER_TEXT`\n Draw markers translucently under text.\n* `view.LAYER_OVER_TEXT`\n Draw markers translucently over text.\n\nThe default values are `view.LAYER_BASE`. marker_line_from_handle buffer.marker_line_from_handle(buffer, handle)\nReturns the line number of the line that contains the marker with handle *handle* (returned\n`buffer.marker_add()`), or `-1` if the line was not found.\n@param buffer A buffer.\n@param handle The identifier of a marker returned by `buffer.marker_add()`.\n@return number marker_next buffer.marker_next(buffer, line, marker_mask)\nReturns the first line number, starting at line number *line*, that contains all of the\nmarkers represented by marker bit-mask *marker_mask*.\nReturns `-1` if no line was found.\nThe first bit is set if marker 1 is set, the second bit for marker 2, etc., up to marker 32.\n@param buffer A buffer.\n@param line The start line to search from.\n@param marker_mask The mask of markers to find. Set the first bit to find marker 1, the\n second bit for marker 2, and so on.\n@return number marker_number_from_line buffer.marker_number_from_line(buffer, line, n)\nReturns the number of the *n*th marker on line number *line*, or `-1` if no such marker exists.\n@param buffer A buffer.\n@param line The line number to get markers on.\n@param n The marker to get the number of. marker_previous buffer.marker_previous(buffer, line, marker_mask)\nReturns the last line number, before or on line number *line*, that contains all of the\nmarkers represented by marker bit-mask *marker_mask*.\nReturns `-1` if no line was found.\nThe first bit is set if marker 1 is set, the second bit for marker 2, etc., up to marker 32.\n@param buffer A buffer.\n@param line The start line to search from.\n@param marker_mask The mask of markers to find. Set the first bit to find marker 1, the\n second bit for marker 2, and so on.\n@return number marker_stroke_width view.marker_stroke_width (table, Write-only)\nTable of stroke widths in hundredths of a pixel for marker numbers from `1` to `32`.\nThe default values are `100`, or 1 pixel. marker_symbol_defined view.marker_symbol_defined(view, marker)\nReturns the symbol assigned to marker number *marker*, in the range of `1` to `32`, used in\n`view.marker_define()`,\n`view.marker_define_pixmap()`, or `view.marker_define_rgba_image()`.\n@param view A view.\n@param marker The marker number in the range of `1` to `32` to get the symbol of.\n@return number match_case ui.find.match_case (bool)\nMatch search text case sensitively.\nThe default value is `false`. match_case_label_text ui.find.match_case_label_text (string, Write-only)\nThe text of the "Match case" label.\nThis is primarily used for localization. maximized ui.maximized (bool)\nWhether or not Textadept's window is maximized. maximum_history_size textadept.history.maximum_history_size (number)\nThe maximum number of history records to keep per view.\nThe default value is `100`. menu textadept.menu (module)\nDefines the menus used by Textadept.\nMenus are simply tables of menu items and submenus and may be edited in place. A menu item\nitself is a table whose first element is a menu label and whose second element is a menu\ncommand to run. Submenus have `title` keys assigned to string text. menu ui.menu(menu_table)\nLow-level function for creating a menu from table *menu_table* and returning the userdata.\nYou probably want to use the higher-level `textadept.menu.menubar`,\n`textadept.menu.context_menu`, or `textadept.menu.tab_context_menu` tables.\nEmits a `MENU_CLICKED` event when a menu item is selected.\n@param menu_table A table defining the menu. It is an ordered list of tables with a string\n menu item, integer menu ID, and optional GDK keycode and modifier mask. The latter\n two are used to display key shortcuts in the menu. '_' characters are treated as a menu\n mnemonics. If the menu item is empty, a menu separator item is created. Submenus are just\n nested menu-structure tables. Their title text is defined with a `title` key.\n@usage ui.menu{ {'_New', 1}, {'_Open', 2}, {''}, {'_Quit', 4} }\n@usage ui.menu{ {'_New', 1, string.byte('n'), 4} } -- 'Ctrl+N'\n@see events.MENU_CLICKED\n@see textadept.menu.menubar\n@see textadept.menu.context_menu\n@see textadept.menu.tab_context_menu menubar textadept.menu.menubar (table)\nThe default main menubar.\nIndividual menus, submenus, and menu items can be retrieved by name in addition to table\nindex number. menubar ui.menubar (table)\nA table of menus defining a menubar. (Write-only).\nThis is a low-level field. You probably want to use the higher-level `textadept.menu.menubar`.\n@see textadept.menu.menubar minimum_line_distance textadept.history.minimum_line_distance (number)\nThe minimum number of lines between distinct history records.\nThe default value is `3`. mode keys.mode (string)\nThe current key mode.\nWhen non-`nil`, all key bindings defined outside of `keys[mode]` are ignored.\nThe default value is `nil`. modify buffer.modify (bool, Read-only)\nWhether or not the buffer has unsaved changes. modify_rule lexer.modify_rule(lexer, id, rule)\nReplaces in lexer *lexer* the existing rule identified by string *id* with pattern *rule*.\n@param lexer The lexer to modify.\n@param id The id associated with this rule.\n@param rule The LPeg pattern of the rule. mouse_dwell_time view.mouse_dwell_time (number)\nThe number of milliseconds the mouse must idle before generating a `DWELL_START` event. A\ntime of `view.TIME_FOREVER` will never generate one. mouse_selection_rectangular_switch view.mouse_selection_rectangular_switch (bool)\nWhether or not pressing `view.rectangular_selection_modifier` when selecting text\nnormally with the mouse turns on rectangular selection.\nThe default value is `false`. move_caret_inside_view buffer.move_caret_inside_view(buffer)\nMoves the caret into view if it is not already, removing any selections.\n@param buffer A buffer. move_extends_selection buffer.move_extends_selection (bool, Read-only)\nWhether or not regular caret movement alters the selected text.\n`buffer.selection_mode` dictates this property. move_selected_lines_down buffer.move_selected_lines_down(buffer)\nShifts the selected lines down one line.\n@param buffer A buffer. move_selected_lines_up buffer.move_selected_lines_up(buffer)\nShifts the selected lines up one line.\n@param buffer A buffer. msgbox ui.dialogs.msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options table *options*,\nreturning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label. If the dialog timed\nout, returns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `informative_text`: The dialog's extra informative text.\n * `icon`: The dialog's icon name, according to the Free Desktop Icon Naming\n Specification. Examples are "dialog-error", "dialog-information", "dialog-question",\n and "dialog-warning". The dialog does not display an icon by default.\n * `icon_file`: The dialog's icon file path. This option has no effect when `icon` is set.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.msgbox{title = 'EOL Mode', text = 'Which EOL?',\n icon = 'dialog-question', button1 = 'CRLF', button2 = 'CR',\n button3 = 'LF'}\n@return selected button or exit code multi_edge_add_line view.multi_edge_add_line(view, column, color)\nAdds a new vertical line at column number *column* with color *color*, in "0xBBGGRR" format.\n@param view A view.\n@param column The column number to add a vertical line at.\n@param color The color in "0xBBGGRR" format. multi_edge_clear_all view.multi_edge_clear_all(view)\nClears all vertical lines created by `view:multi_edge_add_line()`.\n@param view A view. multi_edge_column view.multi_edge_column (table, Read-only)\nTable of edge column positions per edge column number.\nA position of `-1` means no edge column was found. multi_paste buffer.multi_paste (number)\nThe multiple selection paste mode.\n\n* `buffer.MULTIPASTE_ONCE`\n Paste into only the main selection.\n* `buffer.MULTIPASTE_EACH`\n Paste into all selections.\n\nThe default value is `buffer.MULTIPASTE_ONCE`. multiple_select_add_each buffer.multiple_select_add_each(buffer)\nAdds to the set of selections each occurrence of the main selection within the target range.\nIf there is no selected text, the current word is used.\n@param buffer A buffer. multiple_select_add_next buffer.multiple_select_add_next(buffer)\nAdds to the set of selections the next occurrence of the main selection within the target\nrange, makes that occurrence the new main selection, and scrolls it into view.\nIf there is no selected text, the current word is used.\n@param buffer A buffer. multiple_selection buffer.multiple_selection (bool)\nEnable multiple selection.\nThe default value is `false`. name_of_style buffer.name_of_style(buffer, style)\nReturns the name of style number *style*, which is between `1` and `256`.\n@param buffer A buffer.\n@param style The style number between `1` and `256` to get the name of.\n@return string new buffer.new()\nCreates a new buffer, displays it in the current view, and returns it.\nEmits a `BUFFER_NEW` event.\n@return the new buffer.\n@see events.BUFFER_NEW new lexer.new(name, opts)\nCreates a returns a new lexer with the given name.\n@param name The lexer's name.\n@param opts Table of lexer options. Options currently supported:\n * `lex_by_line`: Whether or not the lexer only processes whole lines of text (instead of\n arbitrary chunks of text) at a time. Line lexers cannot look ahead to subsequent lines.\n The default value is `false`.\n * `fold_by_indentation`: Whether or not the lexer does not define any fold points and that\n fold points should be calculated based on changes in line indentation. The default value\n is `false`.\n * `case_insensitive_fold_points`: Whether or not fold points added via\n `lexer.add_fold_point()` ignore case. The default value is `false`.\n * `inherit`: Lexer to inherit from. The default value is `nil`.\n@usage lexer.new('rhtml', {inherit = lexer.load('html')}) new_line buffer.new_line(buffer)\nTypes a new line at the caret position according to `buffer.eol_mode`.\n@param buffer A buffer. newline lexer.newline (pattern)\nA pattern that matches a sequence of end of line characters. next_image_type _SCINTILLA.next_image_type()\nReturns a unique image type identier number for use with `view.register_image()` and\n`view.register_rgba_image()`.\nUse this function for custom image types in order to prevent clashes with identifiers of\nother custom image types.\n@usage local image_type = _SCINTILLA.next_image_type()\n@see view.register_image\n@see view.register_rgba_image next_indic_number _SCINTILLA.next_indic_number()\nReturns a unique indicator number for use with custom indicators.\nUse this function for custom indicators in order to prevent clashes with identifiers of\nother custom indicators.\n@usage local indic_num = _SCINTILLA.next_indic_number()\n@see view.indic_style next_marker_number _SCINTILLA.next_marker_number()\nReturns a unique marker number for use with `view.marker_define()`.\nUse this function for custom markers in order to prevent clashes with identifiers of other\ncustom markers.\n@usage local marknum = _SCINTILLA.next_marker_number()\n@see view.marker_define next_user_list_type _SCINTILLA.next_user_list_type()\nReturns a unique user list identier number for use with `buffer.user_list_show()`.\nUse this function for custom user lists in order to prevent clashes with list identifiers\nof other custom user lists.\n@usage local list_type = _SCINTILLA.next_user_list_type()\n@see buffer.user_list_show nonnewline lexer.nonnewline (pattern)\nA pattern that matches any single, non-newline character. number lexer.number (pattern)\nA pattern that matches a typical number, either a floating point, decimal, hexadecimal,\nor octal number. oct_num lexer.oct_num (pattern)\nA pattern that matches an octal number. ok_msgbox ui.dialogs.ok_msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options table *options*\nand with localized "Ok" and "Cancel" buttons, returning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label. If the dialog timed\nout, returns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `informative_text`: The dialog's extra informative text.\n * `icon`: The dialog's icon name, according to the Free Desktop Icon Naming\n Specification. Examples are "dialog-error", "dialog-information", "dialog-question",\n and "dialog-warning". The dialog does not display an icon by default.\n * `icon_file`: The dialog's icon file path. This option has no effect when `icon` is set.\n * `no_cancel`: Do not display the "Cancel" button. The default value is `false`.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code open_file io.open_file(filenames, encodings)\nOpens *filenames*, a string filename or list of filenames, or the user-selected filename(s).\nEmits a `FILE_OPENED` event.\n@param filenames Optional string filename or table of filenames to open. If `nil`, the user\n is prompted with a fileselect dialog.\n@param encodings Optional string encoding or table of encodings file contents are in (one\n encoding per file). If `nil`, encoding auto-detection is attempted via `io.encodings`.\n@see _G.events open_recent_file io.open_recent_file()\nPrompts the user to select a recently opened file to be reopened.\n@see recent_files optionselect ui.dialogs.optionselect(options)\nPrompts the user with an option selection dialog defined by dialog options table *options*,\nreturning the selected button's index along with the indices of the selected options.\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\ntext of the selected options. If the dialog timed out, returns `0` or `"timeout"`. If the\nuser canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the option select dialog.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `items`: The list of string options to show in the option group.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `select`: The indices of initially selected options.\n * `string_output`: Return the selected button's label or the dialog's exit status along\n with the selected options' text instead of the button's index or the dialog's exit code\n along with the options' indices. The default value is `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.optionselect{title = 'Language',\n informative_text = 'Check the languages you understand',\n items = {'English', 'Romanian'}, select = 1, string_output = true}\n@return selected button or exit code, list of selected options os _G.os (module)\nExtends Lua's `os` library to provide process spawning capabilities. overtype buffer.overtype (bool)\nEnable overtype mode, where typed characters overwrite existing ones.\nThe default value is `false`. page_down buffer.page_down(buffer)\nMoves the caret down one page.\n@param buffer A buffer. page_down_extend buffer.page_down_extend(buffer)\nMoves the caret down one page, extending the selected text to the new position.\n@param buffer A buffer. page_down_rect_extend buffer.page_down_rect_extend(buffer)\nMoves the caret down one page, extending the rectangular selection to the new position.\n@param buffer A buffer. page_up buffer.page_up(buffer)\nMoves the caret up one page.\n@param buffer A buffer. page_up_extend buffer.page_up_extend(buffer)\nMoves the caret up one page, extending the selected text to the new position.\n@param buffer A buffer. page_up_rect_extend buffer.page_up_rect_extend(buffer)\nMoves the caret up one page, extending the rectangular selection to the new position.\n@param buffer A buffer. para_down buffer.para_down(buffer)\nMoves the caret down one paragraph.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer. para_down_extend buffer.para_down_extend(buffer)\nMoves the caret down one paragraph, extending the selected text to the new position.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer. para_up buffer.para_up(buffer)\nMoves the caret up one paragraph.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer. para_up_extend buffer.para_up_extend(buffer)\nMoves the caret up one paragraph, extending the selected text to the new position.\nParagraphs are surrounded by one or more blank lines.\n@param buffer A buffer. paste buffer.paste(buffer)\nPastes the clipboard's contents into the buffer, replacing any selected text according to\n`buffer.multi_paste`.\n@param buffer A buffer. paste_reindent textadept.editing.paste_reindent()\nPastes the text from the clipboard, taking into account the buffer's indentation settings\nand the indentation of the current and preceding lines. paths textadept.snippets.paths (table)\nList of directory paths to look for snippet files in.\nFilenames are of the form *lexer.trigger.ext* or *trigger.ext* (*.ext* is an optional,\narbitrary file extension). If the global `snippets` table does not contain a snippet for\na given trigger, this table is consulted for a matching filename, and the contents of that\nfile is inserted as a snippet.\nNote: If a directory has multiple snippets with the same trigger, the snippet chosen for\ninsertion is not defined and may not be constant. patterns textadept.file_types.patterns (table)\nMap of first-line patterns to their associated lexer names.\nEach pattern is matched against the first line in the file. play textadept.macros.play()\nPlays a recorded or loaded macro.\n@see load position_after buffer.position_after(buffer, pos)\nReturns the position of the character after position *pos* (taking multi-byte characters\ninto account), or `buffer.length + 1` if there is no character after *pos*.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the position after from. position_before buffer.position_before(buffer, pos)\nReturns the position of the character before position *pos* (taking multi-byte characters\ninto account), or `1` if there is no character before *pos*.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the position before from.\n@return number position_from_line buffer.position_from_line(buffer, line)\nReturns the position at the beginning of line number *line*.\nReturns `-1` if *line* is greater than `buffer.line_count + 1`.\n@param buffer A buffer.\n@param line The line number in *buffer* to get the beginning position for.\n@return number position_relative buffer.position_relative(buffer, pos, n)\nReturns the position *n* characters before or after position *pos* (taking multi-byte\ncharacters into account).\nReturns `1` if the position is less than 1 or greater than `buffer.length + 1`.\n@param buffer A buffer.\n@param pos The position in *buffer* to get the relative position from.\n@param n The relative number of characters to get the position for. A negative number\n indicates a position before while a positive number indicates a position after.\n@return number previous textadept.snippets.previous()\nJumps back to the previous snippet placeholder, reverting any changes from the current one.\nReturns `false` if no snippet is active.\n@return `false` if no snippet is active; `nil` otherwise. print lexer.print (pattern)\nA pattern that matches any printable character (' ' to '~'). print ui.print(...)\nPrints the given string messages to the message buffer.\nOpens a new buffer if one has not already been opened for printing messages.\n@param ... Message strings. progressbar ui.dialogs.progressbar(options, f)\nDisplays a progressbar dialog, defined by dialog options table *options*, that receives\nupdates from function *f*.\nReturns "stopped" if *options*.`stoppable` is `true` and the user clicked the "Stop"\nbutton. Otherwise, returns `nil`.\n@param options Table of key-value option pairs for the progressbar dialog.\n\n * `title`: The dialog's title text.\n * `percent`: The initial progressbar percentage between 0 and 100.\n * `text`: The initial progressbar display text (GTK only).\n * `indeterminate`: Show the progress bar as "busy", with no percentage updates.\n * `stoppable`: Show the "Stop" button.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n@param f Function repeatedly called to do work and provide progress updates. The function is\n called without arguments and must return either `nil`, which indicates work is complete,\n or a progress percentage number in the range 0-100 and an optional string to display (GTK\n only). If the text is either "stop disable" or "stop enable" and *options*.`stoppable` is\n `true`, the "Stop" button is disabled or enabled, respectively.\n@usage ui.dialogs.progressbar({stoppable = true},\n function() if work() then return percent, status else return nil end end)\n@return nil or "stopped" properties _SCINTILLA.properties (table)\nMap of Scintilla property names to table values containing their "get" function IDs, "set"\nfunction IDs, return types, and wParam types.\nThe wParam type will be non-zero if the property is indexable.\nTypes are the same as in the `functions` table.\n@see functions property lexer.property (table)\nMap of key-value string pairs. property view.property (table)\nMap of key-value string pairs used by lexers. property_expanded lexer.property_expanded (table, Read-only)\nMap of key-value string pairs with `$()` and `%()` variable replacement performed in values. property_int lexer.property_int (table, Read-only)\nMap of key-value pairs with values interpreted as numbers, or `0` if not found. property_int view.property_int (table, Read-only)\nMap of key-value pairs used by lexers with values interpreted as numbers, or `0` if not found. punct lexer.punct (pattern)\nA pattern that matches any punctuation character ('!' to '/', ':' to '@', '[' to ''',\n'{' to '~'). punctuation_chars buffer.punctuation_chars (string)\nThe string set of characters recognized as punctuation characters.\nSet this only after setting `buffer.word_chars`.\nThe default value is a string that contains all non-word and non-whitespace characters. quick_open io.quick_open(paths, filter, opts)\nPrompts the user to select files to be opened from *paths*, a string directory path or list\nof directory paths, using a filtered list dialog.\nIf *paths* is `nil`, uses the current project's root directory, which is obtained from\n`io.get_project_root()`.\nString or list *filter* determines which files to show in the dialog, with the default\nfilter being `io.quick_open_filters[path]` (if it exists) or `lfs.default_filter`. A filter\nconsists of Lua patterns that match file and directory paths to include or exclude. Patterns\nare inclusive by default. Exclusive patterns begin with a '!'. If no inclusive patterns are\ngiven, any path is initially considered. As a convenience, file extensions can be specified\nliterally instead of as a Lua pattern (e.g. '.lua' vs. '%.lua$'), and '/' also matches the\nWindows directory separator ('[/\\]' is not needed).\nThe number of files in the list is capped at `quick_open_max`.\nIf *filter* is `nil` and *paths* is ultimately a string, the filter from the\n`io.quick_open_filters` table is used. If that filter does not exist, `lfs.default_filter`\nis used.\n*opts* is an optional table of additional options for `ui.dialogs.filteredlist()`.\n@param paths Optional string directory path or table of directory paths to search. The\n default value is the current project's root directory, if available.\n@param filter Optional filter for files and directories to include and/or exclude. The\n default value is `lfs.default_filter` unless a filter for *paths* is defined in\n `io.quick_open_filters`.\n@param opts Optional table of additional options for `ui.dialogs.filteredlist()`.\n@usage io.quick_open(buffer.filename:match('^(.+)[/\\]')) -- list all files in the current\n file's directory, subject to the default filter\n@usage io.quick_open(io.get_current_project(), '.lua') -- list all Lua files in the current\n project\n@usage io.quick_open(io.get_current_project(), '!/build') -- list all files in the current\n project except those in the build directory\n@see io.quick_open_filters\n@see lfs.default_filter\n@see quick_open_max\n@see ui.dialogs.filteredlist quick_open_filters io.quick_open_filters (table)\nMap of directory paths to filters used by `io.quick_open()`.\n@see quick_open quick_open_max io.quick_open_max (number)\nThe maximum number of files listed in the quick open dialog.\nThe default value is `1000`. quit _G.quit()\nEmits a `QUIT` event, and unless any handler returns `false`, quits Textadept.\n@see events.QUIT range lexer.range(s, e, single_line, escapes, balanced)\nCreates and returns a pattern that matches a range of text bounded by strings or patterns *s*\nand *e*.\nThis is a convenience function for matching more complicated ranges like strings with escape\ncharacters, balanced parentheses, and block comments (nested or not). *e* is optional and\ndefaults to *s*. *single_line* indicates whether or not the range must be on a single line;\n*escapes* indicates whether or not to allow '\' as an escape character; and *balanced*\nindicates whether or not to handle balanced ranges like parentheses, and requires *s* and *e*\nto be different.\n@param s String or pattern start of a range.\n@param e Optional string or pattern end of a range. The default value is *s*.\n@param single_line Optional flag indicating whether or not the range must be on a single\n line. The default value is `false`.\n@param escapes Optional flag indicating whether or not the range end may be escaped by a '\'\n character. The default value is `false` unless *s* and *e* are identical, single-character\n strings. In that case, the default value is `true`.\n@param balanced Optional flag indicating whether or not to match a balanced range, like the\n "%b" Lua pattern. This flag only applies if *s* and *e* are different.\n@usage local dq_str_escapes = lexer.range('"')\n@usage local dq_str_noescapes = lexer.range('"', false, false)\n@usage local unbalanced_parens = lexer.range('(', ')')\n@usage local balanced_parens = lexer.range('(', ')', false, false, true)\n@return pattern read spawn_proc:read(arg)\nReads and returns stdout from process *spawn_proc*, according to string format or number *arg*.\nSimilar to Lua's `io.read()` and blocks for input. *spawn_proc* must still be running. If\nan error occurs while reading, returns `nil`, an error code, and an error message.\nEnsure any read operations read all stdout available, as the stdout callback function passed\nto `os.spawn()` will not be called until the stdout buffer is clear.\n@param arg Optional argument similar to those in Lua's `io.read()`, but "n" is not\n supported. The default value is "l", which reads a line.\n@return string of bytes read read_only buffer.read_only (bool)\nWhether or not the buffer is read-only.\nThe default value is `false`. recent_files io.recent_files (table)\nList of recently opened files, the most recent being towards the top. record textadept.history.record(filename, line, column, soft)\nRecords the given location in the current view's history.\n@param filename Optional string filename, buffer type, or identifier of the buffer to store. If\n `nil`, uses the current buffer.\n@param line Optional Integer line number to store. If `nil`, uses the current line.\n@param column Optional integer column number on line *line* to store. If `nil`, uses the\n current column.\n@param soft Optional flag that indicates whether or not this record should be skipped when\n navigating backward towards it, and updated when navigating away from it. The default\n value is `false`. record textadept.macros.record()\nToggles between starting and stopping macro recording. rectangular_selection_anchor buffer.rectangular_selection_anchor (number)\nThe rectangular selection's anchor position. rectangular_selection_anchor_virtual_space buffer.rectangular_selection_anchor_virtual_space (number)\nThe amount of virtual space for the rectangular selection's anchor. rectangular_selection_caret buffer.rectangular_selection_caret (number)\nThe rectangular selection's caret position. rectangular_selection_caret_virtual_space buffer.rectangular_selection_caret_virtual_space (number)\nThe amount of virtual space for the rectangular selection's caret. rectangular_selection_modifier view.rectangular_selection_modifier (number)\nThe modifier key used in combination with a mouse drag in order to create a rectangular\nselection.\n\n* `view.MOD_CTRL`\n The "Control" modifier key.\n* `view.MOD_ALT`\n The "Alt" modifier key.\n* `view.MOD_SUPER`\n The "Super" modifier key, usually defined as the left "Windows" or\n "Command" key.\n\nThe default value is `view.MOD_CTRL`. redo buffer.redo(buffer)\nRedoes the next undone action.\n@param buffer A buffer. regex ui.find.regex (bool)\nInterpret search text as a Regular Expression.\nThe default value is `false`. regex_label_text ui.find.regex_label_text (string, Write-only)\nThe text of the "Regex" label.\nThis is primarily used for localization. register args.register(short, long, narg, f, description)\nRegisters a command line option with short and long versions *short* and *long*, respectively.\n*narg* is the number of arguments the option accepts, *f* is the function called when the\noption is set, and *description* is the option's description when displaying help.\n@param short The string short version of the option.\n@param long The string long version of the option.\n@param narg The number of expected parameters for the option.\n@param f The Lua function to run when the option is set. It is passed *narg* string arguments.\n@param description The string description of the option for command line help. register_image view.register_image(view, type, xpm_data)\nRegisters XPM image *xpm_data* to type number *type* for use in autocompletion and user lists.\n@param view A view.\n@param type Integer type to register the image with.\n@param xpm_data The XPM data as described in `view.marker_define_pixmap()`. register_rgba_image view.register_rgba_image(view, type, pixels)\nRegisters RGBA image *pixels* to type number *type* for use in autocompletion and user lists.\nThe dimensions for *pixels* (`view.rgba_image_width` and `view.rgba_image_height`) must\nhave already been defined. *pixels* is a sequence of 4 byte pixel values (red, blue, green,\nand alpha) defining the image line by line starting at the top-left pixel.\n@param view A view.\n@param type Integer type to register the image with.\n@param pixels The RGBA data as described in `view.marker_define_rgba_image()`. reload buffer.reload(buffer)\nReloads the buffer's file contents, discarding any changes.\n@param buffer A buffer. replace ui.find.replace()\nMimics pressing the "Replace" button. replace_all ui.find.replace_all()\nMimics pressing the "Replace All" button. replace_all_button_text ui.find.replace_all_button_text (string, Write-only)\nThe text of the "Replace All" button.\nThis is primarily used for localization. replace_button_text ui.find.replace_button_text (string, Write-only)\nThe text of the "Replace" button.\nThis is primarily used for localization. replace_entry_text ui.find.replace_entry_text (string)\nThe text in the "Replace" entry.\nWhen searching for text in a directory of files, this is the current file and directory filter. replace_label_text ui.find.replace_label_text (string, Write-only)\nThe text of the "Replace" label.\nThis is primarily used for localization. replace_rectangular buffer.replace_rectangular(buffer, text)\nReplaces the rectangular selection with string *text*.\n@param buffer A buffer.\n@param text The text to replace the rectangular selection with. replace_sel buffer.replace_sel(buffer, text)\nReplaces the selected text with string *text*, scrolling the caret into view.\n@param buffer A buffer.\n@param text The text to replace the selected text with. replace_target buffer.replace_target(buffer, text)\nReplaces the text in the target range with string *text* sans modifying any selections or\nscrolling the view.\nSetting the target and calling this function with an empty string is another way to delete text.\n@param buffer A buffer.\n@param text The text to replace the target range with.\n@return number replace_target_re buffer.replace_target_re(buffer, text)\nReplaces the text in the target range with string *text* but first replaces any "\d" sequences\nwith the text of capture number *d* from the regular expression (or the entire match for *d*\n= 0), and then returns the replacement text's length.\n@param buffer A buffer.\n@param text The text to replace the target range with.\n@return number representation view.representation (table)\nThe alternative string representations of characters.\nRepresentations are displayed in the same way control characters are. Use the empty\nstring for the '\0' character when assigning its representation. Characters are strings,\nnot numeric codes, and can be multi-byte characters.\nCall `view.clear_representation()` to remove a representation. representation_appearance view.representation_appearance (table)\nMap of characters to their string representation's appearance.\n\n* `view.REPRESENTATION_PLAIN`\n Draw the representation with no decoration.\n* `view.REPRESENTATION_BLOB`\n Draw the representation within a rounded rectangle and an inverted color.\n* `view.REPRESENTATION_COLOR`\n Draw the representation using the color set in `view.representation_color`.\n\nThe default values are `view.REPRESENTATION_BLOB`. representation_color view.representation_color (table)\nMap of characters to their string representation's color in "0xBBGGRR" format. reset _G.reset()\nResets the Lua State by reloading all initialization scripts.\nLanguage modules for opened files are NOT reloaded. Re-opening the files that use them will\nreload those modules instead.\nThis function is useful for modifying user scripts (such as *~/.textadept/init.lua* and\n*~/.textadept/modules/textadept/keys.lua*) on the fly without having to restart Textadept. `arg`\nis set to `nil` when reinitializing the Lua State. Any scripts that need to differentiate\nbetween startup and reset can test `arg`. reset_element_color view.reset_element_color(view, element)\nResets the color of UI element *element* to its default color.\n@param element One of the UI elements specified in `view.element_color`.\n@see element_color rgba_image_height view.rgba_image_height (number)\nThe height of the RGBA image to be defined using `view.marker_define_rgba_image()`. rgba_image_scale view.rgba_image_scale (number)\nThe scale factor in percent of the RGBA image to be defined using\n`view.marker_define_rgba_image()`.\nThis is useful on macOS with a retina display where each display unit is 2 pixels: use a\nfactor of `200` so that each image pixel is displayed using a screen pixel.\nThe default scale, `100`, will stretch each image pixel to cover 4 screen pixels on a\nretina display. rgba_image_width view.rgba_image_width (number)\nThe width of the RGBA image to be defined using `view.marker_define_rgba_image()` and\n`view.register_rgba_image()`. rotate_selection buffer.rotate_selection(buffer)\nDesignates the next additional selection to be the main selection.\n@param buffer A buffer. run textadept.run (module)\nCompile and run source code files with Textadept.\nLanguage modules may tweak the `compile_commands`, `run_commands`, and\n`error_patterns` tables for particular languages.\nThe user may tweak `build_commands` and `test_commands` for particular projects. run textadept.run.run(filename)\nRuns file *filename* or the current file using an appropriate shell command from the\n`run_commands` table.\nThe shell command is determined from the file's filename, extension, or language in that order.\nEmits `RUN_OUTPUT` events.\n@param filename Optional path to the file to run. The default value is the current file's\n filename.\n@see run_commands\n@see _G.events run ui.command_entry.run(f, keys, lang, height)\nOpens the command entry, subjecting it to any key bindings defined in table *keys*,\nhighlighting text with lexer name *lang*, and displaying *height* number of lines at a time,\nand then when the `Enter` key is pressed, closes the command entry and calls function *f*\n(if non-`nil`) with the command entry's text as an argument.\nBy default with no arguments given, opens a Lua command entry.\nThe command entry does not respond to Textadept's default key bindings, but instead to the\nkey bindings defined in *keys* and in `ui.command_entry.editing_keys`.\n@param f Optional function to call upon pressing `Enter` in the command entry, ending the mode.\n It should accept the command entry text as an argument.\n@param keys Optional table of key bindings to respond to. This is in addition to the\n basic editing and movement keys defined in `ui.command_entry.editing_keys`. `Esc` and\n `Enter` are automatically defined to cancel and finish the command entry, respectively.\n This parameter may be omitted completely.\n@param lang Optional string lexer name to use for command entry text. The default value is\n `'text'`.\n@param height Optional number of lines to display in the command entry. The default value is `1`.\n@usage ui.command_entry.run(ui.print)\n@see editing_keys run_commands textadept.run.run_commands (table)\nMap of filenames, file extensions, and lexer names to their associated "run" shell command\nline strings or functions that return strings.\nCommand line strings may have the following macros:\n\n + `%f`: The file's name, including its extension.\n + `%e`: The file's name, excluding its extension.\n + `%d`: The file's directory path.\n + `%p`: The file's full path.\n\nFunctions may also return a working directory and process environment table to operate in. By\ndefault, the working directory is the current file's parent directory and the environment\nis Textadept's environment. run_in_background textadept.run.run_in_background (bool)\nRun shell commands silently in the background.\nThis only applies when the message buffer is open, though it does not have to be visible.\nThe default value is `false`. save buffer.save(buffer)\nSaves the buffer to its file.\nIf the buffer does not have a file, the user is prompted for one.\nEmits `FILE_BEFORE_SAVE` and `FILE_AFTER_SAVE` events.\n@param buffer A buffer. save textadept.macros.save(filename)\nSaves a recorded macro to file *filename* or the user-selected file.\n@param filename Optional filename to save the recorded macro to. If `nil`, the user is\n prompted for one. save textadept.session.save(filename)\nSaves the session to file *filename* or the user-selected file.\nSaves split views, opened buffers, cursor information, recent files, and bookmarks.\nUpon quitting, the current session is saved to *filename* again, unless\n`textadept.session.save_on_quit` is `false`.\n@param filename Optional absolute path to the session file to save. If `nil`, the user is\n prompted for one.\n@usage textadept.session.save(filename) save_all_files io.save_all_files()\nSaves all unsaved buffers to their respective files.\n@see buffer.save save_as buffer.save_as(buffer, filename)\nSaves the buffer to file *filename* or the user-specified filename.\nEmits a `FILE_AFTER_SAVE` event.\n@param buffer A buffer.\n@param filename Optional new filepath to save the buffer to. If `nil`, the user is prompted\n for one. save_on_quit textadept.session.save_on_quit (bool)\nSave the session when quitting.\nThe default value is `true` unless the user passed the command line switch `-n` or\n`--nosession` to Textadept. scroll_caret view.scroll_caret(view)\nScrolls the caret into view based on the policies previously defined in\n`view.set_x_caret_policy()` and `view.set_y_caret_policy()`.\n@param view A view.\n@see set_x_caret_policy\n@see set_y_caret_policy scroll_range view.scroll_range(view, secondary_pos, primary_pos)\nScrolls into view the range of text between positions *primary_pos* and *secondary_pos*,\nwith priority given to *primary_pos*.\nSimilar to `view.scroll_caret()`, but with *primary_pos* instead of `buffer.current_pos`.\nThis is useful for scrolling search results into view.\n@param view A view.\n@param secondary_pos The secondary range position to scroll into view.\n@param primary_pos The primary range position to scroll into view. scroll_to_end view.scroll_to_end(view)\nScrolls to the end of the buffer without moving the caret.\n@param view A view. scroll_to_start view.scroll_to_start(view)\nScrolls to the beginning of the buffer without moving the caret.\n@param view A view. scroll_width view.scroll_width (number)\nThe horizontal scrolling pixel width.\nFor performance, the view does not measure the display width of the buffer to determine\nthe properties of the horizontal scroll bar, but uses an assumed width instead. To ensure\nthe width of the currently visible lines can be scrolled use `view.scroll_width_tracking`.\nThe default value is `2000`. scroll_width_tracking view.scroll_width_tracking (bool)\nContinuously update the horizontal scrolling width to match the maximum width of a displayed\nline beyond `view.scroll_width`.\nThe default value is `false`. search_anchor buffer.search_anchor(buffer)\nAnchors the position that `buffer.search_next()` and `buffer.search_prev()` start at to the\nbeginning of the current selection or caret position.\n@param buffer A buffer. search_flags buffer.search_flags (number)\nThe bit-mask of search flags used by `buffer.search_in_target()`.\n\n* `buffer.FIND_WHOLEWORD`\n Match search text only when it is surrounded by non-word characters.\n* `buffer.FIND_MATCHCASE`\n Match search text case sensitively.\n* `buffer.FIND_WORDSTART`\n Match search text only when the previous character is a non-word character.\n* `buffer.FIND_REGEXP`\n Interpret search text as a regular expression.\n\nThe default value is `0`. search_in_target buffer.search_in_target(buffer, text)\nSearches for the first occurrence of string *text* in the target range bounded by\n`buffer.target_start` and `buffer.target_end` using search flags `buffer.search_flags`\nand, if found, sets the new target range to that occurrence, returning its position or `-1`\nif *text* was not found.\n@param buffer A buffer.\n@param text The text to search the target range for.\n@return number\n@see search_flags search_next buffer.search_next(buffer, flags, text)\nSearches for and selects the first occurrence of string *text* starting at the search\nanchor using search flags *flags*, returning that occurrence's position or `-1` if *text*\nwas not found.\nSelected text is not scrolled into view.\n@param buffer A buffer.\n@param flags The search flags to use. See `buffer.search_flags`.\n@param text The text to search for.\n@return number\n@see search_flags search_prev buffer.search_prev(buffer, flags, text)\nSearches for and selects the last occurrence of string *text* before the search anchor using\nsearch flags *flags*, returning that occurrence's position or `-1` if *text* was not found.\n@param buffer A buffer.\n@param flags The search flags to use. See `buffer.search_flags`.\n@param text The text to search for.\n@return number\n@see search_flags secure_inputbox ui.dialogs.secure_inputbox(options)\nPrompts the user with a masked inputbox dialog defined by dialog options table *options*,\nreturning the selected button's index along with the user's input text (the latter as a\nstring or table, depending on the type of *options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nuser's input text. If the dialog timed out, returns `0` or `"timeout"`. If the user canceled\nthe dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text. If the value is a table, the first\n table value is the main message text and any subsequent values are used as the labels\n for multiple entry boxes. Providing a single label has no effect.\n * `text`: The dialog's initial input text. If the value is a table, the table values are\n used to populate the multiple entry boxes defined by `informative_text`.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text secure_standard_inputbox ui.dialogs.secure_standard_inputbox(options)\nPrompts the user with a masked inputbox dialog defined by dialog options table *options*\nand with localized "Ok" and "Cancel" buttons, returning the selected button's index along\nwith the user's input text (the latter as a string or table, depending on the type of\n*options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nuser's input text. If the dialog timed out, returns `0` or `"timeout"`. If the user canceled\nthe dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text. If the value is a table, the first\n table value is the main message text and any subsequent values are used as the labels\n for multiple entry boxes. Providing a single label has no effect.\n * `text`: The dialog's initial input text. If the value is a table, the table values are\n used to populate the multiple entry boxes defined by `informative_text`.\n * `no_cancel`: Do not display the "Cancel" button. The default value is `false`.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text sel_alpha view.sel_alpha (number)\nThe selection's alpha value, ranging from `0` (transparent) to `255` (opaque).\nThe default value is `view.ALPHA_NOALPHA`, for no alpha. sel_eol_filled view.sel_eol_filled (bool)\nExtend the selection to the view's right margin.\nThe default value is `false`. select textadept.snippets.select()\nPrompts the user to select a snippet to insert from a list of global and language-specific\nsnippets. select_all buffer.select_all(buffer)\nSelects all of the buffer's text without scrolling the view.\n@param buffer A buffer. select_command textadept.menu.select_command()\nPrompts the user to select a menu command to run. select_enclosed textadept.editing.select_enclosed(left, right)\nSelects the text between strings *left* and *right* that enclose the caret.\nIf that range is already selected, toggles between selecting *left* and *right* as well.\nIf *left* and *right* are not provided, they are assumed to be one of the delimiter pairs\nspecified in `auto_pairs` and are inferred from the current position or selection.\n@param left Optional left part of the enclosure.\n@param right Optional right part of the enclosure.\n@see auto_pairs select_lexer textadept.file_types.select_lexer()\nPrompts the user to select a lexer for the current buffer.\n@see buffer.set_lexer select_line textadept.editing.select_line()\nSelects the current line. select_paragraph textadept.editing.select_paragraph()\nSelects the current paragraph.\nParagraphs are surrounded by one or more blank lines. select_word textadept.editing.select_word(all)\nSelects the current word or, if *all* is `true`, all occurrences of the current word.\nIf a word is already selected, selects the next occurrence as a multiple selection.\n@param all Whether or not to select all occurrences of the current word. The default value is\n `false`.\n@see buffer.word_chars selection_duplicate buffer.selection_duplicate(buffer)\nDuplicates the selected text to its right.\nIf no text is selected, duplicates the current line on a new line below.\n@param buffer A buffer. selection_empty buffer.selection_empty (bool, Read-only)\nWhether or not no text is selected. selection_end buffer.selection_end (number)\nThe position of the end of the selected text.\nWhen set, becomes the current position, but is not scrolled into view. selection_is_rectangle buffer.selection_is_rectangle (bool, Read-only)\nWhether or not the selection is a rectangular selection. selection_layer view.selection_layer (number)\nThe layer mode for drawing selections.\n\n* `view.LAYER_BASE`\n Draw selections opaquely on the background.\n* `view.LAYER_UNDER_TEXT`\n Draw selections translucently under text.\n* `view.LAYER_OVER_TEXT`\n Draw selections translucently over text.\n\nThe default value is `view.LAYER_BASE`. selection_mode buffer.selection_mode (number)\nThe selection mode.\n\n* `buffer.SEL_STREAM`\n Character selection.\n* `buffer.SEL_RECTANGLE`\n Rectangular selection.\n* `buffer.SEL_LINES`\n Line selection.\n* `buffer.SEL_THIN`\n Thin rectangular selection. This is the mode after a rectangular selection has been\n typed into and ensures that no characters are selected.\n\nWhen set, caret movement alters the selected text until this field is set again to the\nsame value or until `buffer.cancel()` is called. selection_n_anchor buffer.selection_n_anchor (table)\nTable of positions at the beginning of existing selections numbered from `1`, the main\nselection. selection_n_anchor_virtual_space buffer.selection_n_anchor_virtual_space (table)\nTable of positions at the beginning of virtual space selected in existing selections\nnumbered from `1`, the main selection. selection_n_caret buffer.selection_n_caret (table)\nTable of positions at the end of existing selections numbered from `1`, the main selection. selection_n_caret_virtual_space buffer.selection_n_caret_virtual_space (table)\nTable of positions at the end of virtual space selected in existing selections numbered from\n`1`, the main selection. selection_n_end buffer.selection_n_end (table)\nTable of positions at the end of existing selections numbered from `1`, the main selection. selection_n_end_virtual_space buffer.selection_n_end_virtual_space (number, Read-only)\nTable of positions at the end of virtual space selected in existing selections numbered from\n`1`, the main selection. selection_n_start buffer.selection_n_start (table)\nTable of positions at the beginning of existing selections numbered from `1`, the main\nselection. selection_n_start_virtual_space buffer.selection_n_start_virtual_space (number, Read-only)\nTable of positions at the beginning of virtual space selected in existing selections\nnumbered from `1`, the main selection. selection_start buffer.selection_start (number)\nThe position of the beginning of the selected text.\nWhen set, becomes the anchor, but is not scrolled into view. selections buffer.selections (number, Read-only)\nThe number of active selections. There is always at least one selection. session textadept.session (module)\nSession support for Textadept. set_arguments textadept.run.set_arguments(filename, run, compile)\nAppends the command line argument strings *run* and *compile* to their respective run and\ncompile commands for file *filename* or the current file.\nIf either is `nil`, prompts the user for missing the arguments. Each filename has its own\nset of compile and run arguments.\n@param filename Optional path to the file to set run/compile arguments for.\n@param run Optional string run arguments to set. If `nil`, the user is prompted for them. Pass\n the empty string for no run arguments.\n@param compile Optional string compile arguments to set. If `nil`, the user is prompted\n for them. Pass the empty string for no compile arguments.\n@see run_commands\n@see compile_commands set_chars_default buffer.set_chars_default(buffer)\nResets `buffer.word_chars`, `buffer.whitespace_chars`, and `buffer.punctuation_chars` to\ntheir respective defaults.\n@param buffer A buffer.\n@see word_chars\n@see whitespace_chars\n@see punctuation_chars set_default_fold_display_text view.set_default_fold_display_text(view, text)\nSets the default fold display text to string *text*.\n@param view A view.\n@param text The text to display by default next to folded lines.\n@see toggle_fold_show_text set_empty_selection buffer.set_empty_selection(buffer, pos)\nMoves the caret to position *pos* without scrolling the view and removes any selections.\n@param buffer A buffer\n@param pos The position in *buffer* to move to. set_encoding buffer.set_encoding(buffer, encoding)\nConverts the buffer's contents to encoding *encoding*.\n@param buffer A buffer.\n@param encoding The string encoding to set. Valid encodings are ones that GNU iconv accepts. If\n `nil`, assumes a binary encoding.\n@usage buffer:set_encoding('CP1252') set_fold_margin_color view.set_fold_margin_color(view, use_setting, color)\nOverrides the fold margin's default color with color *color*, in "0xBBGGRR" format, if\n*use_setting* is `true`.\n@param view A view.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format. set_fold_margin_hi_color view.set_fold_margin_hi_color(view, use_setting, color)\nOverrides the fold margin's default highlight color with color *color*, in "0xBBGGRR" format,\nif *use_setting* is `true`.\n@param view A view.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format. set_lexer buffer.set_lexer(buffer, name)\nAssociates string lexer name *name* or the auto-detected lexer name with the buffer and then\nloads the appropriate language module if that module exists.\n@param buffer A buffer.\n@param name Optional string lexer name to set. If `nil`, attempts to auto-detect the\n buffer's lexer.\n@usage buffer:set_lexer('lexer_name') set_save_point buffer.set_save_point(buffer)\nIndicates the buffer has no unsaved changes.\n@param buffer A buffer. set_sel buffer.set_sel(buffer, start_pos, end_pos)\nSelects the range of text between positions *start_pos* and *end_pos*, scrolling the selected\ntext into view.\n@param buffer A buffer.\n@param start_pos The start position of the range of text in *buffer* to select. If negative,\n it means the end of the buffer.\n@param end_pos The end position of the range of text in *buffer* to select. If negative,\n it means remove any selection (i.e. set the `anchor` to the same position as `current_pos`). set_selection buffer.set_selection(buffer, end_pos, start_pos)\nSelects the range of text between positions *start_pos* to *end_pos*, removing all other\nselections.\n@param buffer A buffer.\n@param end_pos The caret position of the range of text to select in *buffer*.\n@param start_pos The anchor position of the range of text to select in *buffer*. set_styling buffer.set_styling(buffer, length, style)\nAssigns style number *style*, in the range from `1` to `256`, to the next *length* characters,\nstarting from the current styling position, and increments the styling position by *length*.\n`buffer:start_styling` should be called before `buffer:set_styling()`.\n@param buffer A buffer.\n@param length The number of characters to style.\n@param style The style number to set. set_target_range buffer.set_target_range(buffer, start_pos, end_pos)\nDefines the target range's beginning and end positions as *start_pos* and *end_pos*,\nrespectively.\n@param buffer A buffer.\n@param start_pos The position of the beginning of the target range.\n@param end_pos The position of the end of the target range. set_text buffer.set_text(buffer, text)\nReplaces the buffer's text with string *text*.\n@param buffer A buffer.\n@param text The text to set. set_theme view.set_theme(view, name, env)\nSets the view's color theme to be string *name*, with the contents of table *env* available\nas global variables.\nUser themes override Textadept's default themes when they have the same name. If *name*\ncontains slashes, it is assumed to be an absolute path to a theme instead of a theme name.\n@param view A view.\n@param name The name or absolute path of a theme to set.\n@param env Optional table of global variables themes can utilize to override default settings\n such as font and size.\n@usage view:set_theme('light', {font = 'Monospace', size = 12})\n@see _G.lexer.colors\n@see _G.lexer.styles set_visible_policy view.set_visible_policy(view, policy, y)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the caret *y* number\nof lines away from the vertical margins as `view.ensure_visible_enforce_policy()` redisplays\nhidden or folded lines.\nIt is similar in operation to `view.set_y_caret_policy()`.\n@param view A view.\n@param policy The combination of `view.VISIBLE_SLOP` and `view.VISIBLE_STRICT` policy flags\n to set.\n@param y The number of lines from the vertical margins to keep the caret. set_whitespace_back view.set_whitespace_back(view, use_setting, color)\nOverrides the background color of whitespace with color *color*, in "0xBBGGRR" format,\nif *use_setting* is `true`.\n@param view A view.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format. set_whitespace_fore view.set_whitespace_fore(view, use_setting, color)\nOverrides the foreground color of whitespace with color *color*, in "0xBBGGRR" format,\nif *use_setting* is `true`.\n@param use_setting Whether or not to use *color*.\n@param color The color in "0xBBGGRR" format. set_x_caret_policy view.set_x_caret_policy(view, policy, x)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the caret *x* number\nof pixels away from the horizontal margins.\n@param view A view.\n@param policy The combination of `view.CARET_SLOP`, `view.CARET_STRICT`, `view.CARET_EVEN`,\n and `view.CARET_JUMPS` policy flags to set.\n@param x The number of pixels from the horizontal margins to keep the caret. set_y_caret_policy view.set_y_caret_policy(view, policy, y)\nDefines scrolling policy bit-mask *policy* as the policy for keeping the caret *y* number\nof lines away from the vertical margins.\n@param view A view.\n@param policy The combination of `view.CARET_SLOP`, `view.CARET_STRICT`, `view.CARET_EVEN`,\n and `view.CARET_JUMPS` policy flags to set.\n@param y The number of lines from the vertical margins to keep the caret. show_documentation textadept.editing.show_documentation(pos, ignore_case)\nDisplays a call tip with documentation for the symbol under or directly behind position *pos*\nor the caret position.\nDocumentation is read from API files in the `api_files` table.\nIf a call tip is already shown, cycles to the next one if it exists.\nSymbols are determined by using `buffer.word_chars`.\n@param pos Optional position of the symbol to show documentation for. If omitted, the caret\n position is used.\n@param ignore_case Optional flag that indicates whether or not to search API files\n case-insensitively for symbols. The default value is `false`.\n@see api_files\n@see buffer.word_chars show_lines view.show_lines(view, start_line, end_line)\nShows the range of lines between line numbers *start_line* to *end_line*.\nThis has no effect on fold levels or fold flags and the first line cannot be hidden.\n@param view A view.\n@param start_line The start line of the range of lines in *view* to show.\n@param end_line The end line of the range of lines in *view* to show. silent_print ui.silent_print (bool)\nWhether or not to print messages to buffers silently.\nThis is not guaranteed to be a constant value, as Textadept may change it for the editor's\nown purposes. This flag should be used only in conjunction with a group of `ui.print()`\nand `ui._print()` function calls.\nThe default value is `false`, and focuses buffers when messages are printed to them. size ui.size (table)\nA table containing the width and height pixel values of Textadept's window. size view.size (number)\nThe split resizer's pixel position if the view is a split one. snippet textadept.editing.autocompleters.snippet (function)\nAutocompleter function for snippet trigger words. snippets _G.snippets (table)\nMap of snippet triggers with their snippet text or functions that return such text, with\nlanguage-specific snippets tables assigned to a lexer name key. snippets textadept.snippets (module)\nSnippets for Textadept. space lexer.space (pattern)\nA pattern that matches any whitespace character ('\t', '\v', '\f', '\\n', '\r', space). spawn os.spawn(cmd, cwd, env, stdout_cb, stderr_cb, exit_cb)\nSpawns an interactive child process *cmd* in a separate thread, returning a handle to that\nprocess.\nOn Windows, *cmd* is passed to `cmd.exe`: `%COMSPEC% /c [cmd]`.\nAt the moment, only the Windows terminal version spawns processes in the same thread.\n@param cmd A command line string that contains the program's name followed by arguments to\n pass to it. `PATH` is searched for program names.\n@param cwd Optional current working directory (cwd) for the child process. When omitted,\n the parent's cwd is used.\n@param env Optional map of environment variables for the child process. When omitted,\n Textadept's environment is used.\n@param stdout_cb Optional Lua function that accepts a string parameter for a block of standard\n output read from the child. Stdout is read asynchronously in 1KB or 0.5KB blocks (depending\n on the platform), or however much data is available at the time.\n At the moment, only the Win32 terminal version sends all output, whether it be stdout or\n stderr, to this callback after the process finishes.\n@param stderr_cb Optional Lua function that accepts a string parameter for a block of\n standard error read from the child. Stderr is read asynchronously in 1KB or 0.5kB blocks\n (depending on the platform), or however much data is available at the time.\n@param exit_cb Optional Lua function that is called when the child process finishes. The\n child's exit status is passed.\n@usage os.spawn('lua ' .. buffer.filename, print)\n@usage proc = os.spawn('lua -e "print(io.read())"', print)\n proc:write('foo\\n')\n@return proc or nil plus an error message on failure split view.split(view, vertical)\nSplits the view into top and bottom views (unless *vertical* is `true`), focuses the new view,\nand returns both the old and new views.\nIf *vertical* is `false`, splits the view vertically into left and right views.\nEmits a `VIEW_NEW` event.\n@param view The view to split.\n@param vertical Optional flag indicating whether or not to split the view vertically. The\n default value is `false`, for horizontal.\n@return old view and new view.\n@see events.VIEW_NEW standard_dropdown ui.dialogs.standard_dropdown(options)\nPrompts the user with a drop-down item selection dialog defined by dialog options table\n*options* and with localized "Ok" and "Cancel" buttons, returning the selected button's\nindex along with the selected item's index.\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nselected item's text. If the dialog closed due to *options*.`exit_onchange`, returns `4`\nalong with either the selected item's index or its text. If the dialog timed out, returns\n`0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the drop-down dialog.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `items`: The list of string items to show in the drop-down.\n * `no_cancel`: Do not display the "Cancel" button. The default value is `false`.\n * `exit_onchange`: Close the dialog after selecting a new item. The default value is `false`.\n * `select`: The index of the initially selected list item. The default value is `1`.\n * `string_output`: Return the selected button's label (instead of its index) and the selected\n item's text (instead of its index). If no item was selected, returns the dialog's exit\n status (instead of its exit code). The default value is `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code, selected item standard_inputbox ui.dialogs.standard_inputbox(options)\nPrompts the user with an inputbox dialog defined by dialog options table *options* and\nwith localized "Ok" and "Cancel" buttons, returning the selected button's index along\nwith the user's input text (the latter as a string or table, depending on the type of\n*options*.`informative_text`).\nIf *options*.`string_output` is `true`, returns the selected button's label along with the\nuser's input text. If the dialog timed out, returns `0` or `"timeout"`. If the user canceled\nthe dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the inputbox.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text. If the value is a table, the first\n table value is the main message text and any subsequent values are used as the labels\n for multiple entry boxes. Providing a single label has no effect.\n * `text`: The dialog's initial input text. If the value is a table, the table values are\n used to populate the multiple entry boxes defined by `informative_text`.\n * `no_cancel`: Do not display the "Cancel" button. The default value is `false`.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code, input text start_styling buffer.start_styling(buffer, position, unused)\nBegins styling at position *position* with styling bit-mask *style_mask*.\n*style_mask* specifies which style bits can be set with `buffer.set_styling()`.\n@param buffer A buffer.\n@param position The position in *buffer* to start styling at.\n@param unused Unused number. `0` can be safely used.\n@usage buffer:start_styling(1, 0)\n@see set_styling starts_line lexer.starts_line(patt)\nCreates and returns a pattern that matches pattern *patt* only at the beginning of a line.\n@param patt The LPeg pattern to match on the beginning of a line.\n@usage local preproc = token(lexer.PREPROCESSOR, lexer.starts_line(lexer.to_eol('#')))\n@return pattern status spawn_proc:status()\nReturns the status of process *spawn_proc*, which is either "running" or "terminated".\n@return "running" or "terminated" statusbar_text ui.statusbar_text (string, Write-only)\nThe text displayed in the statusbar. stop textadept.run.stop()\nStops the currently running process, if any. string _G.string (module)\nExtends Lua's `string` library to provide character set conversions. strip_trailing_spaces textadept.editing.strip_trailing_spaces (bool)\nStrip trailing whitespace before saving files. (Does not apply to binary files.)\nThe default value is `false`. stuttered_page_down buffer.stuttered_page_down(buffer)\nMoves the caret to the bottom of the page or, if already there, down one page.\n@param buffer A buffer. stuttered_page_down_extend buffer.stuttered_page_down_extend(buffer)\nLike `buffer.stuttered_page_down()`, but extends the selected text to the new position.\n@param buffer A buffer. stuttered_page_up buffer.stuttered_page_up(buffer)\nMoves the caret to the top of the page or, if already there, up one page.\n@param buffer A buffer. stuttered_page_up_extend buffer.stuttered_page_up_extend(buffer)\nLike `buffer.stuttered_page_up()`, but extends the selected text to the new position.\n@param buffer A buffer. style_at buffer.style_at (table, Read-only)\nTable of style numbers per position. style_at lexer.style_at (table, Read-only)\nTable of style names at positions in the buffer starting from 1. style_back view.style_back (table)\nTable of background colors, in "0xBBGGRR" format, of text for style numbers from `1` to `256`. style_bold view.style_bold (table)\nTable of flags that indicate whether or not text is bold for style numbers from `1` to `256`.\nThe default values are `false`. style_case view.style_case (table)\nTable of letter case modes of text for style numbers from `1` to `256`.\n\n* `view.CASE_MIXED`\n Display text in normally.\n* `view.CASE_UPPER`\n Display text in upper case.\n* `view.CASE_LOWER`\n Display text in lower case.\n* `view.CASE_CAMEL`\n Display text in camel case.\n\nThe default values are `view.CASE_MIXED`. style_changeable view.style_changeable (table)\nTable of flags that indicate whether or not text is changeable for style numbers from `1`\nto `256`.\nThe default values are `true`.\nRead-only styles do not allow the caret into the range of text. style_clear_all view.style_clear_all(view)\nReverts all styles to having the same properties as `view.STYLE_DEFAULT`.\n@param view A view. style_eol_filled view.style_eol_filled (table)\nTable of flags that indicate whether or not the background colors of styles whose characters\noccur last on lines extend all the way to the view's right margin for style numbers from\n`1` to `256`.\nThe default values are `false`. style_font view.style_font (table)\nTable of string font names of text for style numbers from `1` to `256`. style_fore view.style_fore (table)\nTable of foreground colors, in "0xBBGGRR" format, of text for style numbers from `1` to `256`. style_italic view.style_italic (table)\nTable of flags that indicate whether or not text is italic for style numbers from `1` to\n`256`.\nThe default values are `false`. style_of_name buffer.style_of_name(buffer, style_name, string)\nReturns the style number associated with string *style_name*, or `view.STYLE_DEFAULT` if\n*style_name* is not in use.\n@param buffer A buffer.\n@param string The style name to get the number of.\n@return style number, between `1` and `256`.\n@see name_of_style style_reset_default view.style_reset_default(view)\nResets `view.STYLE_DEFAULT` to its initial state.\n@param view A view. style_size view.style_size (table)\nTable of font sizes of text for style numbers from `1` to `256`. style_underline view.style_underline (table)\nTable of flags that indicate whether or not text is underlined for style numbers from `1`\nto `256`.\nThe default values are `false`. style_visible view.style_visible (table)\nTable of flags that indicate whether or not text is visible for style numbers from `1` to\n`256`.\nThe default values are `true`. styles lexer.styles (table)\nMap of style names to style definition tables.\n\nStyle names consist of the following default names as well as the token names defined by lexers.\n\n* `default`: The default style all others are based on.\n* `line_number`: The line number margin style.\n* `control_char`: The style of control character blocks.\n* `indent_guide`: The style of indentation guides.\n* `call_tip`: The style of call tip text. Only the `font`, `size`, `fore`, and `back` style\n definition fields are supported.\n* `fold_display_text`: The style of text displayed next to folded lines.\n* `class`, `comment`, `constant`, `embedded`, `error`, `function`, `identifier`, `keyword`,\n `label`, `number`, `operator`, `preprocessor`, `regex`, `string`, `type`, `variable`,\n `whitespace`: Some token names used by lexers. Some lexers may define more token names,\n so this list is not exhaustive.\n* *`lang`*`_whitespace`: A special style for whitespace tokens in lexer name *lang*. It\n inherits from `whitespace`, and is used in place of it for all lexers.\n\nStyle definition tables may contain the following fields:\n\n* `font`: String font name.\n* `size`: Integer font size.\n* `bold`: Whether or not the font face is bold. The default value is `false`.\n* `weight`: Integer weight or boldness of a font, between 1 and 999.\n* `italics`: Whether or not the font face is italic. The default value is `false`.\n* `underlined`: Whether or not the font face is underlined. The default value is `false`.\n* `fore`: Font face foreground color in `0xBBGGRR` or `"#RRGGBB"` format.\n* `back`: Font face background color in `0xBBGGRR` or `"#RRGGBB"` format.\n* `eolfilled`: Whether or not the background color extends to the end of the line. The\n default value is `false`.\n* `case`: Font case: `'u'` for upper, `'l'` for lower, and `'m'` for normal, mixed case. The\n default value is `'m'`.\n* `visible`: Whether or not the text is visible. The default value is `true`.\n* `changeable`: Whether the text is changeable instead of read-only. The default value is\n `true`. swap_main_anchor_caret buffer.swap_main_anchor_caret(buffer)\nSwaps the main selection's beginning and end positions.\n@param buffer A buffer. switch_buffer ui.switch_buffer(zorder)\nPrompts the user to select a buffer to switch to.\nBuffers are listed in the order they were opened unless `zorder` is `true`, in which case\nbuffers are listed by their z-order (most recently viewed to least recently viewed).\n@param zorder Flag that indicates whether or not to list buffers by their z-order. The\n default value is `false`. tab buffer.tab(buffer)\nIndents the text on the selected lines or types a Tab character ("\t") at the caret position.\n@param buffer A buffer. tab_context_menu textadept.menu.tab_context_menu (table)\nThe default tabbar context menu.\nSubmenus, and menu items can be retrieved by name in addition to table index number. tab_context_menu ui.tab_context_menu (userdata)\nThe context menu for the buffer's tab, a `ui.menu()`.\nThis is a low-level field. You probably want to use the higher-level\n`textadept.menu.tab_context_menu`. tab_draw_mode view.tab_draw_mode (number)\nThe draw mode of visible tabs.\n\n* `view.TD_LONGARROW`\n An arrow that stretches until the tabstop.\n* `view.TD_STRIKEOUT`\n A horizontal line that stretches until the tabstop.\n\nThe default value is `view.TD_LONGARROW`. tab_indents buffer.tab_indents (bool)\nIndent text when tabbing within indentation.\nThe default value is `false`. tab_label buffer.tab_label (string)\nThe buffer's tab label in the tab bar. tab_width buffer.tab_width (number)\nThe number of space characters represented by a tab character.\nThe default value is `8`. tabs ui.tabs (bool)\nWhether or not to display the tab bar when multiple buffers are open.\nThe default value is `true`.\nA third option, `ui.SHOW_ALL_TABS` may be used to always show the tab bar, even if only\none buffer is open. tag buffer.tag (table, Read-only)\nList of capture text for capture numbers from a regular expression search. tags _M.ansi_c.tags (table)\nList of ctags files to use for autocompletion in addition to the current project's top-level\n*tags* file or the current directory's *tags* file. tags _M.lua.tags (table)\nList of "fake" ctags files (or functions that return such files) to use for autocompletion.\nThe kind 'm' is recognized as a module, 'f' as a function, 't' as a table and 'F' as a module\nor table field.\nThe *modules/lua/tadoc.lua* script can generate *tags* and *api*\nfiles for Lua modules via LuaDoc. target_end buffer.target_end (number)\nThe position of the end of the target range.\nThis is also set by a successful `buffer.search_in_target()`. target_end_virtual_space buffer.target_end_virtual_space (number)\nThe position of the end of virtual space in the target range.\nThis is set to `1` when `buffer.target_start` or `buffer.target_end` is set,\nor when `buffer.set_target_range()` is called. target_from_selection buffer.target_from_selection(buffer)\nDefines the target range's beginning and end positions as the beginning and end positions\nof the main selection, respectively.\n@param buffer A buffer. target_start buffer.target_start (number)\nThe position of the beginning of the target range.\nThis is also set by a successful `buffer.search_in_target()`. target_start_virtual_space buffer.target_start_virtual_space (number)\nThe position of the beginning of virtual space in the target range.\nThis is set to `1` when `buffer.target_start` or `buffer.target_end` is set,\nor when `buffer.set_target_range()` is called. target_text buffer.target_text (string, Read-only)\nThe text in the target range. target_whole_document buffer.target_whole_document(buffer)\nDefines the target range's beginning and end positions as the beginning and end positions\nof the document, respectively.\n@param buffer A buffer. test textadept.run.test(root_directory)\nRuns tests for the project whose root path is *root_directory* or the current project using\nthe shell command from the `test_commands` table.\nThe current project is determined by either the buffer's filename or the current working\ndirectory.\nEmits `TEST_OUTPUT` events.\n@param root_directory The path to the project to run tests for. The default value is the\n current project.\n@see test_commands\n@see _G.events test_commands textadept.run.test_commands (table)\nMap of project root paths to their associated "test" shell command line strings or functions\nthat return such strings.\nFunctions may also return a working directory and process environment table to operate\nin. By default, the working directory is the project's root directory and the environment\nis Textadept's environment. text_height view.text_height(view, line)\nReturns the pixel height of line number *line*.\n@param view A view.\n@param line The line number in *view* to get the pixel height of.\n@return number text_length buffer.text_length (number, Read-only)\nThe number of bytes in the buffer. text_range buffer.text_range(buffer, start_pos, end_pos)\nReturns the range of text between positions *start_pos* and *end_pos*.\n@param buffer A buffer.\n@param start_pos The start position of the range of text to get in *buffer*.\n@param end_pos The end position of the range of text to get in *buffer*. text_width view.text_width(view, style_num, text)\nReturns the pixel width string *text* would have when styled with style number *style_num*,\nin the range of `1` to `256`.\n@param view A view.\n@param style_num The style number between `1` and `256` to use.\n@param text The text to measure the width of.\n@return number textadept _G.textadept (module)\nThe textadept module.\nIt provides utilities for editing text in Textadept. textbox ui.dialogs.textbox(options)\nPrompts the user with a multiple-line textbox dialog defined by dialog options table *options*,\nreturning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label. If\n*options*.`editable` is `true`, also returns the textbox's text. If the dialog timed out,\nreturns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the dialog.\n\n * `title`: The dialog's title text.\n * `informative_text`: The dialog's main message text.\n * `text`: The dialog's initial textbox text.\n * `text_from_file`: The filename whose contents are loaded into the textbox. This option\n has no effect when `text` is given.\n * `button1`: The right-most button's label. The default value is `_L['OK']`.\n * `button2`: The middle button's label.\n * `button3`: The left-most button's label. This option requires `button2` to be set.\n * `editable`: Allows the user to edit the textbox's text. The default value is `false`.\n * `focus_textbox`: Focus the textbox instead of the buttons. The default value is `false`.\n * `scroll_to`: Where to scroll the textbox's text. The available values are `"top"` and\n `"bottom"`. The default value is `"top"`.\n * `selected`: Select all of the textbox's text. The default value is `false`.\n * `monospaced_font`: Use a monospaced font in the textbox instead of a proportional one. The\n default value is `false`.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@usage ui.dialogs.textbox{title = 'License Agreement', informative_text = 'You agree to:',\n text_from_file = _HOME..'/LICENSE'}\n@return selected button or exit code, textbox text timeout _G.timeout(interval, f, ...)\nCalls function *f* with the given arguments after *interval* seconds.\nIf *f* returns `true`, calls *f* repeatedly every *interval* seconds as long as *f* returns\n`true`. A `nil` or `false` return value stops repetition.\n@param interval The interval in seconds to call *f* after.\n@param f The function to call.\n@param ... Additional arguments to pass to *f*. title ui.title (string, Write-only)\nThe title text of Textadept's window. to_eol lexer.to_eol(prefix, escape)\nCreates and returns a pattern that matches from string or pattern *prefix* until the end of\nthe line.\n*escape* indicates whether the end of the line can be escaped with a '\' character.\n@param prefix String or pattern prefix to start matching at.\n@param escape Optional flag indicating whether or not newlines can be escaped by a '\'\n character. The default value is `false`.\n@usage local line_comment = lexer.to_eol('//')\n@usage local line_comment = lexer.to_eol(S('#;'))\n@return pattern toggle textadept.bookmarks.toggle()\nToggles a bookmark on the current line. toggle_caret_sticky buffer.toggle_caret_sticky(buffer)\nCycles between `buffer.caret_sticky` option settings `buffer.CARETSTICKY_ON` and\n`buffer.CARETSTICKY_OFF`.\n@param buffer A buffer.\n@see caret_sticky toggle_comment textadept.editing.toggle_comment()\nComments or uncomments the selected lines based on the current language.\nAs long as any part of a line is selected, the entire line is eligible for\ncommenting/uncommenting.\n@see comment_string toggle_fold view.toggle_fold(view, line)\nToggles the fold point on line number *line* between expanded (where all of its child lines\nare displayed) and contracted (where all of its child lines are hidden).\n@param view A view.\n@param line The line number in *view* to toggle the fold on.\n@see set_default_fold_display_text toggle_fold_show_text view.toggle_fold_show_text(view, line, text)\nToggles a fold point on line number *line* between expanded (where all of its child lines are\ndisplayed) and contracted (where all of its child lines are hidden), and shows string *text*\nnext to that line.\n*text* is drawn with style number `view.STYLE_FOLDDISPLAYTEXT`.\n@param view A view.\n@param line The line number in *view* to toggle the fold on and display *text* after.\n@param text The text to display after the line. token lexer.token(name, patt)\nCreates and returns a token pattern with token name *name* and pattern *patt*.\nIf *name* is not a predefined token name, its style must be defined via `lexer.add_style()`.\n@param name The name of token. If this name is not a predefined token name, then a style\n needs to be assiciated with it via `lexer.add_style()`.\n@param patt The LPeg pattern associated with the token.\n@usage local ws = token(lexer.WHITESPACE, lexer.space^1)\n@usage local annotation = token('annotation', '@' * lexer.word)\n@return pattern transpose_chars textadept.editing.transpose_chars()\nTransposes characters intelligently.\nIf the caret is at the end of a line, transposes the two characters before the caret. Otherwise,\nthe characters to the left and right are. typeover_chars textadept.editing.typeover_chars (table)\nTable of characters to move over when typed.\nThe ASCII values of characters are keys and are assigned `true` values. The default characters\nare ')', ']', '}', ''', '"', and '`'. ui _G.ui (module)\nUtilities for interacting with Textadept's user interface. undo buffer.undo(buffer)\nUndoes the most recent action.\n@param buffer A buffer. unsplit view.unsplit(view)\nUnsplits the view if possible, returning `true` on success.\n@param view The view to unsplit.\n@return boolean if the view was unsplit or not. update ui.update()\nProcesses pending GTK events, including reading from spawned processes.\nThis function is primarily used in unit tests. upper lexer.upper (pattern)\nA pattern that matches any upper case character ('A'-'Z'). upper_case buffer.upper_case(buffer)\nConverts the selected text to upper case letters.\n@param buffer A buffer. use_tabs buffer.use_tabs (bool)\nUse tabs instead of spaces in indentation.\nChanging the current setting does not convert any of the buffer's existing indentation. Use\n`textadept.editing.convert_indentation()` to do so.\nThe default value is `true`. user_list_show buffer.user_list_show(buffer, id, items)\nDisplays a user list identified by list identifier number *id* and constructed from string\n*items* (whose items are delimited by `buffer.auto_c_separator` characters).\nThe sorted order of *items* (`buffer.auto_c_order`) must have already been defined. When the\nuser selects an item, *id* is sent in a `USER_LIST_SELECTION` event along with the selection.\n@param buffer A buffer.\n@param id The list identifier number greater than zero to use.\n@param items The sorted string of words to show, separated by `buffer.auto_c_separator`\n characters (initially spaces).\n@see _SCINTILLA.next_user_list_type\n@see events.USER_LIST_SELECTION v_scroll_bar view.v_scroll_bar (bool)\nDisplay the vertical scroll bar.\nThe default value is `true`. vc_home buffer.vc_home(buffer)\nMoves the caret to the first visible character on the current line or, if already there,\nto the beginning of the current line.\n@param buffer A buffer. vc_home_display buffer.vc_home_display(buffer)\nMoves the caret to the first visible character on the current wrapped line or, if already\nthere, to the beginning of the current wrapped line.\n@param buffer A buffer. vc_home_display_extend buffer.vc_home_display_extend(buffer)\nLike `buffer.vc_home_display()`, but extends the selected text to the new position.\n@param buffer A buffer. vc_home_extend buffer.vc_home_extend(buffer)\nLike `buffer.vc_home()`, but extends the selected text to the new position.\n@param buffer A buffer. vc_home_rect_extend buffer.vc_home_rect_extend(buffer)\nLike `buffer.vc_home()`, but extends the rectangular selection to the new position.\n@param buffer A buffer. vc_home_wrap buffer.vc_home_wrap(buffer)\nMoves the caret to the first visible character on the current wrapped line or, if already\nthere, to the beginning of the actual line.\n@param buffer A buffer. vc_home_wrap_extend buffer.vc_home_wrap_extend(buffer)\nLike `buffer.vc_home_wrap()`, but extends the selected text to the new position.\n@param buffer A buffer. vertical_center_caret view.vertical_center_caret(view)\nCenters current line in the view.\n@param view A view. view _G.view (module)\nA Textadept view object.\nConstants are documented in the fields they apply to.\nWhile you can work with individual view instances, it is often useful to work with just the\nglobal one.\nMany of these functions and fields are derived from view-specific functionality of the\nScintilla editing component, and additional information can be found on the [Scintilla\nwebsite](https://scintilla.org/ScintillaDoc.html). Note that with regard to Scintilla-specific\nfunctionality, this API is a _suggestion_, not a hard requirement. All of that functionality\nalso exists in `buffer`, even if undocumented.\nAny view fields set on startup (e.g. in *~/.textadept/init.lua*) will be the default,\ninitial values for all views. view _G.view (table)\nThe current view. view_eol view.view_eol (bool)\nDisplay end of line characters.\nThe default value is `false`. view_ws view.view_ws (number)\nThe whitespace visibility mode.\n\n* `view.WS_INVISIBLE`\n Whitespace is invisible.\n* `view.WS_VISIBLEALWAYS`\n Display all space characters as dots and tab characters as arrows.\n* `view.WS_VISIBLEAFTERINDENT`\n Display only non-indentation spaces and tabs as dots and arrows.\n* `view.WS_VISIBLEONLYININDENT`\n Display only indentation spaces and tabs as dots and arrows.\n\nThe default value is `view.WS_INVISIBLE`. virtual_space_options buffer.virtual_space_options (number)\nThe virtual space mode.\n\n* `buffer.VS_NONE`\n Disable virtual space.\n* `buffer.VS_RECTANGULARSELECTION`\n Enable virtual space only for rectangular selections.\n* `buffer.VS_USERACCESSIBLE`\n Enable virtual space.\n* `buffer.VS_NOWRAPLINESTART`\n Prevent the caret from wrapping to the previous line via `buffer:char_left()` and\n `buffer:char_left_extend()`. This option is not restricted to virtual space and should\n be added to any of the above options.\n\nWhen virtual space is enabled, the caret may move into the space past end of line characters.\nThe default value is `buffer.VS_NONE`. visible_from_doc_line view.visible_from_doc_line(view, line)\nReturns the displayed line number of actual line number *line*, taking wrapped, annotated,\nand hidden lines into account, or `-1` if *line* is outside the range of lines in the buffer.\nLines can occupy more than one display line if they wrap.\n@param view A view.\n@param line The line number in *view* to use.\n@return number wait spawn_proc:wait()\nBlocks until process *spawn_proc* finishes (if it has not already done so) and returns its\nstatus code.\n@return integer status code walk lfs.walk(dir, filter, n, include_dirs)\nReturns an iterator that iterates over all files and sub-directories (up to *n* levels deep)\nin directory *dir* and yields each file found.\nString or list *filter* determines which files to yield, with the default filter being\n`lfs.default_filter`. A filter consists of Lua patterns that match file and directory paths\nto include or exclude. Exclusive patterns begin with a '!'. If no inclusive patterns are\ngiven, any path is initially considered. As a convenience, file extensions can be specified\nliterally instead of as a Lua pattern (e.g. '.lua' vs. '%.lua$'), and '/' also matches the\nWindows directory separator ('[/\\]' is not needed).\n@param dir The directory path to iterate over.\n@param filter Optional filter for files and directories to include and exclude. The default\n value is `lfs.default_filter`.\n@param n Optional maximum number of directory levels to descend into. The default value is\n `nil`, which indicates no limit.\n@param include_dirs Optional flag indicating whether or not to yield directory names too.\n Directory names are passed with a trailing '/' or '\', depending on the current platform.\n The default value is `false`.\n@see filter whitespace_chars buffer.whitespace_chars (string)\nThe string set of characters recognized as whitespace characters.\nSet this only after setting `buffer.word_chars`.\nThe default value is a string that contains all non-newline characters less than ASCII\nvalue 33. whitespace_size view.whitespace_size (number)\nThe pixel size of the dots that represent space characters when whitespace is visible.\nThe default value is `1`. whole_word ui.find.whole_word (bool)\nMatch search text only when it is surrounded by non-word characters in searches.\nThe default value is `false`. whole_word_label_text ui.find.whole_word_label_text (string, Write-only)\nThe text of the "Whole word" label.\nThis is primarily used for localization. word lexer.word (pattern)\nA pattern that matches a typical word. Words begin with a letter or underscore and consist\nof alphanumeric and underscore characters. word_chars buffer.word_chars (string)\nThe string set of characters recognized as word characters.\nThe default value is a string that contains alphanumeric characters, an underscore, and\nall characters greater than ASCII value 127. word_end_position buffer.word_end_position(buffer, pos, only_word_chars)\nReturns the position of the end of the word at position *pos*.\n`buffer.word_chars` contains the set of characters that constitute words. If *pos* has a\nnon-word character to its right and *only_word_chars* is `false`, returns the first word\ncharacter's position.\n@param buffer A buffer.\n@param pos The position in *buffer* of the word.\n@param only_word_chars If `true`, stops searching at the first non-word character in\n the search direction. Otherwise, the first character in the search direction sets the\n type of the search as word or non-word and the search stops at the first non-matching\n character. Searches are also terminated by the start or end of the buffer. word_left buffer.word_left(buffer)\nMoves the caret left one word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_left_end buffer.word_left_end(buffer)\nMoves the caret left one word, positioning it at the end of the previous word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_left_end_extend buffer.word_left_end_extend(buffer)\nLike `buffer.word_left_end()`, but extends the selected text to the new position.\n@param buffer A buffer. word_left_extend buffer.word_left_extend(buffer)\nMoves the caret left one word, extending the selected text to the new position.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_match lexer.word_match(word_list, case_insensitive, word_chars)\nCreates and returns a pattern that matches any single word in list or string *words*.\n*case_insensitive* indicates whether or not to ignore case when matching words.\nThis is a convenience function for simplifying a set of ordered choice word patterns.\n@param word_list A list of words or a string list of words separated by spaces.\n@param case_insensitive Optional boolean flag indicating whether or not the word match is\n case-insensitive. The default value is `false`.\n@param word_chars Unused legacy parameter.\n@usage local keyword = token(lexer.KEYWORD, word_match{'foo', 'bar', 'baz'})\n@usage local keyword = token(lexer.KEYWORD, word_match({'foo-bar', 'foo-baz', 'bar-foo',\n 'bar-baz', 'baz-foo', 'baz-bar'}, true))\n@usage local keyword = token(lexer.KEYWORD, word_match('foo bar baz'))\n@return pattern word_part_left buffer.word_part_left(buffer)\nMoves the caret to the previous part of the current word.\nWord parts are delimited by underscore characters or changes in capitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_part_left_extend buffer.word_part_left_extend(buffer)\nMoves the caret to the previous part of the current word, extending the selected text to\nthe new position.\nWord parts are delimited by underscore characters or changes in capitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_part_right buffer.word_part_right(buffer)\nMoves the caret to the next part of the current word.\nWord parts are delimited by underscore characters or changes in capitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_part_right_extend buffer.word_part_right_extend(buffer)\nMoves the caret to the next part of the current word, extending the selected text to the\nnew position.\nWord parts are delimited by underscore characters or changes in capitalization.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_right buffer.word_right(buffer)\nMoves the caret right one word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_right_end buffer.word_right_end(buffer)\nMoves the caret right one word, positioning it at the end of the current word.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_right_end_extend buffer.word_right_end_extend(buffer)\nLike `buffer.word_right_end()`, but extends the selected text to the new position.\n@param buffer A buffer. word_right_extend buffer.word_right_extend(buffer)\nMoves the caret right one word, extending the selected text to the new position.\n`buffer.word_chars` contains the set of characters that constitute words.\n@param buffer A buffer. word_start_position buffer.word_start_position(buffer, pos, only_word_chars)\nReturns the position of the beginning of the word at position *pos*.\n`buffer.word_chars` contains the set of characters that constitute words. If *pos* has\na non-word character to its left and *only_word_chars* is `false`, returns the last word\ncharacter's position.\n@param buffer A buffer.\n@param pos The position in *buffer* of the word.\n@param only_word_chars If `true`, stops searching at the first non-word character in\n the search direction. Otherwise, the first character in the search direction sets the\n type of the search as word or non-word and the search stops at the first non-matching\n character. Searches are also terminated by the start or end of the buffer. wrap_count view.wrap_count(view, line)\nReturns the number of wrapped lines needed to fully display line number *line*.\n@param view A view.\n@param line The line number in *view* to use.\n@return number wrap_indent_mode view.wrap_indent_mode (number)\nThe wrapped line indent mode.\n\n* `view.WRAPINDENT_FIXED`\n Indent wrapped lines by `view.wrap_start_indent`.\n* `view.WRAPINDENT_SAME`\n Indent wrapped lines the same amount as the first line.\n* `view.WRAPINDENT_INDENT`\n Indent wrapped lines one more level than the level of the first line.\n* `view.WRAPINDENT_DEEPINDENT`\n Indent wrapped lines two more levels than the level of the first line.\n\nThe default value is `view.WRAPINDENT_FIXED`. wrap_mode view.wrap_mode (number)\nLong line wrap mode.\n\n* `view.WRAP_NONE`\n Long lines are not wrapped.\n* `view.WRAP_WORD`\n Wrap long lines at word (and style) boundaries.\n* `view.WRAP_CHAR`\n Wrap long lines at character boundaries.\n* `view.WRAP_WHITESPACE`\n Wrap long lines at word boundaries (ignoring style boundaries).\n\nThe default value is `view.WRAP_NONE`. wrap_start_indent view.wrap_start_indent (number)\nThe number of spaces of indentation to display wrapped lines with if\n`view.wrap_indent_mode` is `view.WRAPINDENT_FIXED`.\nThe default value is `0`. wrap_visual_flags view.wrap_visual_flags (number)\nThe wrapped line visual flag display mode.\n\n* `view.WRAPVISUALFLAG_NONE`\n No visual flags.\n* `view.WRAPVISUALFLAG_END`\n Show a visual flag at the end of a wrapped line.\n* `view.WRAPVISUALFLAG_START`\n Show a visual flag at the beginning of a sub-line.\n* `view.WRAPVISUALFLAG_MARGIN`\n Show a visual flag in the sub-line's line number margin.\n\nThe default value is `view.WRAPVISUALFLAG_NONE`. wrap_visual_flags_location view.wrap_visual_flags_location (number)\nThe wrapped line visual flag location.\n\n* `view.WRAPVISUALFLAGLOC_DEFAULT`\n Draw a visual flag near the view's right margin.\n* `view.WRAPVISUALFLAGLOC_END_BY_TEXT`\n Draw a visual flag near text at the end of a wrapped line.\n* `view.WRAPVISUALFLAGLOC_START_BY_TEXT`\n Draw a visual flag near text at the beginning of a subline.\n\nThe default value is `view.WRAPVISUALFLAGLOC_DEFAULT`. write spawn_proc:write(...)\nWrites string input to the stdin of process *spawn_proc*.\nNote: On Linux, if more than 65536 bytes (64K) are to be written, it is possible those\nbytes need to be written in 65536-byte (64K) chunks, or the process may not receive all\ninput. However, it is also possible that there is a limit on how many bytes can be written\nin a short period of time, perhaps 196608 bytes (192K).\n@param ... Standard input for *spawn_proc*. x_offset view.x_offset (number)\nThe horizontal scroll pixel position.\nA value of `0` is the normal position with the first text column visible at the left of\nthe view. xdigit lexer.xdigit (pattern)\nA pattern that matches any hexadecimal digit ('0'-'9', 'A'-'F', 'a'-'f'). yesno_msgbox ui.dialogs.yesno_msgbox(options)\nPrompts the user with a generic message box dialog defined by dialog options table *options*\nand with localized "Yes", "No", and "Cancel" buttons, returning the selected button's index.\nIf *options*.`string_output` is `true`, returns the selected button's label. If the dialog timed\nout, returns `0` or `"timeout"`. If the user canceled the dialog, returns `-1` or `"delete"`.\n@param options Table of key-value option pairs for the message box.\n\n * `title`: The dialog's title text.\n * `text`: The dialog's main message text.\n * `informative_text`: The dialog's extra informative text.\n * `icon`: The dialog's icon name, according to the Free Desktop Icon Naming\n Specification. Examples are "dialog-error", "dialog-information", "dialog-question",\n and "dialog-warning". The dialog does not display an icon by default.\n * `icon_file`: The dialog's icon file path. This option has no effect when `icon` is set.\n * `no_cancel`: Do not display the "Cancel" button. The default value is `false`.\n * `string_output`: Return the selected button's label (instead of its index) or the dialog's\n exit status instead of the button's index (instead of its exit code). The default value is\n `false`.\n * `width`: The dialog's pixel width.\n * `height`: The dialog's pixel height.\n * `float`: Show the dialog on top of all desktop windows. The default value is `false`.\n * `timeout`: The integer number of seconds the dialog waits for the user to select a button\n before timing out. Dialogs do not time out by default.\n@return selected button or exit code zoom view.zoom (number)\nThe number of points to add to the size of all fonts.\nNegative values are allowed, down to `-10`.\nThe default value is `0`. zoom_in view.zoom_in(view)\nIncreases the size of all fonts by one point, up to 20.\n@param view A view. zoom_out view.zoom_out(view)\nDecreases the size of all fonts by one point, down to -10.\n@param view A view.