' not
+found`, then you will have to compile Textadept manually without Docker.
[Docker]: https://www.docker.com
[image]: https://github.com/users/orbitalquark/packages/container/textadept-build
---------------------------------------------------------------------------------
+---
### Appendix
---------------------------------------------------------------------------------
+---
#### Regex and Lua Pattern Syntax
The following table outlines Regex and Lua Pattern syntax:
-Regex |Lua |Meaning
-------------|---------|-------
-. |. |Matches any character
-[[:alpha:]] |%a |Matches any letter
-\d |%d |Matches any digit
-[[:lower:]] |%l |Matches any lower case character
-[[:punct:]] |%p |Matches any punctuation character
-\s |%s |Matches any space character
-[[:upper:]] |%u |Matches any upper case character
-\w |%w |Matches any alphanumeric character (Regex includes '_')
-[[:xdigit:]]|%x |Matches any hexadecimal digit
-[*set*] |[*set*] |Matches any character in *set*, including ranges like A-Z
-[^*set*] |[^*set*] |Matches the complement of *set*
-\* |\* |Matches the previous item (Regex) or class (Lua) 0+ times
-\+ |+ |Matches the previous item or class 1+ times
-\*? |- |Matches the previous item or class 0+ times, non-greedily
-\+? | |Matches the previous item 1+ times, non-greedily
-? |? |Matches the previous item or class once or not at all
-{*m*,*n*} | |Matches the previous item between *m* and *n* times
-{*m*,} | |Matches the previous item at least *m* times
-{*m*} | |Matches the previous item exactly *m* times
-\| | |Matches either the previous item or the next item
- |%b*xy* |Matches a balanced string bounded by *x* and *y*
- |%f[*set*]|Matches a position between characters not in and in *set*
-\\< | |Matches the beginning of a word
-\\> | |Matches the end of a word
-\b | |Matches a word boundary
-^ |^ |Matches the beginning of a line unless inside a set
-$ |$ |Matches the end of a line unless inside a set
-( |( |The beginning of a captured matching region
-) |) |The end of a captured matching region
-(?:*...*) | |Consider matched "*...*" as a single, uncaptured item
-\\*n* |%*n* |The *n*th captured matching region's texta
-\\*x* |%*x* |Non-alphanumeric character *x*, ignoring special meaning
-
-aIn replacement text, "\0" (Regex) or "%0" (Lua) represents all
-matched text.
-
-Textadept's regular expressions are based on the C++11 standard for ECMAScript.
-There are a number of references for this syntax on the internet, including:
+Regex | Lua | Meaning
+-|-|-
+. | . | Matches any character
+[[:alpha:]] |%a | Matches any letter
+\d | %d | Matches any digit
+[[:lower:]] | %l | Matches any lower case character
+[[:punct:]] | %p | Matches any punctuation character
+\s | %s | Matches any space character
+[[:upper:]] | %u | Matches any upper case character
+\w | %w | Matches any alphanumeric character (Regex includes '_')
+[[:xdigit:]] | %x | Matches any hexadecimal digit
+[*set*] | [*set*] | Matches any character in *set*, including ranges like A-Z
+[^*set*] | [^*set*] | Matches the complement of *set*
+\* | \* | Matches the previous item (Regex) or class (Lua) 0+ times
+\+ | + | Matches the previous item or class 1+ times
+\*? | - | Matches the previous item or class 0+ times, non-greedily
+\+? | | Matches the previous item 1+ times, non-greedily
+? | ? | Matches the previous item or class once or not at all
+{*m*,*n*} | | Matches the previous item between *m* and *n* times
+{*m*,} | | Matches the previous item at least *m* times
+{*m*} | | Matches the previous item exactly *m* times
+\| | | Matches either the previous item or the next item
+ | %b*xy* | Matches a balanced string bounded by *x* and *y*
+ | %f[*set*] | Matches a position between characters not in and in *set*
+\\< | | Matches the beginning of a word
+\\> | | Matches the end of a word
+\b | | Matches a word boundary
+^ | ^ | Matches the beginning of a line unless inside a set
+$ | $ | Matches the end of a line unless inside a set
+( | ( | The beginning of a captured matching region
+) | ) | The end of a captured matching region
+(?:*...*) | | Consider matched "*...*" as a single, uncaptured item
+\\*n* | %*n* | The *n*th captured matching region's texta
+\\*x* | %*x* | Non-alphanumeric character *x*, ignoring special meaning
+
+aIn replacement text, "\0" (Regex) or "%0" (Lua) represents all matched text.
+
+Textadept's regular expressions are based on the C++11 standard for ECMAScript. There are a
+number of references for this syntax on the internet, including:
* [ECMAScript syntax C++ reference](https://www.cplusplus.com/reference/regex/ECMAScript/)
* [Modified ECMAScript regular expression grammar](https://en.cppreference.com/w/cpp/regex/ecmascript)
* [Regular Expressions (C++)](https://docs.microsoft.com/en-us/cpp/standard-library/regular-expressions-cpp)
-More information on Lua patterns can be found in the
-[Lua 5.3 Reference Manual](https://www.lua.org/manual/5.3/manual.html#6.4.1).
+More information on Lua patterns can be found in the [Lua 5.3 Reference
+Manual](https://www.lua.org/manual/5.3/manual.html#6.4.1).
#### Terminal Version Compatibility
-Textadept's terminal version requires a font with good glyph support (like
-DejaVu Sans Mono or Liberation Mono), and lacks some GUI features due to the
-terminal's constraints:
+Textadept's terminal version requires a font with good glyph support (like DejaVu Sans Mono or
+Liberation Mono), and lacks some GUI features due to the terminal's constraints:
* No alpha values or transparency.
-* No images in autocompletion lists. Instead, autocompletion lists show the
- first character in the string passed to [`buffer.register_image()`][].
+* No images in autocompletion lists. Instead, autocompletion lists show the first character in
+ the string passed to [`buffer.register_image()`][].
* No buffered or two-phase drawing.
* Carets cannot have a period, line style, or width.
* No drag and drop.
@@ -1801,9 +1634,8 @@ terminal's constraints:
* No extra line ascent or descent.
* No fold lines above and below lines.
* No hotspot underlines on mouse hover.
-* No indicators other than `INDIC_ROUNDBOX` and `INDIC_STRAIGHTBOX`, although
- neither has translucent drawing and `INDIC_ROUNDBOX` does not have rounded
- corners.
+* No indicators other than `INDIC_ROUNDBOX` and `INDIC_STRAIGHTBOX`, although neither has
+ translucent drawing and `INDIC_ROUNDBOX` does not have rounded corners.
* Some complex marker symbols are not drawn properly or at all.
* No mouse cursor types.
* Only up to 16 colors recognized, regardless of how many colors the terminal
@@ -1812,8 +1644,8 @@ terminal's constraints:
* No style settings like font name, font size, or italics.
* No X selection, primary or secondary, integration with the clipboard.
* No zoom.
-* When using the mouse in the Windows console, Shift+Double-click extends
- selections and quadruple-clicking inside a selection collapses it.
+* When using the mouse in the Windows console, Shift+Double-click extends selections and
+ quadruple-clicking inside a selection collapses it.
[`buffer.register_image()`]: api.html#buffer.register_image
@@ -1821,17 +1653,14 @@ terminal's constraints:
Textadept's directory structure is organized as follows:
-* *core/*: Contains Textadept's core Lua modules. These modules are essential
- for the application to run. They provide Textadept's Lua to C interface, event
- framework, file interactions, and localization.
-* *lexers/*: Houses the lexer modules that analyze source code for syntax
- highlighting.
-* *modules/*: Contains modules for editing text and source code, as well as
- language modules.
-* *themes/*: Contains built-in themes that customize the look and feel of
- Textadept.
-* *etc/*, *lib/*, and *share/*: GTK support directories and only appear in the
- Windows and macOS packages.
+* *core/*: Contains Textadept's core Lua modules. These modules are essential for the application
+ to run. They provide Textadept's Lua to C interface, event framework, file interactions,
+ and localization.
+* *lexers/*: Houses the lexer modules that analyze source code for syntax highlighting.
+* *modules/*: Contains modules for editing text and source code, as well as language modules.
+* *themes/*: Contains built-in themes that customize the look and feel of Textadept.
+* *etc/*, *lib/*, and *share/*: GTK support directories and only appear in the Windows and
+ macOS packages.
#### Technologies
@@ -1869,85 +1698,84 @@ Textadept is composed of the following technologies:
##### API Changes
-Old API |Change |New API
----------------------------|:------:|-------
-**buffer** | |
-set_theme() |Renamed |[view:set_theme()][]
-style_name[n] |Replaced|[name_of_style][](n)
-CASEINSENSITIVEBEHAVIOUR\_*|Renamed |CASEINSENSITIVEBEHAVIOR\_*
-INDIC\_GRADIENTCENTRE |Renamed |INDIC\_GRADIENTCENTER
-MARGIN\_COLOUR |Renamed |MARGIN\_COLOR
-auto\_c\_case_insensitive\_behaviour|Renamed|auto\_c\_case\_insensitive\_behavior
-colourise |Renamed |colorize
-edge\_colour |Renamed |edge\_color
-set\_fold\_margin\_\*colour|Renamed |set\_fold\_margin\_\*color
-vertical\_centre\_caret |Renamed |vertical\_center\_caret
-**events** | |
-AUTO\_C\_CANCELLED |Renamed |AUTO\_C\_CANCELED
-N/A |Added |[COMMAND_TEXT_CHANGED][]
-N/A |Added |[FILE_BEFORE_RELOAD][]
-N/A |Added |[FILE_AFTER_RELOAD][]
-N/A |Added |[FIND_RESULT_FOUND][]
-N/A |Added |[FIND_TEXT_CHANGED][]
-N/A |Added |[SESSION_SAVE][]
-N/A |Added |[SESSION_LOAD][]
-N/A |Added |[UNFOCUS][]
-**io** | |
-reload_file() |Renamed |[buffer:reload()][]
-save_file() |Renamed |[buffer:save()][]
-save_file_as() |Renamed |[buffer:save_as()][]
-close_buffer() |Renamed |[buffer:close()][]
-**keys** | |
-MODE |Renamed |[mode][]
-**lexer** | |
-N/A |Added |[to_eol()][]
-delimited\_range() |Replaced|[range()][]
-nested\_pair() |Replaced|[range()][]
-fold\_line\_comments() |Replaced|[fold_consecutive_lines()][]a
-N/A |Added |[number][]
-N/A |Added |[colors][]
-N/A |Added |[styles][]
-N/A |Added |[folding][] and other fold\* properties
-**lfs** | |
-dir\_foreach() |Replaced|for filename in [lfs.walk()][] do ... end
-**textadept.bookmarks** | |
-toggle(line, on) |Changed |[toggle()][]
-**textadept.editing** | |
-block\_comment() |Renamed |[toggle_comment()][]
-highlight_word() |Replaced|[highlight_words][]
-**textadept.file_types** | |
-lexers |Removed |N/Ab
-**textadept.find** | |
-find\_incremental() |Replaced|[incremental][]c
-find\_incremental\_keys |Removed |
-N/A |Added |[highlight_all_matches][]
-**textadept.history** |Added |[textadept.history][]
-**textadept.run** | |
-N/A |Added |[set_arguments][]
-**textadept.snippets** | |
-\_insert() |Renamed |[insert()][]
-\_previous() |Renamed |[previous()][]
-\_cancel_current() |Renamed |[cancel_current()][]
-\_select() |Renamed |[select()][]
-\_paths |Renamed |[paths][]
-**ui** | |
-bufstatusbar\_text |Renamed |[buffer_statusbar_text][]
-**ui.command_entry** | |
-N/A |Added |[active][]
-N/A |Added |[append_history][]
-**ui.dialogs** | |
-N/A |Added |[progressbar()][]
-**ui.find** | |
-find\_in\_files\_timeout |Removed |N/A
-N/A |Added |[active][]
-**view** | |
-N/A |Added |_buffer functions and fields_d
+Old API | Change | New API
+-|:-:|-
+**buffer**||
+set_theme() | Renamed | [view:set_theme()][]
+style_name[n] | Replaced | [name_of_style][](n)
+CASEINSENSITIVEBEHAVIOUR\_* | Renamed | CASEINSENSITIVEBEHAVIOR\_*
+INDIC\_GRADIENTCENTRE | Renamed | INDIC\_GRADIENTCENTER
+MARGIN\_COLOUR | Renamed | MARGIN\_COLOR
+auto\_c\_case_insensitive\_behaviour | Renamed | auto\_c\_case\_insensitive\_behavior
+colourise | Renamed | colorize
+edge\_colour | Renamed | edge\_color
+set\_fold\_margin\_\*colour | Renamed | set\_fold\_margin\_\*color
+vertical\_centre\_caret | Renamed | vertical\_center\_caret
+**events**||
+AUTO\_C\_CANCELLED | Renamed | AUTO\_C\_CANCELED
+N/A | Added | [COMMAND_TEXT_CHANGED][]
+N/A | Added | [FILE_BEFORE_RELOAD][]
+N/A | Added | [FILE_AFTER_RELOAD][]
+N/A | Added | [FIND_RESULT_FOUND][]
+N/A | Added | [FIND_TEXT_CHANGED][]
+N/A | Added | [SESSION_SAVE][]
+N/A | Added | [SESSION_LOAD][]
+N/A | Added | [UNFOCUS][]
+**io**||
+reload_file() | Renamed | [buffer:reload()][]
+save_file() | Renamed | [buffer:save()][]
+save_file_as() | Renamed | [buffer:save_as()][]
+close_buffer() | Renamed | [buffer:close()][]
+**keys**||
+MODE | Renamed | [mode][]
+**lexer**||
+N/A | Added | [to_eol()][]
+delimited\_range() | Replaced | [range()][]
+nested\_pair() | Replaced | [range()][]
+fold\_line\_comments() | Replaced | [fold_consecutive_lines()][]a
+N/A | Added | [number][]
+N/A | Added | [colors][]
+N/A | Added | [styles][]
+N/A | Added | [folding][] and other fold\* properties
+**lfs**||
+dir\_foreach() | Replaced | for filename in [lfs.walk()][] do ... end
+**textadept.bookmarks**||
+toggle(line, on) | Changed | [toggle()][]
+**textadept.editing**||
+block\_comment() | Renamed | [toggle_comment()][]
+highlight_word() | Replaced | [highlight_words][]
+**textadept.file_types**||
+lexers | Removed | N/Ab
+**textadept.find**||
+find\_incremental() | Replaced | [incremental][]c
+find\_incremental\_keys | Removed |
+N/A | Added | [highlight_all_matches][]
+**textadept.history** | Added | [textadept.history][]
+**textadept.run**||
+N/A | Added | [set_arguments][]
+**textadept.snippets** ||
+\_insert() | Renamed | [insert()][]
+\_previous() | Renamed | [previous()][]
+\_cancel_current() | Renamed | [cancel_current()][]
+\_select() | Renamed | [select()][]
+\_paths | Renamed | [paths][]
+**ui**||
+bufstatusbar\_text | Renamed | [buffer_statusbar_text][]
+**ui.command_entry**||
+N/A | Added | [active][]
+N/A | Added | [append_history][]
+**ui.dialogs**||
+N/A | Added | [progressbar()][]
+**ui.find**||
+find\_in\_files\_timeout | Removed | N/A
+N/A | Added | [active][]
+**view**||
+N/A | Added | _buffer functions and fields_d
aReturns prefix and function, instead of just function.
bUse `for name in buffer:private_lexer_call(_SCINTILLA.functions.property_names[1]):gmatch('[^\n]+') do ... end`.
cUse `textadept.menu.menubar[_L['Search']][_L['Find Incremental']][2]`.
-dMost buffer functions and fields are available in views now. See
-section below.
+dMost buffer functions and fields are available in views now. See section below.
[view:set_theme()]: api.html#view.set_theme
[name_of_style]: api.html#buffer.name_of_style
@@ -1992,58 +1820,51 @@ section below.
##### Buffer Indexing Changes
-All buffer positions, lines, and countable entities now start from `1` instead
-of `0`. For example, `buffer:get_line(1)` now returns the contents of the first
-line instead of `buffer:get_line(0)`, and marker and indicator numbers now count
-from 1 instead of 0.
+All buffer positions, lines, and countable entities now start from `1` instead of `0`. For example,
+`buffer:get_line(1)` now returns the contents of the first line instead of `buffer:get_line(0)`,
+and marker and indicator numbers now count from 1 instead of 0.
-While this change may seem daunting for migrating user scripts, in practice it
-is not, since most usage is internal, and an offset of 1 or 0 does not matter.
-In migrating Textadept's internals, the following changes were made:
+While this change may seem daunting for migrating user scripts, in practice it is not, since most
+usage is internal, and an offset of 1 or 0 does not matter. In migrating Textadept's internals,
+the following changes were made:
-* Themes that loop through marker numbers will need to be updated from something
- like `for i = 25, 31 do ... end` to either `for i = 26, 32 do ... end` or
+* Themes that loop through marker numbers will need to be updated from something like
+ `for i = 25, 31 do ... end` to either `for i = 26, 32 do ... end` or
`for i = buffer.MARKNUM_FOLDEREND, buffer.MARKNUM_FOLDEROPEN do ... end`.
-* Most references of `buffer.length` will need to be changed to
- `buffer.length + 1`. For example, something like
- `buffer:goto_pos(buffer.length)` needs to be
- `buffer:goto_pos(buffer.length + 1)`. The exceptions are when `buffer.length`
- is not used as a position, as in
+* Most references of `buffer.length` will need to be changed to `buffer.length + 1`. For example,
+ something like `buffer:goto_pos(buffer.length)` needs to be `buffer:goto_pos(buffer.length + 1)`.
+ The exceptions are when `buffer.length` is not used as a position, as in
`buffer:indicator_clear_range(1, buffer.length)`, which is still valid.
-* Any `buffer` function calls and property indexing with bare numbers should be
- changed to calls or indexes with those numbers plus 1. For example,
- `buffer:contracted_fold_next(0)` changes to `buffer:contracted_fold_next(1)`,
- and `buffer.margin_n_width[1] = ...` changes to
+* Any `buffer` function calls and property indexing with bare numbers should be changed to
+ calls or indexes with those numbers plus 1. For example, `buffer:contracted_fold_next(0)`
+ changes to `buffer:contracted_fold_next(1)`, and `buffer.margin_n_width[1] = ...` changes to
`buffer.margin_n_width[2] = ...`.
* Any looping through lines, margins, and selections via
`for i = 0, buffer.{line_count,margins,selections} - 1 do ... end` needs to be
`for i = 1, buffer.{line_count,margins,selections} do ... end`.
-* Similarly, any language modules that loop back through lines (e.g. to
- determine types for autocompletion) via
- `for i = current_line, 0, -1 do ... end` needs to be
+* Similarly, any language modules that loop back through lines (e.g. to determine types for
+ autocompletion) via `for i = current_line, 0, -1 do ... end` needs to be
`for i = current_line, 1, -1 do ... end`.
-* Marker or indicator masks are produced by subtracting 1 from marker or
- indicator numbers. For example, `1 << textadept.bookmarks.MARK_BOOKMARK`
- changes to `1 << textadept.bookmarks.MARK_BOOKMARK - 1`.
-* Logic that depends on the return value of `buffer:get_cur_line()` may need to
- be changed. For example, any subsequent references to `pos` after
- `local line, pos = buffer:get_cur_line()` like `if line:sub(1, pos) ... end`
- need to be changed to `if line:sub(1, pos - 1) ... end`.
-
-I found it helpful to quickly scan source files for syntax-highlighted numbers
-and then seeing if those numbers needed to be changed. Searching for "- 1",
-"+ 1", "buffer.length", etc. was also helpful.
+* Marker or indicator masks are produced by subtracting 1 from marker or indicator
+ numbers. For example, `1 << textadept.bookmarks.MARK_BOOKMARK` changes to
+ `1 << textadept.bookmarks.MARK_BOOKMARK - 1`.
+* Logic that depends on the return value of `buffer:get_cur_line()` may need to be changed. For
+ example, any subsequent references to `pos` after `local line, pos = buffer:get_cur_line()`
+ like `if line:sub(1, pos) ... end` need to be changed to `if line:sub(1, pos - 1) ... end`.
+
+I found it helpful to quickly scan source files for syntax-highlighted numbers and then seeing
+if those numbers needed to be changed. Searching for "- 1", "+ 1", "buffer.length", etc. was
+also helpful.
##### View API Additions and Buffer API Changes
-Textadept's [buffer][] API is largely based on the [Scintilla API][], which does
-not distinguish between buffer- and view-specific functionality. Textadept 11
-now attempts to separate this functionality, but only superficially. Buffers and
-views may be used interchangeably for the most part, but the [buffer][] and
-[view][] API provides _guidance_ (not hard requirements) on which functions and
-fields are more appropriate for their respective objects. _User scripts do not
-need to be updated and will continue to function normally_. The following "Find"
-regex can be used to help convert `buffer.*` functionality to `view.*`:
+Textadept's [buffer][] API is largely based on the [Scintilla API][], which does not distinguish
+between buffer- and view-specific functionality. Textadept 11 now attempts to separate this
+functionality, but only superficially. Buffers and views may be used interchangeably for the
+most part, but the [buffer][] and [view][] API provides _guidance_ (not hard requirements)
+on which functions and fields are more appropriate for their respective objects. _User scripts
+do not need to be updated and will continue to function normally_. The following "Find" regex
+can be used to help convert `buffer.*` functionality to `view.*`:
(\w+)([.:])\b(additional_caret_fore|additional_carets_blink|additional_carets_visible|additional_sel_alpha|additional_sel_back|additional_sel_fore|all_lines_visible|annotation_visible|auto_c_max_height|auto_c_max_width|call_tip_fore_hlt|call_tip_pos_start|call_tip_position|call_tip_use_style|caret_fore|caret_line_back|caret_line_back_alpha|caret_line_frame|caret_line_visible|caret_line_visible_always|caret_period|caret_style|caret_width|cursor|edge_colour|edge_column|edge_mode|end_at_last_line|extra_ascent|extra_descent|first_visible_line|fold_display_text_style|fold_expanded|fold_flags|h_scroll_bar|highlight_guide|idle_styling|indentation_guides|indic_alpha|indic_fore|indic_hover_fore|indic_hover_style|indic_outline_alpha|indic_style|indic_under|line_visible|lines_on_screen|margins|margin_back_n|margin_cursor_n|margin_left|margin_mask_n|margin_options|margin_right|margin_sensitive_n|margin_type_n|margin_width_n|marker_alpha|marker_back|marker_back_selected|marker_fore|mouse_dwell_time|mouse_selection_rectangular_switch|property|property_expanded|property_int|rectangular_selection_modifier|representation|rgba_image_height|rgba_image_scale|rgba_image_width|scroll_width|scroll_width_tracking|sel_alpha|sel_eol_filled|size|style_back|style_bold|style_case|style_changeable|style_eol_filled|style_font|style_fore|style_italic|style_size|style_underline|style_visible|tab_draw_mode|v_scroll_bar|view_eol|view_ws|whitespace_size|wrap_indent_mode|wrap_mode|wrap_start_indent|wrap_visual_flags|wrap_visual_flags_location|x_offset|zoom|ANNOTATION_BOXED|ANNOTATION_HIDDEN|ANNOTATION_STANDARD|ANNOTATION_INDENTED|CARETSTYLE_BLOCK|CARETSTYLE_INVISIBLE|CARETSTYLE_LINE|CARET_EVEN|CARET_JUMPS|CARET_SLOP|CARET_STRICT|EDGE_BACKGROUND|EDGE_LINE|EDGE_MULTILINE|EDGE_NONE|FOLDACTION_CONTRACT|FOLDACTION_EXPAND|FOLDACTION_TOGGLE|FOLDDISPLAYTEXT_HIDDEN|FOLDDISPLAYTEXT_STANDARD|FOLDDISPLAYTEXT_BOXED|INDIC_BOX|INDIC_COMPOSITIONTHICK|INDIC_COMPOSITIONTHIN|INDIC_DASH|INDIC_DIAGONAL|INDIC_DOTBOX|INDIC_DOTS|INDIC_FULLBOX|INDIC_GRADIENT|INDIC_GRADIENTCENTRE|INDIC_HIDDEN|INDIC_PLAIN|INDIC_POINT|INDIC_POINTCHARACTER|INDIC_ROUNDBOX|INDIC_SQUIGGLE|INDIC_SQUIGGLELOW|INDIC_SQUIGGLEPIXMAP|INDIC_STRAIGHTBOX|INDIC_STRIKE|INDIC_TEXTFORE|INDIC_TT|MOD_ALT|MOD_CTRL|MOD_META|MOD_SHIFT|MOD_SUPER|MOUSE_DRAG|MOUSE_PRESS|MOUSE_RELEASE|WS_INVISIBLE|WS_VISIBLEAFTERINDENT|WS_VISIBLEALWAYS|WS_VISIBLEONLYININDENT|ALPHA_NOALPHA|ALPHA_OPAQUE|ALPHA_TRANSPARENT|CASE_CAMEL|CASE_LOWER|CASE_MIXED|CASE_UPPER|CURSORARROW|CURSORNORMAL|CURSORREVERSEARROW|CURSORWAIT|FOLDFLAG_LEVELNUMBERS|FOLDFLAG_LINEAFTER_CONTRACTED|FOLDFLAG_LINEAFTER_EXPANDED|FOLDFLAG_LINEBEFORE_CONTRACTED|FOLDFLAG_LINEBEFORE_EXPANDED|FOLDFLAG_LINESTATE|IV_LOOKBOTH|IV_LOOKFORWARD|IV_NONE|IV_REAL|MARGINOPTION_NONE|MARGINOPTION_SUBLINESELECT|MARGIN_BACK|MARGIN_COLOUR|MARGIN_FORE|MARGIN_NUMBER|MARGIN_RTEXT|MARGIN_SYMBOL|MARGIN_TEXT|MARK_ARROW|MARK_ARROWDOWN|MARK_ARROWS|MARK_BACKGROUND|MARK_BOOKMARK|MARK_BOXMINUS|MARK_BOXMINUSCONNECTED|MARK_BOXPLUS|MARK_BOXPLUSCONNECTED|MARK_CHARACTER|MARK_CIRCLE|MARK_CIRCLEMINUS|MARK_CIRCLEMINUSCONNECTED|MARK_CIRCLEPLUS|MARK_CIRCLEPLUSCONNECTED|MARK_DOTDOTDOT|MARK_EMPTY|MARK_FULLRECT|MARK_LCORNER|MARK_LCORNERCURVE|MARK_LEFTRECT|MARK_MINUS|MARK_PIXMAP|MARK_PLUS|MARK_RGBAIMAGE|MARK_ROUNDRECT|MARK_SHORTARROW|MARK_SMALLRECT|MARK_TCORNER|MARK_TCORNERCURVE|MARK_UNDERLINE|MARK_VERTICALBOOKMARK|MARK_VLINE|MASK_FOLDERS|TD_LONGARROW|TD_STRIKEOUT|TIME_FOREVER|WRAPINDENT_DEEPINDENT|WRAPINDENT_FIXED|WRAPINDENT_INDENT|WRAPINDENT_SAME|WRAPVISUALFLAGLOC_DEFAULT|WRAPVISUALFLAGLOC_END_BY_TEXT|WRAPVISUALFLAGLOC_START_BY_TEXT|WRAPVISUALFLAG_END|WRAPVISUALFLAG_MARGIN|WRAPVISUALFLAG_NONE|WRAPVISUALFLAG_START|WRAP_CHAR|WRAP_NONE|WRAP_WHITESPACE|WRAP_WORD|STYLE_BRACEBAD|STYLE_BRACELIGHT|STYLE_CALLTIP|STYLE_CONTROLCHAR|STYLE_DEFAULT|STYLE_FOLDDISPLAYTEXT|STYLE_INDENTGUIDE|STYLE_LINENUMBER|STYLE_MAX|UPDATE_H_SCROLL|UPDATE_V_SCROLL|VISIBLE_SLOP|VISIBLE_STRICT|brace_bad_light|brace_bad_light_indicator|brace_highlight|brace_highlight_indicator|call_tip_active|call_tip_cancel|call_tip_pos_start|call_tip_set_hlt|call_tip_show|clear_registered_images|clear_representation|contracted_fold_next|doc_line_from_visible|ensure_visible|ensure_visible_enforce_policy|fold_all|fold_children|fold_line|get_default_fold_display_text|hide_lines|line_scroll|line_scroll_down|line_scroll_up|marker_define|marker_define_pixmap|marker_define_rgba_image|marker_enable_highlight|marker_symbol_defined|multi_edge_add_line|multi_edge_clear_all|register_image|register_rgba_image|scroll_caret|scroll_to_end|scroll_to_start|scroll_range|set_default_fold_display_text|set_fold_margin_colour|set_fold_margin_hi_colour|set_sel_back|set_sel_fore|set_visible_policy|set_whitespace_back|set_whitespace_fore|set_x_caret_policy|set_y_caret_policy|show_lines|style_clear_all|style_reset_default|text_height|text_width|toggle_fold|toggle_fold_show_text|vertical_centre_caret|visible_from_doc_line|wrap_count|zoom_in|zoom_out|split|unsplit|goto_buffer)\b
@@ -2053,8 +1874,7 @@ regex can be used to help convert `buffer.*` functionality to `view.*`:
view\2\3
-It is not recommended to blindly "Replace All". Each change should be manually
-confirmed.
+It is not recommended to blindly "Replace All". Each change should be manually confirmed.
[buffer]: api.html#buffer
[Scintilla API]: https://scintilla.org/ScintillaDoc.html
@@ -2063,10 +1883,10 @@ confirmed.
##### Theme and Lexer Changes
-Themes and lexers have a new, optional API for defining and using colors and
-styles. Previously, all definitions and access to colors and styles was
-accomplished through `buffer.property` and `buffer.property_int`. Now it can be
-done via the `lexer.colors` and `lexer.styles` variables. For example:
+Themes and lexers have a new, optional API for defining and using colors and styles. Previously,
+all definitions and access to colors and styles was accomplished through `buffer.property`
+and `buffer.property_int`. Now it can be done via the `lexer.colors` and `lexer.styles`
+variables. For example:
-- Textadept 10
local property, property_int = buffer.property, buffer.property_int
@@ -2080,10 +1900,9 @@ done via the `lexer.colors` and `lexer.styles` variables. For example:
styles.keyword = {fore = colors.blue, bold = true}
view.edge_color = colors.grey
-Any additional settings passed `view:set_theme()` are available as global
-variables in the theme. Textadept's themes make use of `font` and `size` (the
-latter of which used to be `fontsize`) for easily configuring font and size
-per-user.
+Any additional settings passed `view:set_theme()` are available as global variables in the
+theme. Textadept's themes make use of `font` and `size` (the latter of which used to be
+`fontsize`) for easily configuring font and size per-user.
Lexers can also utilize these new features. For example:
@@ -2095,38 +1914,35 @@ Lexers can also utilize these new features. For example:
lex:add_rule('custom_rule', token('custom', P('word')))
lex:add_style('custom', lexer.styles.keyword .. {italic = true})
-Note that these features are optional. Themes and lexers setting property
-strings is still supported.
+Note that these features are optional. Themes and lexers setting property strings is still
+supported.
##### Localization Changes
-GUI mnemonics in localization keys have been removed. For example, `_L['_New']`
-should be changed to `_L['New']`. Mnemonics can still be used in localization
-values; it's just the keys that have changed. See Textadept's *core/locale.conf*
-for examples.
+GUI mnemonics in localization keys have been removed. For example, `_L['_New']` should be
+changed to `_L['New']`. Mnemonics can still be used in localization values; it's just the keys
+that have changed. See Textadept's *core/locale.conf* for examples.
##### Key Bindings Changes
-Key sequence modifiers have changed from their shortened form to a longer form
-that is more intuitive. `'c'` is now `'ctrl'`, `'a'` is now `'alt'`, `'m'` is
-now `'cmd'` on macOS and `'meta'` in the terminal version, and `'s'` is now
-`'shift'`. For example, `keys.cn = ...` is now `keys['ctrl+n'] = ...` and
-`keys['m<'] = ...` is now `keys['cmd+<'] = ...` or `keys['meta+<'] = ...`.
+Key sequence modifiers have changed from their shortened form to a longer form that is more
+intuitive. `'c'` is now `'ctrl'`, `'a'` is now `'alt'`, `'m'` is now `'cmd'` on macOS and
+`'meta'` in the terminal version, and `'s'` is now `'shift'`. For example, `keys.cn = ...` is now
+`keys['ctrl+n'] = ...` and `keys['m<'] = ...` is now `keys['cmd+<'] = ...` or `keys['meta+<']
+= ...`.
-The key binding for inserting a user-specified snippet from a dialog has changed
-from `Ctrl+K` (`⌥⇥` on macOS | `M-K` on the terminal) to `Ctrl+Shift+K`
-(`⌥⇧⇥` | `M-S-K`). `Ctrl+K` (`⌥⇥` | `M-K`) now autocompletes snippet names.
+The key binding for inserting a user-specified snippet from a dialog has changed from `Ctrl+K`
+(`⌥⇥` on macOS | `M-K` on the terminal) to `Ctrl+Shift+K` (`⌥⇧⇥` | `M-S-K`). `Ctrl+K`
+(`⌥⇥` | `M-K`) now autocompletes snippet names.
##### Session Changes
-Textadept saves and loads session from Lua data files instead of structured text
-files. As a result, Textadept 11 cannot load session files from 10.x or before.
+Textadept saves and loads session from Lua data files instead of structured text files. As a
+result, Textadept 11 cannot load session files from 10.x or before.
##### Miscellaneous Changes
-* *~/.textadept/?.lua* and *~/.textadept/?.{so,dll}* has been removed from
- `package.path` and `package.cpath`, respectively. All modules should be placed
- in *~/.textadept/modules/*.
-* The command entry no longer recognizes a Lua 5.1-style '`=`' prefix for
- printing return values. Printing return values has been the default for quite
- some time.
+* *~/.textadept/?.lua* and *~/.textadept/?.{so,dll}* has been removed from `package.path` and
+ `package.cpath`, respectively. All modules should be placed in *~/.textadept/modules/*.
+* The command entry no longer recognizes a Lua 5.1-style '`=`' prefix for printing return
+ values. Printing return values has been the default for quite some time.
--
cgit v1.2.3