Releases: orbitalquark/textadept
Releases · orbitalquark/textadept
12.8
Textadept 12.8 (01 Aug 2025)
Download:
- Textadept 12.8 -- Windows
- Textadept 12.8 -- macOS 11+
- Textadept 12.8 -- Linux
- Textadept 12.8 -- Linux ARM
- Textadept 12.8 -- Modules
Bugfixes:
- Added missing menu mnemonic for Tools > Show Keys.
- Fixed inability to escape escape sequences in regex replace.
- Disable mouse and bracketed paste in terminal version after selecting "save all" when quitting.
- Autoupdate: lack of internet connection should not cause autoupdate check error.
- LSP: only shutdown language servers when actually quitting.
- Scintilla: prevent wrapping between 'rn'.
- Scintilla: fixed crash during painting when scrollbars are changed.
- Scintilla: fixed GTK bug where scroll position is not restored in non-wrap mode.
Changes:
- Added Japanese translation.
- Support building on macOS with Homebrew Qt.
- Only check for non-existent recent files on session load instead of on dialog open.
- Autoupdate: added button for copying release link to clipboard instead of auto-clobbering it.
- Open file mode: added autocompletion list icons.
- Open file mode: emulate bash completion better, including
~
expansion. - Scratch: add ability to save/restore indicators, including for Files Found buffers.
- Scintilla: added
view:scroll_vertical()
for easily scrolling to wrapped sub-lines. - Updated to Lua 5.4.8.
- Updated to Scintilla 5.5.7.
nightly
Textadept nightly (01 Aug 2025)
Code Coverage
File | Coverage | Missed Lines |
---|---|---|
core/args.lua | 97.44% | 80, 130 |
core/assert.lua | 100.00% | |
core/buffer.lua | 100.00% | |
core/events.lua | 100.00% | |
core/file_io.lua | 99.54% | 358 |
core/iface.lua | 100.00% | |
core/init.lua | 92.31% | 6 |
core/keys.lua | 100.00% | |
core/lexer.lua | 100.00% | |
core/lfs_ext.lua | 100.00% | |
core/locale.lua | 100.00% | |
core/table_ext.lua | 100.00% | |
core/ui.lua | 100.00% | |
core/view.lua | 100.00% | |
init.lua | 98.65% | 272, 302 |
modules/textadept/bookmarks.lua | 100.00% | |
modules/textadept/clipboard.lua | 96.88% | 54 |
modules/textadept/command_entry.lua | 100.00% | |
modules/textadept/editing.lua | 100.00% | |
modules/textadept/find.lua | 99.62% | 353 |
modules/textadept/history.lua | 100.00% | |
modules/textadept/init.lua | 100.00% | |
modules/textadept/keys.lua | 98.15% | 553-555 |
modules/textadept/macros.lua | 100.00% | |
modules/textadept/menu.lua | 99.75% | 489 |
modules/textadept/run.lua | 100.00% | |
modules/textadept/session.lua | 100.00% | |
modules/textadept/snippets.lua | 100.00% | |
themes/dark.lua | 100.00% | |
themes/light.lua | 100.00% | |
themes/term.lua | 100.00% | |
Total | 99.65% |
Code Coverage
File | Coverage | Missed Lines |
---|---|---|
src/textadept.c | 91% | 51-55, 74, 79, 547, 550-554, 558, 561, 586-590, 592-595, 597-599, 652-654, 661, 768-776, 779-788, 830-834, 875-876, 911, 1290-1294, 1296-1300 |
src/textadept_curses.c | 60% | 233, 298, 308-319, 321-327, 329-332, 334-342, 344, 347-358, 360, 362, 364, 370-384, 388, 391-397, 440, 565, 567-576, 578-581, 610-611, 614-616, 618-622, 624-629, 633, 635-638, 640-643, 646-650, 653-654, 671, 677-679, 692-707, 709-710, 712, 714, 716-722, 725-727, 731-734, 736-738, 740-747, 749-750, 755-766, [768-770][70], [773-774][71], [776-777][72], [779-785][73], [787-790][74], [792-794][75], [796-803][76], [807-815][77], [908][78], [916][79], [918][80], [920][81], [926-927][82], [929-934][83], [943][84], [968][85], [997-1005][86], [1007][87], [1009-1015][88], [1017-1025][89], [1028][90] |
src/textadept_gtk.c | 68% | [48-49][91], [53-58][92], [77-82][93], [105][94], [214-219][95], [223-225][96], [329-339][97], [341][98], [448-450][99], [487-490][100], [492][101], [561][102], [570-574][103], [577-587][104], [591-593][105], [595-603][106], [605-606][107], [609-616][108], [619-620][109], [659-660][110], [662-670][111], [672][112], [678-680][113], [686-691][114], [695-698][115], [704-709][116], [711-713][117], [719-721][118], [725-727][119], [730-732][120], [734-735][121], [737-743][122], [745-748][123], [750][124], [752-767][125], [770-771][126], [773-782][127], [784-795][128], [797-805][129], [924][130], [932-941][131], [943][132], [960][133] |
src/textadept_qt.cpp | 64% | [91][134], [95-97][135], [101-102][136], [116-117][137], [313][138], [320-323][139], [367-384][140], [386-390][141], [392-402][142], [405-410][143], [413-423][144], [425-426][145], [433-434][146], [452-453][147], [456-459][148], [461-463][149], [468-475][150], [477-480][151], [482-484][152], [486-530][153], [532-540][154], [612-614][155], [634][156], [647-652][157], [660][158], [665-668][159], [676][160], [678][161], [688][162], [702-705][163], [735-746][164], [748-752][165], [755-756][166], [773-774][167] |
src/textadept_qt.h | 100% | |
TOTAL | 74% |
12.7
Textadept 12.7 (01 Jun 2025)
Download:
- Textadept 12.7 -- Windows
- Textadept 12.7 -- macOS 11+
- Textadept 12.7 -- Linux
- Textadept 12.7 -- Linux ARM
- Textadept 12.7 -- Modules
Bugfixes:
- Fixed Markdown lexer to not lex some continuation lines as code.
- Fixed
reset()
turning off folding for newly opened buffers. - Locale files with territories should load now.
- Fixed find previous advancing backwards through zero-width matches.
- Draw whitespace with the proper color in the terminal version.
- Better wide character support in terminal version autocompletion lists.
- Format: format on save should ignore selected text.
- Debugger: fixed initial view setup.
- Spellcheck: custom Hunspell paths should not require trailing slash.
Changes:
- Added
lexer.line_start
,lexer.line_end
, andlexer.text_range()
. - Added
view.parent_size
for manipulating parent split sizes. - Removed
textadept.editing.XPM_IMAGES
. - Added
is_hidpi()
for detecting HiDPI/Retina displays. - Autocompletion lists on HiDPI displays now use 2x image sizes.
- Updated Markdown lexer to allow tab-indented continuation lines.
- Support arbitrary RGB colors in the terminal version.
- Linux package maintainers can define
_HOME
in CMake via theTEXTADEPT_HOME
variable. - Use different indicators for change history deletions.
- Implement indent guide highlighting in the terminal version.
- Implement fold marker highlighting in the terminal version.
- Updated terminal version line marker glyphs.
- Allow autocompleter functions to return a third value, the item to initially select.
- Autoupdate: new module for checking for application updates.
- LSP: new autocompletion list icons and some terminal version "icon" changes.
- LSP: support diagnostic tags.
- LSP: allow preselected items in completion lists.
12.7_beta_2
Textadept 12.7 beta 2 (01 May 2025)
Download:
- Textadept 12.7 beta 2 -- Windows
- Textadept 12.7 beta 2 -- macOS 11+
- Textadept 12.7 beta 2 -- Linux
- Textadept 12.7 beta 2 -- Linux ARM
- Textadept 12.7 beta 2 -- Modules
Bugfixes:
- Fixed file update notification not working after a canceled
io.close_all_buffers()
. - Auto-indent should keep trailing whitespace when breaking up lines.
buffer:save_as()
should only ultimately emit oneevents.FILE_AFTER_SAVE
event.- Fixed some inconsistencies swapping replacement text with the "in files" filter.
- Fixed a hidden caret after some unsuccessful incremental searches.
- Fixed macOS emitting an erroneous
Esc
to an active key mode. - Fixed loss of intermediate view state after closing a buffer and switching to a previous one.
- Fixed potential hangs in "Find in Files" by truncating long lines in found output.
- Fixed lack of terminal UTF-8 characters when building on some systems.
- Fixed snippet transform with 'else' conditional if there is no match.
- Fixed annotation display in the terminal version.
- Fixed Qt list dialog sometimes not showing the first item after filtering items.
- Fixed non-existant
buffer:get_last_child()
. - Horizontal split should scroll the caret into view as necessary.
- Fixed call tips not displaying in the terminal version's Lua command entry.
- Lua REPL: show completions for
view
too. - LSP: fixed potential bug showing call tip for the first time.
- Debugger: fixed "Set Watch Expression" dialog.
Changes:
- Increase minimum required Qt from 5.12 to 5.15.
- Added
io.track_changes
for showing change history. - Enabled undo selection history via
buffer.undo_selection_history
. - Greatly improve startup time when restoring a large session, particularly on macOS.
- Added
textadept.clipboard
module for interacting with the system clipboard from the
terminal version. - Replaced
ui.clipboard_text
withui.get_clipboard_text()
. textadept.editing.join_lines()
should strip leading indentation and move to the end of
joined lines.- Added
events.FIND_PANE_SHOW
andevents.FIND_PANE_HIDE
for the find & replace pane. - Added "Tools > Show Keys..." for querying typed key shortcuts and copying them to the clipboard.
- The
keys
table can accept direct key code strings without the need forkeys.KEYSYMS
. - The cut/copy commands operate on the current line when no text is selected.
- Added
keys.assign_platform_bindings()
for easily making platform-specific key bindings. - Keys passed to
ui.command_entry.run()
can no longer declare their ownEsc
and\n
keys. - Added
^↩
key binding on macOS to show the right-click context menu. - Sessions no longer save typed buffers (find in files, output, etc.)
- Disable undo for typed buffers.
- Highlight terminal ANSI escape codes for colors in output buffers.
- Improved filter syntax and speed.
lfs.default_filter
is auto-appended to filters given tolfs.walk()
,io.quick_open()
, etc.- Added
table.map()
. - Moved
view.fold*
fields intobuffer
since they are actually buffer-specific fields. - Added "Buffer > Toggle Code Folding" to turn off/on code folding on a per-buffer basis.
- Changed how folded text is shown.
- Added "View > Code Folding" submenu with more fold manipulation items.
- Updated Lisp lexer to highlight character escapes.
- Updated rpmspec and reST lexers.
- Lexers can have custom fold functions.
- Updated Markdown lexer with folding.
- LSP: wrap hover text like signature help.
- Scratch: save typed buffers as scratch buffers too.
- Scratch: save modified files as scratch buffers and also save their undo histories.
- Lua REPL: added tab-completion.
- Updated to Scintilla 5.3.6.
12.7_beta
Textadept 12.7 beta (01 Apr 2025)
Download:
- Textadept 12.7 beta -- Windows
- Textadept 12.7 beta -- macOS 11+
- Textadept 12.7 beta -- Linux
- Textadept 12.7 beta -- Linux ARM
- Textadept 12.7 beta -- Modules
Bugfixes:
- Fixed call tip background color in dark theme.
- Autoindent should happen for each selection.
- Fixed incorrect split view size when Find is active in the terminal version.
- Reduce flickering in the terminal version, especially when split views are present.
- Fixed parts of Find & Replace pane disappearing in the terminal version on Windows.
- Fixed command entry label disappearing in the terminal version on Windows.
- List dialog should scroll to an initially selected item if necessary.
ui.goto_file()
should allow splitting and opening in the original view.- Fixed command entry keybinding regression on macOS.
- Fixed keyboard macros in macOS.
Changes:
- New Linux ARM binaries.
- Revamped website, manual, and API documentation (including screenshots).
- Only auto-enclose snippet placeholders with auto-paired characters, not just any punctuation.
- Find in Files appends to the list without scrolling.
textadept.session.load()
does not need to returntrue
anymore.- Require function argument to
ui.command_entry.run()
unless no args are given. - LSP: Lua server hides Markdown escapes in call tip text.
- Export: use default browser on Linux instead of hardcoding one.
12.6
Textadept 12.6 (01 Feb 2025)
Download:
- Textadept 12.6 -- Windows
- Textadept 12.6 -- macOS 11+
- Textadept 12.6 -- Linux
- Textadept 12.6 -- Modules
Bugfixes:
- Fixed crash resizing the terminal version.
- Fixed build for GTK 2.
- Fixed accidental installation of a dependency when manually running
cmake --install
. - Fixed potential crash when manually emitting
events.UPDATE_UI
without an argument. - Fixed occasional crash in the terminal version when attempting to scroll and unscrollable view.
- Scintilla: fixed wrapping of removed lines.
Changes:
- Updated Brazilian Portuguese translation.
- Updated C lexer.
- Added support for Nix.
- Scintilla: improve performance of brace matching.
- Updated to Scintilla 5.5.4.
12.5
Textadept 12.5 (01 Dec 2024)
Download:
- Textadept 12.5 -- Windows
- Textadept 12.5 -- macOS 11+
- Textadept 12.5 -- Linux
- Textadept 12.5 -- Modules
Bugfixes:
- Do not consider tab width when jumping to a compile/run/build/test error column number.
- Fixed typing of single-character lexer names triggering key chains.
- Fixed Tools > Select Command on macOS when invoked via key binding.
Changes:
- Restored BSD support.
- Switched back to Qt Fusion style on Windows.
- Support italic and underline styles in the terminal version.
- LSP: added support for code actions and workspace edits.
- Updated to Scinterm 5.2.
12.5_beta_3
Textadept 12.5 beta 3 (1 Oct 2024)
Download:
- Textadept 12.5 beta 3 -- Windows
- Textadept 12.5 beta 3 -- macOS 11+
- Textadept 12.5 beta 3 -- Linux
- Textadept 12.5 beta 3 -- Modules
Bugfixes:
- Inherit entire login shell environment (including
$PATH
) on macOS without ~/.osx_env.sh. - Fixed regression in
reset()
. - Fixed quick open and find in files filters to not ignore directories like .github.
- Fixed slow-pasting of text into the terminal version.
- Fixed rectangular selections not extending beyond end-of-line when virtual space is enabled.
- Fail gracefully if terminal input cannot be read in the terminal version.
- Fixed incremental find spamming find history.
- Fixed insertion of zero-length snippets.
- Fixed inability to quit the terminal version if an initialization error occured.
- Fixed rebinding keys defined in the macOS menubar.
- Support more movement keys in the command entry on macOS.
- Fixed lack of padding in GTK list dialogs.
- Fixed inability to show the first buffer tab in the Qt version when using
ui.SHOW_ALL_TABS
. - Format: added
format.prefix_map
for formatting paragraphs. - LSP: fixed autocompletion lists when items have spaces in them.
- LSP: Lua language server recognizes conventional
M
identifier as the current module. - LSP: lazy-load Textadept API documentation for the Lua command entry.
- LSP: do not scan Textadept's
_HOME
more than once. - LSP: fixed Lua language server's Textadept
_HOME
detection on macOS.
Changes:
- Updated macOS icon to match Big Sur icon style.
- Updated call tip background to match default background in themes.
- Updated to Qt 6.7 on Windows, which uses Windows 11 theme widgets.
- Updated Brazilian Portuguese translation.
- Renamed 'ansi_c', 'dmd', and 'rstats' lexers to 'c', 'd', and 'r', respectively.
- Language-specific keys have changed (e.g. use
keys.c
andsnippets.c
now). - Emit
events.VIEW_BEFORE_SWITCH
onview:split()
. - Enable
view.caret_line_visible_always
, but only on the current view when Textadept has focus. - Added
select
option toui.dialogs.list()
. - Use a proper label widget for the command entry label instead of a Scintilla margin.
- Increased terminal version Find & Replace history to 100 items.
- Remove duplicates from Find & Replace history.
- Added Edit > Deselect menu item and key binding.
- Format: use Homebrew's
gfmt
for formatting paragraphs on macOS. - Updated to CDK 5.0-20240619.
12.5_beta_2
Textadept 12.5 beta 2 (01 Sep 2024)
Download:
- Textadept 12.5 beta 2 -- Windows
- Textadept 12.5 beta 2 -- macOS 11+
- Textadept 12.5 beta 2 -- Linux
- Textadept 12.5 beta 2 -- Modules
Bugfixes:
- Limit auto-detected indentation to between 2-8 spaces.
- Fixed
buffer:set_encoding()
for single-byte conversions. - Fixed
os.spawn()
in the GTK and terminal versions with a large env table. - Document
-L
and--lua
in help output. - Do not advance the incremental search anchor when Find Next is clicked and nothing was found.
- Fixed error when
textadept.run.run_without_prompt
is enabled, but no command exists. - Do not accidentally scroll the view if no text was found.
- Edits in typed buffers like Files Found Buffer should not be recorded in history.
- Fixed Find in Files error when searching an empty directory.
- Fixed incorrect buffer switching after clicking the tab close button for a non-focused buffer.
- Fixed error return values for
os.spawn():read()
. - Fixed
view:split()
not preserving scroll state. - Scintilla: fixed flickering cursor after some mouse action sequences.
Changes:
- Removed
encodings
table argument fromio.open_file()
; usebuffer:set_encoding()
as needed. - Implemented
timeout()
for the terminal version. - Renamed
_SCINTILLA.new_*
functions toview.new_*
. - Improved
os.spawn()
in the terminal version by using the reproc library. quit()
now accepts a status code to return after quitting.- New internal unit test framework.
events.REPLACE
handlers can now returntrue
to prevent subsequent emission ofevents.FIND
.- Lua Command Entry and
ui.print()
now print to the Output Buffer (not the Message Buffer). - Removed
ui.print_silent()
(useui.print_silent_to()
instead). - Removed Message Buffer.
- Changed
ui.print_to()
andui.print_silent_to()
to only accept a single string message. - Changed
ui.output()
andui.output_silent()
to only accept strings or numbers. textadept.editing.auto_pairs
andtextadept.editing.select_enclosed
support UTF-8 characters.- Scroll up/down by pages using
Alt+PgUp
andAlt+PgDn
, respectively, on Windows and Linux,
and^⇞
and^⇟
on macOS. (N/A in the terminal version.) - Removed
ui.find.find_in_files()
;ui.find.find_next()
withui.find.in_files
invokes it. textadept.editing.select_line()
expands a multi-line selection to include whole lines.- Scintilla: increase maximum zoom to +60 points.
- Scintilla: added
buffer.copy_separator
. - Scintilla: added
buffer:line_indent()
andbuffer:line_dedent()
for
always indenting/dedenting instead of conditionally doing so withbuffer:tab()
and
buffer:back_tab()
. - Updated to Scintilla 5.5.2.
- Updated to Scinterm 5.1.
12.5_beta
Textadept 12.5 beta (01 Jul 2024)
Download:
- Textadept 12.5 beta -- Windows
- Textadept 12.5 beta -- macOS 11+
- Textadept 12.5 beta -- Linux
- Textadept 12.5 beta -- Modules
Bugfixes:
- Fixed tab label not updating for silently created buffers.
- Skip to next snippet placeholder if the word behind the caret is a lexer name with no snippet
text. - Fixed infinite loop when passing nonexistant directory to
lfs.walk()
.
Changes:
- Added menu item to toggle showing line margins.
- Improve Fossil SCM support.
- Updated Spanish and Portuguese translations.
- Added menu item to toggle showing the tab bar.
- Support dynamic horizontal scrollbar resizing.
- Added basic auto-detection of file indentation, conrtrolled with
io.detect_indentation
. - Updated to Lua 5.4.7.