What's new in Textadept 12.4
May 7, 2024
- BUG FIXES:
- Fixed macOS bug where message dialogs did not return focus to the editor.
- Fixed Bash lexer to not highlight escaped '#' as comments.
- CHANGES:
- Updated AutoHotkey, Perl, and Rust lexers with minor improvements.
- LSP: notify servers that diagnostics are supported.
- Scintilla: significantly reduce memory used for undo actions.
- Scintilla: added additional selection inactive colors to view.element_color.
- Scintilla: scale reverse arrow margin cursor to match user's cursor size.
- Updated to Scintilla 5.5.0.
New in Textadept 12.3 (Mar 7, 2024)
- Bugfixes:
- Fixed help files not showing up in Linux releases.
- Fixed ^⌘ key sequences not working on macOS.
- LSP: fixed diagnostics for some language servers that expect client diagnostic capababilities.
- Scintilla: workaround potential crash when a line contains both left-to-right and right-to-left
- text.
New in Textadept 12.3 Beta (Jan 3, 2024)
- Bugfixes:
- Do not assume filter through command output is encoded in _CHARSET.
- Only close the initial buffer if it is blank too.
- Fixed CMake constantly redownloading Qt SingleApplication module.
- Qt version: Allow keypad Enter to invoke action in Find & Replace pane entries
- Scintilla: fixed regex reverse search bug where a shortened match was returned.
- Scintilla: avoid character fragments in regular expression search results.
- Scintilla: fixed excessive memory use when deleting contiguous ranges backwards.
- Scintilla: fixed incorrect substitution when searching for a regular expression backwards.
- Scintilla: fix potential Qt crash when using IME with a large amount of text selected.
- Changes:
- Added textadept.snippets.active.
- Scratch: New module for treating untitled buffers as persistent scratch buffers.
- Scintilla: Ctrl+Click on a selection deselects it in multiple selection mode.
- Scintilla: added buffer:change_selection_mode().
- Scintilla: allow setting of buffer.move_extends_selection.
- Scintilla: improve global replace performance.
- Scintilla: make buffer:move_selected_lines_up() and buffer:move_selected_lines_down()
- work for regular selections.
- Updated to Scintilla 5.4.1.
New in Textadept 12.2 (Nov 2, 2023)
- Bugfixes:
- Regex replacements with '^' anchors should only match once per line.
- Fix statusbar column number not including virtual space.
- Fixed terminal version crash in some list dialogs with UTF-8 characters in them.
- Gtk input dialogs are resizable.
- Fixed default Gtk icon dialog when none was specified.
- Changes:
- Updated Brazilian Portuguese and Spanish localizations.
New in Textadept 12.2 Beta (Oct 3, 2023)
- BUG FIXES:
- Fixed crash during logout/restart on Windows while Textadept is still running.
- Prevent key bindings in the macOS menu from overriding user-specified bindings.
- Fixed interpretation of '-' command line argument as reading from stdin.
- Prevent duplicate key events from Scintilla.
- Only show message box icons in the Gtk version if they exist.
- Fixed display of window and dialog icons in Gtk.
- Correctly highlight built-in Bash variables surrounded by "${...}".
- CHANGES:
- Implemented single-instance functionality on Windows (and Linux with Qt).
- Dropped legacy 11.x compatibility shims.
- Added Brazilian Portuguese localization.
- Updated Hare, fstab, and Matlab lexers.
- Updated Markdown lexer to detect code blocks delimited by ~~~.
- Updated Bash lexer to disable conditional and arithmetic operator highlighting due to performance.
- Updated to Scintilla 5.3.7.
New in Textadept 12.1 (Sep 3, 2023)
- BUG FIXES:
- Correctly recognize projects under Fossil version control.
- Fixed potential crash on GTK when opening a list dialog and immediately arrowing down.
- Fixed crash unsplitting a non-focused view whose other pane contains the focused view.
- Fixed some multi-byte characters in Julia lexer being incorrectly marked as operators.
- Fixed lack of legacy support for lexer.fold_consecutive_lines().
- Do not highlight Bash variable pattern expansion as comments.
- Fixed potential crash with proxy lexers like RHTML.
- Scintilla: fixed crash when using IME with a large amount of text selected.
- CHANGES:
- Added textadept.run.run_without_prompt for running commands immediately
- Updated Hare lexer.
New in Textadept 12.0 (Aug 7, 2023)
- BUG FIXES:
- Fixed potential crash when using legacy lexers.
- Fixed error switching to the only buffer that exists.
- Fixed case insensitive word completion from all buffers.
- Fixed syntax highlighting glitches on Windows.
- LSP: small fixes for language servers that do not play nicely.
- LSP: work around Scintilla repeatedly sending hover events on Windows and Qt.
- LSP: fixed active Lua parameter calculation if documented function uses ':'.
- LSP: fixed inaccurate recording of 'goto' position for history navigation.
- Export: use the correct dialog when prompting for a file to export to.
- CHANGES:
- Updated Python lexer to support soft keywords.
- Removed unnecessary Qt DLLs from Windows release.
- LSP: query for updated diagnostics if the buffer has since been modified.
- Scintilla: input method improvements on Qt.
- Updated to Lua 5.4.6.
- Updated to LPeg 1.1.0.
- Updated to Scintilla 5.3.6.
New in Textadept 12.0 Beta (Jul 4, 2023)
- Bugfixes:
- Fixed a new view resetting a buffer's indentation settings.
- Fixed Qt bug where unsplitting in a second-level split view changed view focus.
- Do not silently print internal Lua errors.
- Fixed compile error with Gtk 2.0.
- Fixed Gtk list dialog display.
- Fixed Qt bug that disallowed literal '*' in list dialog filters.
- Fixed display of bullets in "session files not found" dialog on Windows.
- Do not attempt to show a snippet list without snippets.
- LSP: fixed calculation of character columns when tabs are enabled.
- LSP: Lua language server highlights ':' method parameters starting at 2, not 1.
- Changes:
- Windows 10 and macOS 11 are the new minimum system requirements; Linux is unchanged.
- Moved "View Whitespace" and "Word Wrap" back into "View" menu and made them view-specific
- properties.
- Added alphanumeric macro registers.
- Autodetect dark mode and implement auto-switching between light and dark modes on Windows.
- Support Qt 6 and use it on Windows and macOS builds.
- Switch default indentation to size 8 tabs.
- Allow autocompleter functions to set separator character and sort order.
- Added lua-std-regex and its regex Lua module.
- Support TextMate- and LSP-style snippets, and deprecated old format.
- Alias Ctrl+Shift+U (upper-case selection) to Ctrl+Alt+Shift+U in case the former is
- consumed by Linux for Unicode input.
- LSP: added support for snippet completions.
- LSP: support per-project language servers.
New in Textadept 12.0 Alpha 3 (May 2, 2023)
- BUG FIXES:
- Fixed syntax highlighting lag regression.
- Fixed updating buffer tab's "dirty" status on save all.
- Fixed error when backspacing over an auto-paired character before a multi-byte character.
- Fixed events.AUTO_C_CANCELED not existing.
- Fixed _L not returning non-localized messages.
- Do not show an empty quick open list.
- Qt version: fixed button3 and return_button options for ui.dialogs.list().
- LSP: fixed issue sending file URIs to language servers on Windows.
- LSP: fixed startup issue with many language servers that do not support selection ranges.
- LSP: test that call tip triggers are present before trying to find one.
- LSP: Lua language server writes its log to _USERHOME.
- Scintilla: fixed GTK bug with too many or too few lines when wrapping.
- Scintilla: draw background color for EOL annotations with no decorations or outlined with a box.
- Scintilla: fixed buffer:lines_join() bug where 'r' were incorrectly retained.
- Scintilla: fixed indicator drawing over the left margin in the Qt version.
- Scintilla: fix clipping of line end wrap symbol for view.WRAPVISUALFLAGLOC_END_BY_TEXT.
- CHANGES:
- Autodetect dark mode and implement auto-switching between light and dark modes (macOS and
- Linux only for now).
- Revamped API documentation, mainly for buffer and view API to be more readable.
- Allow multiple selections in the recent file dialog.
- Added a dialog button to clear the recent files list.
- Hide the Windows popup console window when running Textadept as a Lua interpreter.
- ui.print_silent() and ui.output_silent() always print silently and return their print
- buffers.
- Restored ui.command_entry.height and textadept.snippets.paths.
- Increase io.quick_open_max.
- Allow short-hand access notation for menu items in textadept.menu.menubar.
- events.MOUSE emits a bit-mask of modifier keys instead of multiple booleans.
- Format: only ignore header lines that have no content.
- LSP: Lua language server supports local tables and functions.
- LSP: highlight the active call tip parameter when typing, if possible.
- Scintilla: draw lines more consistently by clipping drawing to just the line rectangle.
- Scintilla: draw view.MARK_BAR markers underneath other markers.
- Scintilla: enlarge view.INDIC_POINT* indicators and scale to be larger with text.
- Scintilla: make view:line_scroll() more accurate when the width of a space is not an integer.
- Scintilla: emit events.AUTO_C_COMPLETED when buffer.auto_c_choose_single is true.
- Scintilla: buffer:para_up*() go to the start position of the paragraph first.
- Scintilla: view.rectangular_selection_modifier works in the Qt version.
- Scintilla: support IME context in the GTK version.
- Scintilla: allow scrolling with mouse wheel when view.*_scroll_bar is false in the
- Qt version.
- Scintilla: added multi-threaded wrap to significantly improve performance of wrapping large
- files.
- Scintilla: allow individual bytes of multi-byte characters to be styled.
- Updated to Scintilla 5.3.4.
- Updated to Scinterm 5.0.
New in Textadept 12.0 Alpha 2 (Mar 2, 2023)
- BUG FIXES:
- Fixed auto-pair removal bug when backspacing over an auto-paired character.
- Fixed directory filters that contain directories to include.
- textadept.editing.autocomplete() should return false if no completions are displayed.
- Fixed clearing of a previous buffer's state when switching between buffers after closing one.
- Qt version: ensure the given directory is selected in Linux's directory selection dialog.
- Terminal version: fixed spawning processes on Linux and macOS.
- Terminal version: synchronize paragraph up/down extend selection key binding with GUI version.
- Scintilla: fixed scroll position update after view:vertical_center_caret().
- Scintilla: prevent autocompletion of lists created during events.CHAR_ADDED.
- LSP: fixed diagnostic display.
- LSP: silently print to LSP buffer when starting language servers.
- LSP: properly handle incoming server requests.
- LSP: fixed "Find References".
- LSP: gracefully shut down language servers on quit too, not just reset.
- LSP: improved startup and error notifications.
- LSP: synchronize unsaved document changes when switching away from a buffer or view.
- LSP: handle unexpected language server exit (i.e. crash).
- LSP: fixed display of signature help when more than one option is present.
- CHANGES:
- Language modules are no longer auto-loaded when their files are opened.
- All language autocompletion and documentation has been delegated to the external LSP module.
- Deprecated C, CSS, Go, HTML, Lua, Python, and Ruby language modules.
- Textadept no longer generates or uses Lua tags and api documentation files.
- Deprecated the ctags module.
- Removed "Tools > Complete Symbol" and "Tools > Show Documentation" menu items.
- Removed textadept.editing.api_files and textadept.editing.show_documentation().
- Hide the Find & Replace pane after an "In Files" search.
- Allow lexers to dictate what constitutes a word character.
- Added lexer.names().
- Removed textadept.editing.transpose_chars().
- Replaced textadept.editing.typeover_chars with typeover_auto_paired.
- Renamed textadept.snippets.cancel_current() to cancel().
- Removed textadept.snippets.path.
- Added buffer representation argment to events.BUFFER_DELETED.
- Switched documentation format to LDoc from LuaDoc.
- Added -L and --lua command line option for running Textadept as a standalone Lua interpreter.
- Scroll all views showing print/output buffers when printed to.
- Renamed _SCINTILLA.next_* to _SCINTILLA.new_*.
- textadept.run.run_in_background applies even if the output buffer is not open.
- Notify of compile/run/build/test/project command success or failure in statusbar.
- Autoscroll to the bottom of compile/run/build/test/project output buffer if possible.
- Removed ui.command_entry.append_history() and ui.command_entry.height.
- Use Scintillua as a Lua library instead of as a Scintilla lexer.
- Removed support for buffer.property_int (not lexer.property_int).
- LSP: updated to LSP 3.17.
- LSP: implemented selection range.
- LSP: support language-specific completion and signature help trigger characters.
- LSP: support highlighting active parameters in signature help.
- LSP: show relative paths in "Go To ..." dialogs if possible.
- LSP: send "textDocument/didClose" notifications.
- LSP: added simple Lua language server and enable it by default for Lua files.
- LSP: stop logging to a buffer and added "Show Log" menu option instead.
- LSP: allow for launching servers outside a project.
New in Textadept 12.0 Alpha (Jan 2, 2023)
- BUG FIXES:
- Fixed io.get_project_root() on Windows network shares.
- Fixed display of Shift+Tab key bindings in menus.
- Fixed toggling comments in multi-language lexers.
- Do not show duplicate lexer names in the selection list.
- Correctly recognize UTF-8 files with NUL bytes in them.
- GTK version: fixed invalid cast warning for split views.
- GTK version: handle movement keys from the list dialog entry when interactive search is not active.
- Terminal version: fixed crash cleaning up after a spawned process.
- Terminal version: improved spawn command parsing.
- Terminal version: fixed suspend/resume.
- Terminal version: fixed interpretation of backspace key in CDK entry boxes.
- CHANGES:
- Added Qt version and made it the default for all platforms.
- The Qt version of Textadept is not a single-instance application, only the GTK version is.
- The minimum required version of macOS is 10.13 (High Sierra).
- Switched to CMake-based build for building natively on Windows, macOS, and Linux.
- Redesigned key bindings to be more consistent and deterministic across OSes and platforms.
- Added 'Save' buttons to close and quit dialogs when there are unsaved buffers.
- Removed GTK support for Windows and macOS (Linux is still supported).
- Utilize "TEXTADEPT_HOME" environment variable, if it exists, in place of autodetected _HOME
- based on Textadept executable location.
- Added _G.QT.
- Include Go language module in separate set of modules.
- Quick open list shows relative paths if possible.
- Find in files result paths are relative to the searched directory.
- Buffer browser shows relative paths for files in the current project.
- More reasonable initial list dialog sizes.
- "Save As" dialog falls back onto the current directory if necessary.
- Deprecated reST and YAML modules.
- Added '-' command line option for reading from stdin into a new buffer.
- Removed 10-item find/replace history limit for the GUI version.
- Added ui.buffer_list_zorder option and removed zorder parameter from ui.switch_buffer().
- The buffer list order is most recently used first by default.
- Added ui.suspend() for the terminal version, allowing any key binding to suspend the editor.
- textadept.editing.auto_pairs and textadept.editing.typeover_chars auto-include ''
- characters for XML-like languages and removed textadept.editing.brace_matches.
- Added menu option and key binding to undo last selected word.
- ui.find.show_filenames_in_progressbar is false by default now.
- Filters for lfs.walk(), io.quick_open(), and ui.find_in_files() now use glob patterns
- instead of Lua patterns.
- Changed events.KEYPRESS to only emit string key representations.
- Changed events.TAB_CLICKED to use key modifier mask like other events.
- Changed textadept.editing.auto_pairs and textadept.editing.typeover_chars to use string
- character keys instead of bytes.
- Added textadept.run.INDIC_WARNING and textadept.run.INDIC_ERROR for underlining
- compile, run, build, and test warning and error messages.
New in Textadept 11.5 Alpha 2 (Dec 11, 2022)
- BUG FIXES:
- Fixed memory leak after running timeout function.
- Fixed buffer.eol_annotation_style* settings.
- Fixed bug showing the buffer browser from the first buffer if zorder is true.
- Fixed display of compile/run commands in output.
- Fixed inability to use single-quoted command line arguments to os.spawn() in the terminal
- version.
- Open file mode: Fixed bug loading module during Textadept initialization.
- CHANGES:
- Dropped BSD support.
- Separated GUI platform C code from non-GUI C code.
- Added _G.GTK.
- _G.OSX is now always true on macOS, not just in the GUI version.
- buffer.tab_label is now write-only.
- Replaced gtDialog with smaller set of built-in dialogs.
- Deprecated ui.dialogs.*msgbox() in favor of ui.dialogs.message(),
- ui.dialogs.*inputbox() in favor of ui.dialogs.input(), ui.dialogs.fileselect() in
- favor of ui.dialogs.open(), ui.dialogs.filesave() in favor of ui.dialogs.save(),
- ui.dialogs.progressbar() in favor of ui.dialogs.progress(), and
- ui.dialogs.filteredlist() in favor of ui.dialogs.list().
- Removed ui.dialogs.textbox(), ui.dialogs.*dropdown(), ui.dialogs.optionselect(),
- ui.dialogs.colorselect(), and ui.dialogs.fontselect().
- Input and list dialogs return text and selections first before button indices.
- Input dialogs no longer accept multiple text entries and labels.
- Removed string_output option from dialogs.
- Renamed the following dialog options: with_directory → dir, with_file → file,
- select_multiple → multiple, select_only_directories → only_dirs.
- Removed opts argument from io.quick_open().
- Find in Files' file scanning is shown with a progress dialog and can be stopped.
- Deprecated ui._print in favor of ui.print_to().
- _L no longer prefixes non-localized messages with "No Localization:".
- textadept.run.stop() presents a list dialog if there is more than one process running.
- Moved process spawning into platform C code.
New in Textadept 11.4 (Dec 11, 2022)
- BUG FIXES:
- Fixed line comment toggling for Batch.
- Fixed lack of HTML documentation in releases since 11.3.
- Ensure the statusbar is updated after buffer:set_lexer().
- Ensure events.LEXER_LOADED is emitted on buffer.new().
- LSP: Fixed off-by-one errors for goto definition et. al. and find references.
- LSP: Fixed bug attempting to start a language server manually.
- Lua REPL: Fixed key bindings.
- Ruby: Fixed bug when trying to toggle a block at the end of the buffer.
- Scintilla: Fixed hiding selection when view.selection_layer is view.LAYER_UNDER_TEXT.
- Scintilla: Fix potential issues with drawing non-UTF-8 text.
- CHANGES:
- Changed line duplication to line/selection duplication.
- Added ui.popup_menu() for displaying menus like the right-click context menu.
- The GUI version now recognizes the 'menu' key.
- Added support for Hare.
- Updated Spanish translation.
- Updated R, Fortran, and Go lexers.
- Updated to Scintilla 5.2.4.