1## Changelog 2 3[Atom Feed](https://github.com/orbitalquark/textadept/releases.atom) 4 5**Please [donate][] or purchase the [book][] to help fund continuous 6development.** 7 8[donate]: https://gum.co/textadept 9[book]: book.html 10 11### 11.1 (01 Feb 2021) 12 13Download: 14 15* [Textadept 11.1 -- Win32][] 16* [Textadept 11.1 -- Mac OSX 10.7+][] 17* [Textadept 11.1 -- Linux][] 18* [Textadept 11.1 -- Modules][] 19 20Bugfixes: 21 22* Do not prompt for file reload during `io.close_all_buffers()`. 23* Ensure a bare `ui.find.focus()` call resets incremental and in files options. 24* Fixed `buffer:reload()` only reloading up to a NUL byte, if present. 25* Fixed minor file extension issues. 26* Fixed bug restoring view state in an intermediate buffer after closing one. 27* Fixed navigating back through history from a print buffer. 28* Modules: Fixed incorrect LSP mouse hover query position. 29* Modules: Only notify LSP servers about opened files after startup in order to 30 avoid overwhelming the connection. 31 32Changes: 33 34* Save the current session prior to loading another one. 35* Do not show deleted files in recent file list. 36* Updated various lexers and fixed various small lexer issues. 37* Added support for Clojure, Elm, Fantom, fstab, Julia, Meson, Pony, Reason, 38 RouterOS, Spin, systemd, systemd-networkd, Xs, and Zig. 39* Compile, run, and build command functions can also return environment tables. 40* Added [`textadept.run.test()`][] and [`textadept.run.test_commands`][]. 41* `io.get_project_root()` accepts an optional flag for returning a submodule 42 root. 43 44[Textadept 11.1 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.1/textadept_11.1.win32.zip 45[Textadept 11.1 -- Mac OSX 10.7+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.1/textadept_11.1.macOS.zip 46[Textadept 11.1 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.1/textadept_11.1.linux.tgz 47[Textadept 11.1 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.1/textadept_11.1.modules.zip 48[`textadept.run.test()`]: api.html#textadept.run.test 49[`textadept.run.test_commands`]: api.html#textadept.run.test_commands 50 51### 11.0 (01 Dec 2020) 52 53Please see the [10 to 11 migration guide][] for upgrading from Textadept 10 to 54Textadept 11. 55 56Download: 57 58* [Textadept 11.0 -- Win32][] 59* [Textadept 11.0 -- Mac OSX 10.7+][] 60* [Textadept 11.0 -- Linux][] 61* [Textadept 11.0 -- Modules][] 62 63Bugfixes: 64 65* Fixed find & replace entry unfocus when window is refocused. 66* Modules: Fixed bug initializing spellcheck module in some instances. 67 68Changes: 69 70* Added optional mode parameter to `ui.command_entry.append_history()`. 71* `keys[`*`lexer`*`]` and `snippets[`*`lexer`*`]` tables are present on init. 72* Added [`events.FIND_RESULT_FOUND`][]. 73* Added [`events.UNFOCUS`][]. 74 75[10 to 11 migration guide]: manual.html#migrating-from-textadept-10-to-11 76[Textadept 11.0 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0/textadept_11.0.win32.zip 77[Textadept 11.0 -- Mac OSX 10.7+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0/textadept_11.0.macOS.zip 78[Textadept 11.0 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0/textadept_11.0.linux.tgz 79[Textadept 11.0 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0/textadept_11.0.modules.zip 80[`events.FIND_RESULT_FOUND`]: api.html#events.FIND_RESULT_FOUND 81[`events.UNFOCUS`]: api.html#events.UNFOCUS 82 83### 11.0 beta 2 (01 Nov 2020) 84 85Download: 86 87* [Textadept 11.0 beta 2 -- Win32][] 88* [Textadept 11.0 beta 2 -- Mac OSX 10.7+][] 89* [Textadept 11.0 beta 2 -- Linux][] 90* [Textadept 11.0 beta 2 -- Modules][] 91 92Bugfixes: 93 94* Fixed the listing of bookmarks for all open buffers. 95* Fixed "Enclose as XML Tags" with multiple selections. 96* Fixed clearing of "Replace" entry in Find & Replace pane on reset in the GUI. 97* Fixed lack of statusbar updating when setting options like buffer EOL mode, 98 indentation, and encoding from the menu. 99* Do not clear highlighting when searching inside the "Find in Files" buffer. 100* `textadept.editing.strip_trailing_spaces` should not apply to binary files. 101* Handle recursive symlinks in `lfs.walk()`. 102* Modules: Fixed Lua debugger crash when inspecting variables with very large 103 string representations. 104* Modules: Support non-UTF-8 spelling dictionaries. 105* Modules: Fixed YAML syntax checking notification. 106* Modules: Fixed various small issues with the C debugger. 107 108Changes: 109 110* New [`textadept.history`][] module. 111* Updated German and Russian translations. 112* Added [`ui.command_entry.append_history()`][] for special command entry modes 113 that need to manually append history. 114* Implement `\U`, `\L`, `\u`, and `\l` case transformations in regex 115 replacements. 116* Added [`textadept.run.set_arguments()`][]. 117* Modules: Each module in the separate modules download has its own repository 118 now, but all are still bundled into a single archive for release. 119* Modules: Greatly improved the speed of file comparison. 120* Modules: Added ability to switch spelling dictionaries on the fly. 121* Updated to [CDK][] 5.0-20200923. 122* Updated to [LuaFileSystem][] 1.8.0. 123 124[Textadept 11.0 beta 2 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta_2/textadept_11.0_beta_2.win32.zip 125[Textadept 11.0 beta 2 -- Mac OSX 10.7+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta_2/textadept_11.0_beta_2.macOS.zip 126[Textadept 11.0 beta 2 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta_2/textadept_11.0_beta_2.linux.tgz 127[Textadept 11.0 beta 2 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta_2/textadept_11.0_beta_2.modules.zip 128[`textadept.history`]: api.html#textadept.history 129[`textadept.run.set_arguments()`]: api.html#textadept.run.set_arguments 130[`ui.command_entry.append_history()`]: api.html#ui.command_entry.append_history 131[CDK]: https://invisible-island.net/cdk/ 132[LuaFileSystem]: https://github.com/keplerproject/luafilesystem 133 134### 11.0 beta (01 Oct 2020) 135 136Download: 137 138* [Textadept 11.0 beta -- Win32][] 139* [Textadept 11.0 beta -- Mac OSX 10.7+][] 140* [Textadept 11.0 beta -- Linux][] 141* [Textadept 11.0 beta -- Modules][] 142 143Bugfixes: 144 145* Fixed word left/right key bindings on macOS. 146* Fixed regression with showing "No results found" in searches. 147* Fixed regression in showing images in Lua command entry completions. 148* Fixed restoration of Replace entry text in various instances, such as after 149 "Find in Files" and "Replace All". 150* Prevent infinite loops when highlighting found text. 151* Fixed bugs in `events.KEYPRESS` handlers when command entry is active. 152* Fixed bug in "Find in Files" results highlighting when jumping to a result of 153 length 1. 154* Fixed emission of `events.UPDATE_UI` when resuming from terminal suspend. 155* Fixed initial query of `ui.find.find_text` and `ui.find.repl_text` in the 156 terminal version. 157* Fixed incorrect CSS key prefix incompatibility notice. 158* Fixed error reporting the number of zero-length find results. 159* Fixed call tip display in the terminal version. 160* Always refresh during incremental find in the terminal version. 161* Fixed `io.quick_open()` doing nothing when file limit was exceeded. 162* gtDialog: Fixed potential crash when canceling a running progressbar dialog. 163* Scintilla: Fixed position of marker symbols for `view.MARGIN_RTEXT` which were 164 being moved based on width of text. 165* Scintilla: Fixed hover indicator appearance when moving out of view. 166* Scintilla: Fixed display of `buffer.INDIC_TEXTFORE` and gradient indicators on 167 hover. 168 169Changes: 170 171* Rewrote manual and updated lots of other documentation and the documentation 172 generation pipeline. 173* Prefer passing an environment table to `os.spawn()`. 174* Updated find & replace key bindings. 175* Use comma-separated patterns in find & replace pane's "Filter" field. 176* Removed "View EOL" menu item, key binding, and buffer setting. 177* Accept a directory as a command line argument. 178* Save the current working directory to session files. 179* "View > Toggle Fold" toggles folding for the current block, regardless of 180 line. 181* Recognize Fossil projects. 182* Added [`textadept.editing.auto_enclose()`][] for auto-enclosing selected text. 183* Show "Match X/Y" in statusbar when searching for text. 184* Added [`ui.command_entry.active`][]. 185* Improved handling of print buffers and splits. 186* Added "Edit > Preferences" menu item and key binding for opening 187 *~/.textadept/init.lua*. 188* Disable `ui.find.highlight_all_matches` by default. 189* GCC 7.1+ is now required for building, added support for 190 [building with Docker][], and dropped automated Linux i386 builds. 191* Added [`events.FIND_RESULT_FOUND`][]. 192* Added [`ui.find.active`][] and prevent word highlighting when searching. 193* Added support for jq language. 194* Record directory in "Find in Files" searches. 195* Added `ui.update()`, mainly for unit tests. 196* Added [`events.FILE_BEFORE_RELOAD`][] and [`events.FILE_AFTER_RELOAD`][] 197 events, and save/restore bookmarks. 198* Added [`events.COMMAND_TEXT_CHANGED`][] for when command entry text changes. 199* Added `_NOCOMPAT` option to disable temporary key shortcut compatibility 200 checking. 201* Updated Spanish translation. 202* gtDialog: Improved responsiveness for huge lists (greater than 10,000 items). 203* Scintilla: Added [`view.multi_edge_column`][]. 204* Updated to [Scintilla][] 4.4.5. 205* Switched back to utilizing [Scintillua][] and [Scinterm][]. 206 207[Textadept 11.0 beta -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta/textadept_11.0_beta.win32.zip 208[Textadept 11.0 beta -- Mac OSX 10.7+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta/textadept_11.0_beta.macOS.zip 209[Textadept 11.0 beta -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta/textadept_11.0_beta.linux.tgz 210[Textadept 11.0 beta -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_beta/textadept_11.0_beta.modules.zip 211[`textadept.editing.auto_enclose()`]: api.html#textadept.editing.auto_enclose 212[`ui.command_entry.active`]: api.html#ui.command_entry.active 213[building with Docker]: manual.html#compiling-using-docker 214[`events.FIND_RESULT_FOUND`]: api.html#events.FIND_RESULT_FOUND 215[`ui.find.active`]: api.html#ui.find.active 216[`events.FILE_BEFORE_RELOAD`]: api.html#events.FILE_BEFORE_RELOAD 217[`events.FILE_AFTER_RELOAD`]: api.html#events.FILE_AFTER_RELOAD 218[`events.COMMAND_TEXT_CHANGED`]: api.html#events.COMMAND_TEXT_CHANGED 219[`view.multi_edge_column`]: api.html#view.multi_edge_column 220[Scintilla]: https://scintilla.org 221[Scintillua]: https://orbitalquark.github.io/scintillua 222[Scinterm]: https://orbitalquark.github.io/scinterm 223 224### 11.0 alpha 3 (01 Aug 2020) 225 226Download: 227 228* [Textadept 11.0 alpha 3 -- Win32][] 229* [Textadept 11.0 alpha 3 -- Mac OSX 10.6+][] 230* [Textadept 11.0 alpha 3 -- Linux][] 231* [Textadept 11.0 alpha 3 -- Linux x86_64][] 232* [Textadept 11.0 alpha 3 -- Modules][] 233 234Bugfixes: 235 236* Fixed toggling of Find & Replace Pane visibility with `ui.find.focus()`. 237* Fixed potential hangs with `os.spawn()` in the terminal version. 238* Fixed `--line` command line option. 239* Fixed `ui.dialogs.optionselect()`'s `text` option. 240* Call `os.spawn()` exit callback after `proc:wait()`. 241* Fixed an instance of buffer selection data not being saved to a session. 242* Fixed initial setting of `ui.find.replace_entry_text` in the GUI. 243* Fixed `keys.keychain[i]` access if its length ever exceeded 1. 244* Modules: Fixed custom Lua regex for generating Ctags. 245* Modules: Fixed file comparison colors in the terminal version. 246* Modules: Fixed many bugs in file comparison and merging. 247* Modules: Fixed export of styles defined only in lexers. 248* Scintilla: Fixed crash when *lexer.lua* cannot be found. 249* Scintilla: Fixed crash when setting a style with no token. 250 251Changes: 252 253* Renamed `buffer:set_theme()` to [`view:set_theme()`][]. 254* Replaced `lfs.dir_foreach()` with [`lfs.walk()`][] generator. 255* Renamed some buffer/view fields to use American English instead of Australian 256 English (e.g. "colour" to "color"). 257* Changed key binding modifier keys from `c` (Ctrl), `m` (Meta/Command), `a` 258 (Alt), and `s` (Shift) to `ctrl`, `meta`/`cmd`, `alt`, and `shift`, 259 respectively. 260* Renamed `ui.bufstatusbar_text` to `ui.buffer_statusbar_text`. 261* Only save before compile/run if the buffer has been modified. 262* Added support for Fennel. 263* Added [`buffer:style_of_name()`][] as an analogue to `buffer:name_of_style()`. 264* When requiring modules, read from `LUA_PATH` and `LUA_CPATH` environment 265 variables instead of `TA_LUA_PATH` and `TA_LUA_CPATH`. 266* `ui.goto_file_found()` and `textadept.run.goto_error()` arguments are now 267 optional. 268* Moved Find Incremental into the Find & Replace pane (via 269 [`ui.find.incremental`][]), eliminated `ui.find.find_incremental()` and 270 `ui.find.find_incremental_keys`, and added [`events.FIND_TEXT_CHANGED`][]. 271* Replaced `textadept.editing.highlight_word()` with 272 [`textadept.editing.highlight_words`][] auto-highlighting option. 273* Find & Replace Pane now allows file filters to be specified for Find in Files. 274* Use monospaced font in Find & Replace Pane text entries. 275* Removed legacy "refresh syntax highlighting" feature. 276* Modules: Added documentation for generating ctags and API files. 277* Modules: Improved in-place editing of files during comparison. 278* Scintilla: added [`lexer.colors`][] and [`lexer.styles`][] tables for use in 279 themes. Also added new way to [define and reference styles][]. 280* Scintilla: Added [`lexer.fold*`][] options instead of setting view properties. 281* Scintilla: Optimized performance when opening huge files. 282* Scintilla: Added [`buffer.eol_annotation_text`][] analogue to 283 `buffer.annotation_text`, but for EOL annotations. 284* Scintilla: Display DEL control characters like other control characters. 285* Scintilla: Allow caret width to be up to 20 pixel. 286* Scintilla: Updated markdown and C lexers. 287* Scintilla: Fixed bug with GTK on recent Linux distributions where underscores 288 were invisible. 289* Scintilla: Fixed GTK on Linux bug when pasting from closed application. 290* Updated to [Scintilla][] 3.21.0. 291 292[Textadept 11.0 alpha 3 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_3/textadept_11.0_alpha_3.win32.zip 293[Textadept 11.0 alpha 3 -- Mac OSX 10.6+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_3/textadept_11.0_alpha_3.osx.zip 294[Textadept 11.0 alpha 3 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_3/textadept_11.0_alpha_3.i386.tgz 295[Textadept 11.0 alpha 3 -- Linux x86_64]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_3/textadept_11.0_alpha_3.x86_64.tgz 296[Textadept 11.0 alpha 3 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_3/textadept_11.0_alpha_3.modules.zip 297[`view:set_theme()`]: api.html#view.set_theme 298[`lfs.walk()`]: api.html#lfs.walk 299[`buffer:style_of_name()`]: api.html#buffer.style_of_name 300[`ui.find.incremental`]: api.html#ui.find.incremental 301[`events.FIND_TEXT_CHANGED`]: api.html#events.FIND_TEXT_CHANGED 302[`textadept.editing.highlight_words`]: api.html#textadept.editing.highlight_words 303[`lexer.colors`]: api.html#lexer.colors 304[`lexer.styles`]: api.html#lexer.styles 305[define and reference styles]: api.html#styles-and-styling 306[`lexer.fold*`]: api.html#lexer.fold_by_indentation 307[`buffer.eol_annotation_text`]: api.html#buffer.eol_annotation_text 308[Scintilla]: https://scintilla.org 309 310### 11.0 alpha 2 (01 Jun 2020) 311 312Download: 313 314* [Textadept 11.0 alpha 2 -- Win32][] 315* [Textadept 11.0 alpha 2 -- Mac OSX 10.6+][] 316* [Textadept 11.0 alpha 2 -- Linux][] 317* [Textadept 11.0 alpha 2 -- Linux x86_64][] 318* [Textadept 11.0 alpha 2 -- Modules][] 319 320Bugfixes: 321 322* Fixed some drive letter case issues on Windows resulting in duplicate open 323 files. 324* Fixed `os.spawn` exit callback and `spawn_proc:wait()` inconsistencies. 325* Restore prior key mode after running the command entry. 326* Fixed regression with word completion not respecting 327 `buffer.auto_c_ignore_case`. 328* Scintilla: Fixed display of windowed IME on Wayland. 329 330Changes: 331 332* Views can be used as buffers in most places, resulting in new 333 [API suggestions][] for `buffer` and `view`. 334* Scintilla: Added [`buffer:marker_handle_from_line()`][] and 335 [`buffer:marker_number_from_line()`][] for iterating through the marker 336 handles and marker numbers on a line. 337* Scintilla: Deprecated `lexer.delimited_range()` and `lexer.nested_pair()` in 338 favor of [`lexer.range()`][], and added [`lexer.to_eol()`][] and 339 [`lexer.number`][]. 340* Scintilla: Automatically scroll text while dragging. 341* Scintilla: Improved behavior of IME. 342* Updated to [Scintilla][] 3.20.0. 343 344[Textadept 11.0 alpha 2 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_2/textadept_11.0_alpha_2.win32.zip 345[Textadept 11.0 alpha 2 -- Mac OSX 10.6+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_2/textadept_11.0_alpha_2.osx.zip 346[Textadept 11.0 alpha 2 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_2/textadept_11.0_alpha_2.i386.tgz 347[Textadept 11.0 alpha 2 -- Linux x86_64]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_2/textadept_11.0_alpha_2.x86_64.tgz 348[Textadept 11.0 alpha 2 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha_2/textadept_11.0_alpha_2.modules.zip 349[API suggestions]: manual.html#view-api-additions-and-buffer-api-changes 350[`buffer:marker_handle_from_line()`]: api.html#buffer.marker_handle_from_line 351[`buffer:marker_number_from_line()`]: api.html#buffer.marker_number_from_line 352[`lexer.range()`]: api.html#lexer.range 353[`lexer.to_eol()`]: api.html#lexer.to_eol 354[`lexer.number`]: api.html#lexer.number 355[Scintilla]: https://scintilla.org 356 357### 11.0 alpha (31 Mar 2020) 358 359Download: 360 361* [Textadept 11.0 alpha -- Win32][] 362* [Textadept 11.0 alpha -- Mac OSX 10.6+][] 363* [Textadept 11.0 alpha -- Linux][] 364* [Textadept 11.0 alpha -- Linux x86_64][] 365* [Textadept 11.0 alpha -- Modules][] 366 367Bugfixes: 368 369* Fixed `--help` command line option. 370* Fixed Textadept API autocompletion and documentation on Windows. 371* Fixed bug that regards lexer-specific snippet files as global. 372* Fixed hangs on Win32 terminal version with 373 `textadept.editing.filter_through()`. 374* Fixed issues with buffer z-order when switching between views. 375* Fixed accidental clipping of first character in a snippet under certain 376 circumstances. 377* Fixed C autocompletion error with typerefs. 378* Fixed skipping of event handlers that come directly after one that was just 379 run, but disconnected. 380* Fixed bugs in the return values of `ui.dialogs.standard_dropdown` and `msgbox` 381 dialogs. 382* Fixed `events.FILE_CHANGED` not emitting a filename. 383* Fixed bug with pipes in `textadept.editing.filter_through()`. 384* Fixed tab label display on Windows. 385* Fixed bug in syntax highlighting with PHP, Django, and other lexers that embed 386 themselves. 387 388Changes: 389 390* All buffer positions, lines, and countable entities start from 1 instead of 0. 391* Support more Alt and Shift+Alt keys in the Win32 terminal version. 392* `textadept.editing.api_files` acts as if it already has lexer tables defined. 393* `textadept.run.goto_error()` wraps searches now. 394* Added snippet trigger autocompletion via 395 `textadept.editing.autocomplete('snippet')`. 396* Improved Lua API documentation generator. 397* Localization keys in `_L` no longer contain GUI mnemonics ('\_'). 398* `textadept.snippets` functions no longer have a '\_' prefix. 399* `--help` command line options are alphabetized. 400* The Lua command entry can now run any `view` functions by name (e.g. split). 401* Auto-pair, type-over, and auto-deletion of matching braces now works with 402 multiple selections. 403* Removed `textadept.file_types.lexers` table in favor of asking the LPeg lexer 404 for known lexer names. 405* Updated German translation. 406* Changed `textadept.bookmarks.toggle()` to only toggle bookmarks on the current 407 line. 408* Removed '=' prefix in command entry that would print results; printing results 409 has been the default behavior for quite some time. 410* Replaced `buffer.style_name[]` with [`buffer:name_of_style()`][]. 411* Session files are now Lua data files; old formats will no longer work. 412* Added [`events.SESSION_SAVE`][] and [`events.SESSION_LOAD`][] events for 413 saving and loading custom user data to sessions. 414* Removed *~/.textadept/?.lua* and *~/.textadept/?.{so,dll}* from `package.path` 415 and `package.cpath`, respectively. 416* Lua errors in Textadept can now be jumped to via double-click or Enter. 417* `ui.dialogs.filteredlist()` dialogs have a reasonable default width. 418* Renamed `keys.MODE` to [`keys.mode`][]. 419* Moved individual buffer functions in `io` into `buffer`. 420* Event handlers can now return any non-`nil` value instead of a boolean value 421 and have that value passed back to `events.emit()`. 422* Lua command entry completions show images just like in Lua autocompletion. 423* Align block comments by column if possible, not indent. 424* Added per-mode command entry history which can be cycled through using the 425 `Up` and `Down` keys. 426* Added [`ui.dialogs.progressbar()`][], utilize it with Find in Files, and 427 removed `ui.find.find_in_files_timeout`. 428* GUI find/replace history Up/Down history key bindings swapped, mimicking 429 traditional command line history navigation. 430* The statusbar now indicates an active snippet. 431* Updated to [PDCurses][] 3.9. 432* Experimental set of "standard" modules is provided in the modules archive 433 instead of just language modules. 434 435[Textadept 11.0 alpha -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha/textadept_11.0_alpha.win32.zip 436[Textadept 11.0 alpha -- Mac OSX 10.6+]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha/textadept_11.0_alpha.osx.zip 437[Textadept 11.0 alpha -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha/textadept_11.0_alpha.i386.tgz 438[Textadept 11.0 alpha -- Linux x86_64]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha/textadept_11.0_alpha.x86_64.tgz 439[Textadept 11.0 alpha -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_11.0_alpha/textadept_11.0_alpha.modules.zip 440[`buffer:name_of_style()`]: api.html#buffer.name_of_style 441[`events.SESSION_SAVE`]: api.html#events.SESSION_SAVE 442[`events.SESSION_LOAD`]: api.html#events.SESSION_LOAD 443[`keys.mode`]: api.html#keys.mode 444[`ui.dialogs.progressbar()`]: api.html#ui.dialogs.progressbar 445[PDCurses]: https://pdcurses.sourceforge.io/ 446 447### 10.8 (01 Jan 2020) 448 449Download: 450 451* [Textadept 10.8 -- Win32][] 452* [Textadept 10.8 -- Mac OSX 10.6+][] 453* [Textadept 10.8 -- Linux][] 454* [Textadept 10.8 -- Modules][] 455 456Bugfixes: 457 458* Fixed incorrect event arguments for `events.AUTO_C_SELECTION_CHANGE`. 459* Fixed bug in "Replace All in selection" with match at the end of a selection. 460* Fixed long line output for run, compile, and build commands. 461 462Changes: 463 464* Changed [`events.TAB_CLICKED`][] to emit button clicked as well as modifier 465 keys. 466* Autocompletion and documentation for Textadept's Lua API only happens in 467 Textadept files now (i.e. files in `_HOME` and `_USERHOME`). 468* `textadept.editing.api_files` and `_M.lua.tags` can contain functions that 469 return file paths. 470* Added support for txt2tags. 471* Scintilla: Added access to virtual space at the start and end of multiple 472 selections. 473* Scintilla: The target can have virtual space. 474* Updated to [Scintilla][] 3.11.2. 475 476[Textadept 10.8 -- Win32]: https://github.com/orbitalquark/textadept/releases/download/textadept_10.8/textadept_10.8.win32.zip 477[Textadept 10.8 -- Mac OSX 10.6+]: https://github.com/orbitalquark/textadept/releases/download/textadept_10.8/textadept_10.8.macOS.zip 478[Textadept 10.8 -- Linux]: https://github.com/orbitalquark/textadept/releases/download/textadept_10.8/textadept_10.8.linux.tgz 479[Textadept 10.8 -- Modules]: https://github.com/orbitalquark/textadept/releases/download/textadept_10.8/textadept_10.8.modules.zip 480[`events.TAB_CLICKED`]: api.html#events.TAB_CLICKED 481[Scintilla]: https://scintilla.org 482 483### 10.7 (01 Nov 2019) 484 485Bugfixes: 486 487* Fixed scroll issues when toggling line wrap. 488* Properly handle absolute paths in run/compile/build output and also 489 case-insensitivity on Windows. 490* Restore virtual space state when switching between buffers. 491* Restore rectangular selection state when switching between buffers. 492* Fixed opening of non-UTF-8-encoded filenames dropped into a view. 493* Fixed macro toggling with some key combinations. 494* Ensure `events.BUFFER_AFTER_SWITCH` is emitted properly during `buffer.new()`. 495* Prevent double-counting fold points on a single line. 496 497Changes: 498 499* Refactored "Replace All" to be more performant. 500* Added back [`textadept.editing.paste_reindent()`][] as a separate 501 menu/key/command from `buffer.paste()`. 502* Enabled all theme colors by default, and changed line number color in the 503 terminal version. 504* Replaced `ui.command_entry.enter_mode()` and `ui.command_entry.finish_mode()` 505 with simplified [`ui.command_entry.run()`][]. 506* Added `ui.find.find_incremental_keys` table of key bindings during "Find 507 Incremental" searches. 508* Replaced `textadept.macros.start_recording()` and 509 `textadept.macros.stop_recording()` with [`textadept.macros.record()`][]. 510* Updated C, Rust, Prolog, and Logtalk lexers. 511* Added MediaWiki lexer. 512* Scintilla: Updated case conversion and character categories to Unicode 12.1. 513* Updated to [Scintilla][] 3.11.1. 514 515[Scintilla]: https://scintilla.org 516[`textadept.editing.paste_reindent()`]: api.html#textadept.editing.paste_reindent 517[`ui.command_entry.run()`]: api.html#ui.command_entry.run 518[`textadept.macros.record()`]: api.html#textadept.macros.record 519 520### 10.6 (01 Sep 2019) 521 522Bugfixes: 523 524* Fail more gracefully when users attempt to create buffers on init. 525* Improve caret sticky behavior when switching between buffers. 526* Do not auto-indent when pressing enter at the start of a non-empty line. 527* Scintilla: Fix deletion of isolated invalid bytes. 528* Scintilla: Fix position of line caret when overstrike caret is set to block. 529 530Changes: 531 532* Use CP1252 encoding instead of ISO-8859-1. 533* Added support for ksh and mksh. 534* Updated to [Scintilla][] 3.11.0. 535 536[Scintilla]: https://scintilla.org 537 538### 10.5 (01 Jul 2019) 539 540Bugfixes: 541 542* Do not advance the caret on failed incremental find. 543* Fixed bug with filters that have extension includes and pattern excludes. 544 545Changes: 546 547* Added case-insensitive option to [`textadept.editing.show_documentation()`][]. 548* Updated the default window size and some default dialog sizes. 549* Updated Markdown lexer. 550* Improved C++ lexer to support single quotes in C++14 integer literals. 551* Scintilla: Improved performance opening and closing large files with fold 552 points. 553* Scintilla: Tweaked behavior of `buffer.style_case`'s `buffer.CASE_CAMEL` 554 option to treat only letters as word characters. 555* Updated to [Scintilla][] 3.10.6. 556 557[`textadept.editing.show_documentation()`]: api.html#textadept.editing.show_documentation 558[Scintilla]: https://scintilla.org 559 560### 10.4 (01 May 2019) 561 562Bugfixes: 563 564* Fixed scrolling found text into view on long lines. 565* Fixed crash on Mac with malformed regex patterns. 566 567Changes: 568 569* Recognize `.vue` and `.yml` file extensions. 570* Line number margin grows for large files as needed. 571* Do not emit `events.SAVE_POINT_LEFT` event for unfocused views. 572* Updated CSS lexer to support CSS3. 573* Updated YAML lexer. 574* Updated to [Scintilla][] 3.10.4. 575* Updated to [LuaFileSystem][] 1.7.0 and [LPeg][] 1.0.2. 576 577[Scintilla]: https://scintilla.org 578[LuaFileSystem]: https://keplerproject.github.io/luafilesystem/ 579[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/ 580 581### 10.3 (01 Mar 2019) 582 583Bugfixes: 584 585* Fixed block comment support for Nim. 586* Fixed escaping of newlines (`\n`) in Lua and C API documentation. 587 588Changes: 589 590* Version control markers like `.git` are not limited to directories. 591* Allow redefinition of `WGET` in Makefile for 592* Updated to [Scintilla][] 3.10.2. 593 594[Scintilla]: https://scintilla.org 595 596### 10.3 beta (01 Jan 2019) 597 598Bugfixes: 599 600* Ensure `Esc` clears highlighted words. 601* Fixed behavior of `Home` and `Shift+Home` keys on non-OSX platforms. 602* Fixed some instances of snippet next/prev not working correctly. 603* Fixed Alt+Gr key handling in the Windows terminal version. 604* Only pass command entry text to function passed to 605 `ui.command_entry.finish_mode()`. 606* Fixed handling of escaped double-quotes in `os.spawn()` in the terminal 607 version. 608* Ensure long filenames are visible in the reload dialog prompt in the terminal 609 version. 610 611Changes: 612 613* Added optional position argument to 614 [`textadept.editing.show_documentation()`][]. 615* `textadept.editing.highlight_word()` does not select the word by default 616 anymore. 617* Changed [file filter][] format to be more flat and intuitive. 618* Added `-l` and `--line` command line options to jump to a buffer line. 619* Updated to [PDCurses][] 3.6 for the Windows terminal version. 620 621[`textadept.editing.show_documentation()`]: api.html#textadept.editing.show_documentation 622[file filter]: api.html#io.quick_open 623[PDCurses]: https://pdcurses.sourceforge.io/ 624 625### 10.2 (01 Nov 2018) 626 627Bugfixes: 628 629* Fixed error when performing "select enclosed" on a non-ASCII character. 630* Fixed regression of Retina display support of Mac OSX. 631* Fixed key handling on some international keyboards. 632* Fixed tab labels not updating when loading message buffers from a session. 633* Fixed potential crashes in `string.iconv()` with tiny strings. 634* Fixed inability to resize one split view configuration with the mouse in the 635 terminal version. 636 637Changes: 638 639* Renamed `spawn()` to [`os.spawn()`][]. 640* `os.spawn()` now allows omission of `cwd` and `env` parameters. 641* `spawn_proc:wait()` returns the process' exit code. 642* `textadept.editing.filter_through()` halts on non-zero status instead of 643 clobbering the buffer or selected text. 644* Removed `textadept.editing.paste()` and `textadept.editing.paste_reindents` 645 option; Textadept no longer reindents pasted text by default. 646* Experimentally added [`textadept.macros`][] module for recording, playing, 647 saving, and loading keyboard macros. 648* Scintilla: Improve efficiency of idle wrapping. 649* Scintilla: Updated case conversion and character categories to Unicode 11. 650* Scintilla: Updated ConTeXt, HTML, and Markdown lexers. 651* Updated to [Scintilla][] 3.10.1. 652 653[`os.spawn()`]: api.html#os.spawn 654[`textadept.macros`]: api.html#textadept.macros 655[Scintilla]: https://scintilla.org 656 657### 10.1 (01 Oct 2018) 658 659Bugfixes: 660 661* Fixed view focus synchronization issues when dropping files into split views. 662* Fixed potential crash with non-UTF-8 bytes copy-pasted into non-UTF-8 buffer. 663* `spawn_proc:read()` correctly handles `\r\n` sequences. 664 665Changes: 666 667* Added ability to save/restore persistent data during a reset event via 668 [`events.RESET_BEFORE`][] and [`events.RESET_AFTER`][]. 669* Replaced `ui.find.find_in_files_filter` with 670 [`ui.find.find_in_files_filters`][] table for project-specific filters. 671* Added Chinese localization. 672* Updated to GTK 2.24.32 on Windows, which fixes a number of various GTK-related 673 issues. 674 675[`events.RESET_BEFORE`]: api.html#events.RESET_BEFORE 676[`events.RESET_AFTER`]: api.html#events.RESET_AFTER 677[`ui.find.find_in_files_filters`]: api.html#ui.find.find_in_files_filters 678 679### 10.0 (01 Aug 2018) 680 681Please see the [9 to 10 migration guide][] for upgrading from Textadept 9 to 682Textadept 10. 683 684Bugfixes: 685 686* Fixed markdown lexer lists and C# lexer keywords. 687* Fixed child lexers that embed themselves into parents and fixed proxy lexers. 688* Fixed handling of custom fold functions in legacy lexers. 689* Fixed `buffer:set_theme()` for lexers that have their own styles. 690* Scintilla: Fixed potential crash with newer versions of ncurses. 691* Scintilla: Fixed some regex searching corner-cases. 692 693Changes: 694 695* Updated German localization. 696* Scintilla: Added new `buffer.INDIC_GRADIENT` and `buffer.INDIC_GRADIENTCENTRE` 697 indicators. 698* Scintilla: Added `buffer.WRAPINDENT_DEEPINDENT` line wrapping option. 699* Updated to [Scintilla][] 3.10.0. 700* Updated to [Lua][] 5.3.5. 701 702[9 to 10 migration guide]: manual.html#textadept-9-to-10 703[Scintilla]: https://scintilla.org 704[Lua]: https://lua.org 705 706### 10.0 beta 2 (01 Jun 2018) 707 708Bugfixes: 709 710* Fixed unset lexer bug upon splitting a newly created buffer. 711* Fixed a potential infinite loop with "replace in selection". 712* Fixed crash on Mac OSX with regex searches. 713* Fixed selection of "find in files" result if it's at the start of the line. 714* Properly handle abbreviated setting of write-only buffer properties via 715 command entry. 716 717Changes: 718 719* Removed `bit32` module in favor of Lua's bitwise operators. 720* Makefile can be used to build on case-insensitive filesystems. 721* Interpret `\uXXXX` sequences in regex replacement text. 722 723### 10.0 beta (01 May 2018) 724 725Bugfixes: 726 727* Fixed incorrect style settings when splitting views. 728* Fixed restoration of vertical scroll for buffers with different line heights. 729* Fixed potential crash in terminal version with newer versions of ncurses. 730 731Changes: 732 733* Change SQL comments to use `--` instead of `#`. 734* Updated Textadept icon. 735* Minimum required Mac OSX version is now 10.6 (Snow Leopard) or higher. 736* Removed LuaJIT version of Textadept. 737 738### 10.0 alpha 3 (01 Apr 2018) 739 740Bugfixes: 741 742* Fixed hang in the terminal version on Windows. 743* Fixed accidental stripping of leading newlines in pasted text. 744* Fixed initialization errors not showing in the terminal version. 745 746Changes: 747 748* Textadept requires GCC 4.9 (circa early-2014) or later to _compile_ (not run). 749* C++11 regex replaces old TRE library. 750* Scintillua and Scinterm were merged into Scintilla and are no longer 751 dependencies. 752* Emacs-style `^K` for OSX and the terminal version joins lines at EOL. 753* Pasted text reindents an extra level after a fold header. 754* `buffer.set_theme()` now takes an initial buffer argument like all other 755 buffer functions and does not have any call restrictions. 756* Scintilla: Added [`events.AUTO_C_SELECTION_CHANGE`][] event. 757* Updated to [Scintilla][] 3.8.0. 758 759[`events.AUTO_C_SELECTION_CHANGE`]: api.html#events.AUTO_C_SELECTION_CHANGE 760[Scintilla]: https://scintilla.org 761 762### 10.0 alpha 2 (01 Mar 2018) 763 764Bugfixes: 765 766* Fixed clang build warnings/errors regarding LuaJIT. 767* Fixed busy wait in second instance of Textadept on Windows. 768* Fixed bug in remote-controlled Textadept when no arguments were initially 769 given. 770* Fixed session loading when only it is provided as a command line argument. 771* Fixed copy-paste between views in the terminal version. 772* Fixed crash when attempting to show a badly-encoded filename in the titlebar. 773* Scintilla: Fixed double-click word selection on Windows 10. 774* Scintilla: Fixed rectangular and line modal selection movements. 775 776Changes: 777 778* Added `fold.compact` buffer property. 779* Added [`buffer.move_extends_selection`][] for enhanced modal keyboard 780 movement. 781* Auto-detect UTF-16-encoded files automatically. 782* Save to the loaded session on quit and removed the 783 `textadept.session.default_session` option. 784* Various Makefile improvements. 785* The terminal version can immediately focus on a clicked split view. 786* Textadept only minimally supports GTK3 now -- it still compiles, but 787 deprecated function calls have not been, and will not be migrated. 788* The terminal key sequence for `Ctrl+Space` is now `'c '` instead of `'c@'`. 789* The terminal version can now remap `^H` (which was previously locked to 790 `Backspace`). 791 792[`buffer.move_extends_selection`]: api.html#buffer.move_extends_selection 793 794### 10.0 alpha (01 Jan 2018) 795 796Bugfixes: 797 798* Scintilla: Fixed a couple of wrapped line drawing cases. 799* Scintilla: Ensure overtype caret is drawn when manually set. 800* Scintilla: Fixed some instances of incorrect scrollbar drawing and flickering. 801* Scintilla: Fixed line selection when clicking in the margin when scrolled. 802 803Changes: 804 805* Textadept requires GTK 2.24 (circa early-2011) or greater. 806* Pasted text is reindented by default via `textadept.editing.paste()`, and is 807 configured with `textadept.editing.paste_reindents`. 808* Replaced `textadept.editing.match_brace()` with a menu function, enhanced 809 `textadept.editing.select_enclosed()` behavior, and removed redundant 810 "Select in ..." menu items. 811* Removed the need for *~/.textadept/properties.lua*. All `buffer` settings set 812 in *~/.textadept/init.lua* will apply to the first and subsequent buffers. 813* Renamed `ui.set_theme()` to `buffer.set_theme()`. 814* Enforce extra argument to [`buffer.brace_match()`][] added back in Scintilla 815 3.7.0. 816* Added [`events.ZOOM`][]. 817* New, object-oriented way to [create lexers][]. 818 819[`buffer.brace_match()`]: api.html#buffer.brace_match 820[`events.ZOOM`]: api.html#events.ZOOM 821[create lexers]: api.html#lexer 822 823### 9.6 (01 Nov 2017) 824 825Bugfixes: 826 827* Regular expressions consider `\r` to be a newline character. 828* Fixed block comments for APDL. 829 830Changes: 831 832* Scintilla: Block caret appears after selection end instead of on it. (Reverts 833 change from Textadept 9.3) 834 835### 9.5 (01 Sep 2017) 836 837Bugfixes: 838 839* Do not attempt to provide code completions when there is no context. 840* Properly handle `buffer.margin_left` and `buffer.margin_right`. 841* Ensure context menus are configurable outside of `events.INITIALIZE`. 842* Various fixes in diff, Forth, and Elixir lexers. 843* Character transposing is now UTF-8-aware. 844 845Changes: 846 847* Added z-order parameter to [`ui.switch_buffer()`][]. 848* When searching in files, show more lines below a match. 849* Added optional encoding parameter to [`io.open_file()`][]. 850* Improved file associations on Mac OSX. 851* Added support for Myrddin. 852* The terminal version updates its cursor position for display in tools like 853 tmux. 854 855[`ui.switch_buffer()`]: api.html#ui.switch_buffer 856[`io.open_file()`]: api.html#io.open_file 857 858### 9.5 beta (01 Jul 2017) 859 860Bugfixes: 861 862* Fixed bug that deleted characters outside of mangled snippets. 863* Fixed start-anchored "Find Prev" regex searches. 864* Correctly handle multiple '!'-prefixed patterns in file filters. 865* Scintilla: Pressing `Esc` while rectangular selection is active does not 866 collapse it. 867 868Changes: 869 870* Changed "Cancel Snippet" key binding from `Ctrl+Shift+K` (`⌥⇧⇥` on Mac OSX | 871 `M-S-K` in curses) to `Esc`. 872* Added [`buffer.caret_line_frame`][] option for outlining the current line. 873* Added [`buffer:line_reverse()`][] for reversing selected lines. 874* Added [`ui.dialogs.colorselect()`][] and [`ui.dialogs.fontselect()`][] 875 dialogs. 876* Handle pipes in shell commands for [filter-through][]. 877* The [Lua command entry][] prints results like Lua 5.3's interactive prompt 878 (e.g. no need for explicit '=' prefix). 879* The Lua command entry now invokes bare functions as commands (e.g. `copy` 880 invokes `buffer:copy()`, `split` invokes `view:split()`, etc.). 881* Scintilla: Updated case conversion and character categories to Unicode 9. 882* Scintilla: Update scroll bar when annotations are added, removed, or changed. 883* Effectively updated to [Scintilla][] 3.7.5. 884 885[`buffer.caret_line_frame`]: api.html#buffer.caret_line_frame 886[`buffer:line_reverse()`]: api.html#buffer.line_reverse 887[`ui.dialogs.colorselect()`]: api.html#ui.dialogs.colorselect 888[`ui.dialogs.fontselect()`]: api.html#ui.dialogs.fontselect 889[filter-through]: manual.html#shell-commands-and-filtering-text 890[Lua command entry]: manual.html#lua-command-entry 891[Scintilla]: https://scintilla.org 892 893### 9.4 (01 May 2017) 894 895Bugfixes: 896 897* Fixed some C++ and Moonscript file associations. 898* Fixed some bugs in "Replace All". 899* Fixed some instances of snippet insertion with selected text. 900* Fixed `make install` for desktop files and icons. 901* Scintilla: Fixed crash in edge-case for fold tags (text shown next to folds). 902* Scintilla: Fixed stream selection collapsing when caret is moved up/down. 903* Scintilla: Fixed bugs in fold tag drawing. 904* Scintilla: Fixed crash in GTK accessibility (for screen readers) code. 905* Scintilla: Only allow smooth scrolling in Wayland. 906* Scintilla: Fixed popup positioning on a multi-monitor setup. 907 908Changes: 909 910* Added support for Logtalk. 911* Scintilla: Accessibility improvements including the ability to turn it off. 912* Effectively updated to [Scintilla][] 3.7.4. 913 914[Scintilla]: https://scintilla.org 915 916### 9.3 (01 Mar 2017) 917 918Bugfixes: 919 920* Improved LuaJIT compatibility with 3rd-party modules. 921* Do not move over selected typeover characters. 922* Fixed "Match Case" toggling during "Regex" searches. 923* Fixed building from the source when dependencies are updated. 924* Fixed folding in multiple-language lexers. 925* Fixed accidental editing of cached lexers. 926* Scintilla: Minimize redrawing for `buffer.selection_n_*` settings. 927* Scintilla: Fixed individual line selection in files with more than 16.7 928 million lines. 929* Scintilla: Various accessibility fixes for GTK on Linux. 930* Scintilla: Fixed a couple of folding regressions. 931* Scintilla: Fixed various issues on GTK 3.22. 932* Scintilla: Fixed inability to extend selection up or down in stream selection 933 mode. 934 935Changes: 936 937* Lexer initialization errors are printed to the Message Buffer. 938* Updated Polish locale. 939* Updated C, C++, Scheme, Shell, and JavaScript lexers. 940* Added support for rc and Standard ML. 941* Scintilla: Block caret appears on selection end instead of after it. 942* Updated to [Scintilla][] 3.7.3. 943* Updated to [Lua][] 5.3.4. 944 945[Scintilla]: https://scintilla.org 946[Lua]: https://lua.org 947 948### 9.2 (21 Dec 2016) 949 950Bugfixes: 951 952* Scintilla: Fixed crash when destroying Scintilla objects. 953 954Changes: 955 956* None. 957 958### 9.1 (11 Dec 2016) 959 960Bugfixes: 961 962* Fixed bug in find/replace with consecutive matches. 963* Fixed encoding detection for encodings with NUL bytes (e.g. UTF-16). 964* Fixed duplicate entries in `io.recent_files` when loading sessions. 965* Scintilla: Fixed caret placement after left or right movement with rectangular 966 selection. 967* Scintilla: Fixed GTK 3 incorrect font size in autocompletion list. 968* Scintilla: Fixed various minor GTK bugs. 969 970Changes: 971 972* Added support for Protobuf and Crystal. 973* On Linux systems that support it, `make install` installs `.desktop` files 974 too. 975* Removed MacRoman encoding detection and options. 976* Scintilla: Character-based word selection, navigation, and manipulation. 977* Scintilla: Added [`view.EDGE_MULTILINE`][], 978 [`view:multi_edge_add_line()`][], and [`view:multi_edge_clear_all()`][] 979 for multiple edge lines. 980* Scintilla: Added `buffer.MARGIN_COLOUR` and [`buffer.margin_back_n`][] for 981 setting arbitrary margin background colors. 982* Scintilla: Added [`buffer.margins`][] for more margins. 983* Scintilla: Added accessibility support for GTK on Linux. 984* Scintilla: Added [`buffer:toggle_fold_display_text()`][] and 985 [`buffer.fold_display_text_style`][] for showing text next to folded lines. 986* Scintilla: Added new `buffer.INDIC_POINT` and `buffer.INDIC_POINTCHARACTER` 987 indicators. 988* Scintilla: Added [`buffer.tab_draw_mode`][] for changing the appearance of 989 visible tabs. 990* Scintilla: Margin click line selection clears rectangular and multiple 991 selection. 992* Updated to [Scintilla][] 3.7.1. 993 994[`view.EDGE_MULTILINE`]: api.html#view.EDGE_MULTILINE 995[`view:multi_edge_add_line()`]: api.html#view.multi_edge_add_line 996[`view:multi_edge_clear_all()`]: api.html#view.multi_edge_clear_all 997[`buffer.margin_back_n`]: api.html#buffer.margin_back_n 998[`buffer.margins`]: api.html#buffer.margins 999[`buffer:toggle_fold_display_text()`]: api.html#buffer.toggle_fold_display_text 1000[`buffer.fold_display_text_style`]: api.html#buffer.fold_display_text_style 1001[`buffer.tab_draw_mode`]: api.html#buffer.tab_draw_mode 1002[Scintilla]: https://scintilla.org 1003 1004### 9.0 (01 Oct 2016) 1005 1006Please see the [8 to 9 migration guide][] for upgrading from Textadept 8 to 1007Textadept 9. 1008 1009Bugfixes: 1010 1011* Better error handling with "filter-through". 1012* Fixed error in building projects. 1013* Better handling of key bindings on international keyboards. 1014* Scintilla: Respect indentation settings when inserting indentation within 1015 virtual space. 1016* Scintilla: Fixed bug with expanding folds. 1017* Scintilla: Fix GTK 3 runtime warning. 1018 1019Changes: 1020 1021* Added TaskPaper lexer. 1022* Scintilla: Added `buffer.VS_NOWRAPLINESTART` option to 1023 `buffer.virtual_space_options`. 1024* Updated to [Scintilla][] 3.6.7. 1025 1026[8 to 9 migration guide]: manual.html#textadept-8-to-9 1027[Scintilla]: https://scintilla.org 1028 1029### 9.0 beta (01 Sep 2016) 1030 1031Bugfixes: 1032 1033* Fixed potential bug with `events.disconnect()`. 1034* Fixed potential infinite loop with "Replace All" in selection. 1035* Fixed passing of quoted arguments to OSX `ta` script. 1036* Fixed CapsLock key handling. 1037* Fixed button order in the terminal version's dialogs. 1038* Fixed potential crash on Windows with `textadept.editing.filter_through()` and 1039 some locales. 1040* Fixed infinite loop in "Replace All" with zero-length regex matches. 1041 1042Changes: 1043 1044* Added [`events.TAB_CLICKED`][] event. 1045 1046[`events.TAB_CLICKED`]: api.html#events.TAB_CLICKED 1047 1048### 9.0 alpha 2 (11 Jul 2016) 1049 1050Bugfixes: 1051 1052* Check range bounds for `buffer:text_range()`. 1053* Fixed inability to properly halt `lfs.dir_foreach()`. 1054 1055Changes: 1056 1057* Replaced Lua pattern searches with [regular expressions][]. 1058* Added timeout prompt to Find in Files. (10 second default.) 1059* Better differentiation between Python 2 and 3 run commands. 1060 1061[regular expressions]: manual.html#regular-expressions 1062 1063### 9.0 alpha (01 Jul 2016) 1064 1065Bugfixes: 1066 1067* Fixed stack overflow when accessing `nil` keys in `textadept.menu`. 1068* Fixed inability to re-encode files incorrectly detected as binary. 1069* Scintilla: Fixed crash when idle styling is active upon closing Textadept. 1070* Scintilla: Fixed various bugs on GTK 3.20. 1071* Lua: Fixed potential crash with four or more expressions in a `for` loop. 1072 1073Changes: 1074 1075* Renamed `io.snapopen()` to [`io.quick_open()`][] and tweaked its arguments, 1076 renamed `io.SNAPOPEN_MAX` to [`io.quick_open_max`][], and renamed 1077 `io.snapopen_filters` to [`io.quick_open_filters`][]. 1078* Removed BOM (byte order mark) encoding detection. (BOM use is legacy and 1079 discouraged.) 1080* Removed detection and use of extinct `\r` (CR) line endings. 1081* Removed project support for CVS and assume Subversion v1.8+. 1082* Key and menu commands [must be Lua functions][]; the table syntax is no longer 1083 recognized. 1084* Renamed `lfs.FILTER` to [`lfs.default_filter`][] and tweaked arguments to 1085 `lfs.dir_foreach()`. 1086* Locale files can optionally use `#` for comments instead of `%`. 1087* Renamed `ui.SILENT_PRINT` to [`ui.silent_print`][]. 1088* Renamed all [`textadept.editing`][]`.[A-Z]+` options to their lower-case 1089 equivalents and renamed `textadept.editing.braces` to 1090 [`textadept.editing.brace_matches`][]. 1091* *post_init.lua* files for language modules are [no longer auto-loaded][]; use 1092 [`events.LEXER_LOADED`][] to load additional bits instead. 1093* Renamed `ui.find.FILTER` to [`ui.find.find_in_files_filter`][] and added an 1094 optional argument to [`ui.find.find_in_files()`][]. 1095* Renamed all [`textadept.session`][]`.[A-Z]+` options to their lower-case 1096 equivalents. 1097* Removed syntax checking support, renamed `textadept.run.RUN_IN_BACKGROUND` to 1098 [`textadept.run.run_in_background`][], removed `textadept.run.cwd` and 1099 `textadept.run.proc`, added optional arguments to 1100 [`textadept.run.compile()`][], [`textadept.run.run()`][], and 1101 [`textadept.run.build()`][], and changed the format of 1102 [`textadept.run.error_patterns`][]. 1103* Rewrote sections 7-9 in the [manual][] and added a new part to section 11. 1104 Understanding how to configure and script Textadept should be easier now. 1105* `textadept.editing.goto_line()` takes a 0-based line number like all 1106 Scintilla functions. 1107* `ui.goto_view()` and `view:goto_buffer()` now take actual `view` and `buffer` 1108 arguments, respectively, or a relative number. 1109* Added [file-based snippet][] capabilities. 1110* Updated to [Scintilla][] 3.6.6. 1111* Updated to [Lua][] 5.3.3 1112 1113[`io.quick_open()`]: api.html#io.quick_open 1114[`io.quick_open_max`]: api.html#io.quick_open_max 1115[`io.quick_open_filters`]: api.html#io.quick_open_filters 1116[must be Lua functions]: manual.html#key-and-menu-command-changes 1117[`lfs.default_filter`]: api.html#lfs.default_filter 1118[`ui.silent_print`]: api.html#ui.silent_print 1119[`textadept.editing`]: api.html#textadept.editing 1120[`textadept.editing.brace_matches`]: api.html#textadept.editing.brace_matches 1121[no longer auto-loaded]: manual.html#language-module-handling-changes 1122[`events.LEXER_LOADED`]: api.html#events.LEXER_LOADED 1123[`ui.find.find_in_files_filter`]: api.html#ui.find.find_in_files_filter 1124[`ui.find.find_in_files()`]: api.html#ui.find.find_in_files 1125[`textadept.session`]: api.html#textadept.session 1126[`textadept.run.run_in_background`]: api.html#textadept.run.run_in_background 1127[`textadept.run.compile()`]: api.html#textadept.run.compile 1128[`textadept.run.run()`]: api.html#textadept.run.run 1129[`textadept.run.build()`]: api.html#textadept.run.build 1130[`textadept.run.error_patterns`]: api.html#textadept.run.error_patterns 1131[manual]: manual.html 1132[file-based snippet]: manual.html#snippet-preferences 1133[Scintilla]: https://scintilla.org 1134[Lua]: https://www.lua.org 1135 1136### 8.7 (01 May 2016) 1137 1138Bugfixes: 1139 1140* Much better UTF-8 support in the terminal version. 1141* Completely hide the menubar if it is empty. 1142* Fix building for some BSDs. 1143* Added some block comment strings for languages lacking them. 1144* Fixed a number of small encoding issues in various corner cases. 1145* Fixed bug in `textadept.editing.convert_indentation()` with mixed indentation. 1146* Fixed an obscure side-effect that reset buffer properties when working with 1147 non-focused buffers. 1148* Fixed incremental find with UTF-8 characters. 1149* Fixed bug in session restoration of scroll and caret positions in multiple 1150 views. 1151* Fixed bug where existing files were not closed when a session is loaded. 1152* Fixed corner case in "replace within selection". 1153* Fixed regression for `%<...>` and `%[...]` in snippets. 1154* When executing compile/run commands from a different directory, indicate it. 1155* Fixed error when showing style popup at the end of a buffer. 1156* "Find in Files" should not print the contents of binary files. 1157* Fixed lack of environment in spawned processes on Linux. 1158* Scintilla: Support longer regexes in searches. 1159 1160Changes: 1161 1162* Support UTF-8 pattern matching in "Lua Pattern" searches by incorporating bits 1163 of [luautf8][]. 1164* Improved efficiency of autocompleting words from all open buffers. 1165* "Find in Files" defaults to the current project's root directory. 1166* Submenus and menu items can be accessed by name. (See 1167 [`textadept.menu.menubar`][] for an example.) 1168* Only show snippet trigger and text when selecting from a dialog. 1169* More efficient screen refreshes in the terminal version. 1170* Save and restore horizontal scroll position when switching buffers. 1171* The undocumented `keys.utils` was removed. This will break custom key bindings 1172 that depend on it. See [this mailing list post][] for more information. 1173* The menubar is loaded on `events.INITIALIZED` now. See the above mailing 1174 list post for more information. 1175* Allow file-specific [compile commands][] and [run commands][]. 1176* Added new dialog for specifying compile/run command arguments to "Tools" menu. 1177* `textadept.editing.enclose()` works with multiple selections. 1178* Disabled `textadept.run.CHECK_SYNTAX` by default. 1179* Updated to lspawn 1.5. 1180* Updated to [Scintilla][] 3.6.5. 1181* Updated to Scinterm 1.8. 1182 1183[luautf8]: https://github.com/starwing/luautf8 1184[`textadept.menu.menubar`]: api.html#textadept.menu.menubar 1185[this mailing list post]: https://foicica.com/lists/code/201604/3171.html 1186[compile commands]: api.html#textadept.run.compile_commands 1187[run commands]: api.html#textadept.run.run_commands 1188[Scintilla]: https://scintilla.org 1189 1190### 8.6 (01 Mar 2016) 1191 1192Bugfixes: 1193 1194* Prevent silent crash reports from being generated on Mac OSX when child 1195 processes fail to be spawned. 1196* Do not "busy wait" for spawned process stdout or stderr on Mac OSX. 1197* Fixed bug in escaping `([{<` after mirrors in snippets. 1198* Only change spawned process environment if one was specified on Mac OSX. 1199* Fixed focus bug in `view:goto_buffer()` with non-focused view. 1200* Fixed building the terminal version in debug mode. 1201* Fixed potential crash with malformed style properties. 1202* Fixed unlikely buffer overflow in messages coming from Scintilla. 1203* Fixed potential memory access error when closing Textadept while a spawned 1204 process is still alive. 1205* Fixed bug in setting view properties when restoring sessions with nested 1206 splits. 1207 1208Changes: 1209 1210* Added support for APL, Docker, Faust, Ledger, MoonScript, man/roff, PICO-8, 1211 and Pure. 1212* Enabled idle-styling of buffers in the background in the GUI version. 1213* Undocumented `buffer:clear_cmd_key()` only takes one argument now. 1214* Added `-v` and `--version` command line parameters. 1215* Added single-instance functionality on Win32. 1216* Require GLib 2.28+. 1217* Recognize the `weight` [style property][]. 1218* Added [`lexer.line_state`][] and [`lexer.line_from_position()`][] for 1219 [stateful lexers][]. 1220* Updated to lspawn 1.4. 1221* Updated to [Scintilla][] 3.6.3. 1222* Updated to Scinterm 1.7. 1223 1224[style property]: api.html#styles-and-styling 1225[`lexer.line_state`]: api.html#lexer.line_state 1226[`lexer.line_from_position()`]: api.html#lexer.line_from_position 1227[stateful lexers]: api.html#lexers-with-complex-state 1228[Scintilla]: https://scintilla.org 1229 1230### 8.5 (01 Jan 2016) 1231 1232Bugfixes: 1233 1234* Fixed some '%' escape sequences in snippets. 1235* Fixed bug resolving relative paths with multiple '../' components. 1236* Do not visit buffers that do not need saving in `io.save_all_files()`. 1237* Fixed various small bugs in snippets. 1238* Fixed restoration of split view sizes in large windows. 1239* Lua: Fixed potential crash in `io.lines()` with too many arguments. 1240 1241Changes: 1242 1243* Allow [compile, run, and build commands][] functions to specify a working 1244 directory. 1245* Added support for SNOBOL4. 1246* Added support for Icon. 1247* Added support for AutoIt. 1248* Updated to [Lua][] 5.3.2. 1249 1250[compile, run, and build commands]: api.html#textadept.run.build_commands 1251[Lua]: https://www.lua.org 1252 1253### 8.4 (11 Nov 2015) 1254 1255Bugfixes: 1256 1257* Various fixes for snippet bugs introduced in the refactoring. 1258* Fixed `S-Tab` in Find & Replace pane in the terminal version. 1259* Do not error when attempting to snapopen a non-existant project. 1260* Scintilla: fixed height of lines in autocompletion lists. 1261* Scintilla: fixed bug in `buffer:line_end_display()`. 1262 1263Changes: 1264 1265* Bookmarks are saved in sessions. 1266* New snippet placeholder for a list of options (`%`_`n`_`{`_`list`_`}`). 1267* Snippets can now be functions that return snippet text. 1268* Added Lua API tags to the "ansi\_c" module. 1269* Updated Swedish translation. 1270* Added support for Gherkin. 1271* Scintilla: whitespace can be shown only in indentation. 1272* Scintilla: optimized marker redrawing. 1273* Updated to [Scintilla][] 3.6.2. 1274* Updated to [LPeg][] 1.0. 1275 1276[Scintilla]: https://scintilla.org 1277[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/ 1278 1279### 8.3 (01 Oct 2015) 1280 1281Bugfixes: 1282 1283* Stop annoying black box from flashing when saving some files on Win32. 1284* Fixed bug in parsing Ruby error output. 1285* Do not emit `events.LEXER_LOADED` for the command entry. 1286* Fixed bug with Python syntax checking on Win32. 1287* Scintilla: fixed bug in `buffer:count_characters()`. 1288* Scintilla: small GTK fixes. 1289 1290Changes: 1291 1292* Improved API documentation lookup behind the caret. 1293* [Refactored snippets][] to longer display placeholder text. 1294* [`os.spawn()`][] can now optionally specify the child's environment. 1295* Added Gherkin lexer. 1296* Updated to [Scintilla][] 3.6.1. 1297 1298[Refactored snippets]: https://foicica.com/lists/code/201509/2687.html 1299[`os.spawn()`]: api.html#os.spawn 1300[Scintilla]: https://scintilla.org 1301 1302### 8.2 (01 Sep 2015) 1303 1304Bugfixes: 1305 1306* Fixed crash when quitting while the command entry is open. 1307* Block commenting respects indentation levels. 1308* Handle `typeref` in ansi\_c module's ctags support. 1309* Do not error when block commenting in an unsupported language. 1310* Scintilla: fix scrollbar memory leaks. 1311 1312Changes: 1313 1314* Highlight found text in "Find in Files" searches. 1315* Added Italian translation and updated French translation. 1316* Added automatic syntax checking as source files are saved, along with 1317 `textadept.run.CHECK_SYNTAX` and `textadept.run.GOTO_SYNTAX_ERRORS` 1318 configuration fields. 1319* Scintilla: multiple selection works over more key commands like caret 1320 movement, selections, and word and line deletions. 1321* Scintilla: new [`events.AUTO_C_COMPLETED`][] event for when autocompleted text 1322 has been inserted. 1323* Updated to [Scintilla][] 3.6.0. 1324 1325[`events.AUTO_C_COMPLETED`]: api.html#events.AUTO_C_COMPLETED 1326[Scintilla]: https://scintilla.org 1327 1328### 8.1 (01 Jul 2015) 1329 1330Bugfixes: 1331 1332* Detect `#!/usr/bin/env ...` properly. 1333* Fix incorrect menu shortcut key display on Windows. 1334* Fixed ASP, Applescript, and Perl lexers. 1335* Fixed segfault in parsing some instances of style definitions. 1336* Scintilla: fixed performance when deleting markers from many lines. 1337* Scintilla: fixed scrollbar drawing on GTK 3.4+. 1338* Scintilla: respect encoding for margin text. 1339 1340Changes: 1341 1342* Added support for Elixir and Windows Script Files (WSF). 1343* Added parameter to [`textadept.editing.select_word()`][] for selecting all 1344 occurrences. 1345* Scintilla: added [`buffer:multiple_select_add_next()`][] and 1346 [`buffer:multiple_select_add_each()`][] for creating multiple selections from 1347 selected text. 1348* Scintilla: added [`buffer:is_range_word()`][] and 1349 [`buffer:target_whole_document()`][] helper functions for search and replace. 1350* Updated to [Scintilla][] 3.5.7. 1351* Updated to [Lua][] 5.3.1. 1352 1353[`textadept.editing.select_word()`]: api.html#textadept.editing.select_word 1354[`buffer:multiple_select_add_next()`]: api.html#buffer.multiple_select_add_next 1355[`buffer:multiple_select_add_each()`]: api.html#buffer.multiple_select_add_each 1356[`buffer:is_range_word()`]: api.html#buffer.is_range_word 1357[`buffer:target_whole_document()`]: api.html#buffer.target_whole_document 1358[Scintilla]: https://scintilla.org 1359[Lua]: https://lua.org 1360 1361### 8.0 (01 May 2015) 1362 1363Please see the [7 to 8 migration guide][] for upgrading from Textadept 7 to 1364Textadept 8. 1365 1366Bugfixes: 1367 1368* Fixed filename encoding issues on Windows. 1369 1370Changes: 1371 1372* Added [`textadept.run.RUN_IN_BACKGROUND`][] for shell commands. 1373 1374[7 to 8 migration guide]: manual.html#textadept-7-to-8 1375[`textadept.run.RUN_IN_BACKGROUND`]: api.html#textadept.run.run_in_background 1376 1377### 8.0 beta (21 Apr 2015) 1378 1379Bugfixes: 1380 1381* Fixed `require()` bug with lfs and utf8 libraries in LuaJIT version. 1382* Fixed Perl lexer corner-case. 1383* VB lexer keywords are case-insensitive now. 1384 1385Changes: 1386 1387* Added `symlink` filter option for ignoring symlinked files and folders to 1388 [`io.snapopen()`][], `lfs.dir_foreach()`, and [`ui.find.FILTER`][]. 1389* Added [`_FOLDBYINDENTATION`][] field for lexers that fold by indentation. 1390* Updated to [Scintilla][] 3.5.5. 1391 1392[`io.snapopen()`]: api.html#io.quick_open 1393[`ui.find.FILTER`]: api.html#ui.find.find_in_files_filter 1394[`_FOLDBYINDENTATION`]: api.html#fold-by-indentation 1395[Scintilla]: https://scintilla.org 1396 1397### 8.0 alpha (01 Apr 2015) 1398 1399Bugfixes: 1400 1401* Ensure `events.BUFFER_AFTER_SWITCH` is fired before `events.BUFFER_DELETED`. 1402* Prevent command line help options from exiting an open instance of Textadept. 1403 1404Changes: 1405 1406* Upgraded to Lua 5.3, LPeg 0.12.2, lfs 1.6.3, and lspawn 1.2. 1407* Removed `keys.LANGUAGE_MODULE_PREFIX`, but left that prefix unused on all 1408 platforms. 1409* `textadept.editing.filter_through()` now uses `os.spawn()`. 1410* Removed long-hand [compile and run macros][] in favor of shorter ones. 1411* [`textadept.bookmarks.toggle()`][] accepts an optional line to bookmark. 1412* Added support for Rust and TOML. 1413* "Goto Bookmark" now lists bookmarks in all open buffers. 1414* [`spawn_proc:kill()`][] can send signals to processes. 1415* New [`lexer._FOLDBYINDENTATION`][] field for lexers that fold based on 1416 indentation. 1417 1418[compile and run macros]: api.html#textadept.run.compile\_commands 1419[`textadept.bookmarks.toggle()`]: api.html#textadept.bookmarks.toggle 1420[`spawn_proc:kill()`]: api.html#spawn_proc:kill 1421[`lexer._FOLDBYINDENTATION`]: api.html#fold-by-indentation 1422 1423### 7.9 (11 Mar 2015) 1424 1425Bugfixes: 1426 1427* Fixed command entry's abbreviated environment to allow functions to return 1428 values. 1429* Fixed accidental firing of "Escape" key on window focus lost. 1430* Fixed tab stop calculation in the terminal version. 1431* Improved performance of lexers that fold by indentation. 1432* Scintilla: fixed adaptive scrolling on Mac OSX. 1433 1434Changes: 1435 1436* The following view-specific properties are now considered buffer-specific: 1437 "view EOL", "view whitespace", "wrap mode", "margin type", and "margin width"; 1438 updated the "Buffer" and "View" menus appropriately. 1439* Officially supported language modules moved to a [new repository][]. 1440* Added Fish lexer and updated PHP and Python lexers. 1441* Merged `events.FILE_SAVED_AS` into [`events.FILE_AFTER_SAVE`][] as a new 1442 parameter. 1443* Merged `textadept.file_types.shebangs` into 1444 [`textadept.file_types.patterns`][]. 1445* Removed `io.boms`. 1446* Scintilla: added [`buffer.indic_hover_fore`][] and 1447 [`buffer.indic_hover_style`][] for styling indicators differently when the 1448 mouse is over them. 1449* Added new `buffer.INDIC_COMPOSITIONTHIN`, `buffer.INDIC_FULLBOX`, and 1450 `buffer.INDIC_TEXTFORE` indicators. 1451* Updated to [Scintilla][] 3.5.4. 1452 1453[new repository]: https://github.com/orbitalquark/textadept-modules 1454[`textadept.file_types.patterns`]: api.html#textadept.file_types.patterns 1455[`events.FILE_AFTER_SAVE`]: api.html#events.FILE_AFTER_SAVE 1456[`buffer.indic_hover_fore`]: api.html#buffer.indic_hover_fore 1457[`buffer.indic_hover_style`]: api.html#buffer.indic_hover_style 1458[Scintilla]: https://scintilla.org 1459 1460### 7.8 (01 Feb 2015) 1461 1462Bugfixes: 1463 1464* Fixed snippets bug where name matches lexer name. 1465 1466Changes: 1467 1468* Removed language-specific context menus; manipulate 1469 `textadept.menu.context_menu` directly from language modules. 1470 1471### 7.8 beta 3 (21 Jan 2015) 1472 1473Bugfixes: 1474 1475* Fixed opening files with network paths on Win32. 1476* Fixed minor GTK 3 issues. 1477* Fixed bug in hiding caret when Textadept loses focus. 1478* Fixed bug in overwriting fold levels set by custom fold functions. 1479* Scintilla: fixed placement of large call tips. 1480* Scintilla: fixed background color of annotation lines with text margins. 1481* Scintilla: fixed some instances of paste on Mac OSX. 1482* Scintilla: fixed incorrect margin click handling in the terminal version. 1483 1484Changes: 1485 1486* Restore `^Z` key binding as "undo" if terminal suspend is disabled. 1487* Added [`events.SUSPEND`][] and [`events.RESUME`][] events for terminal suspend 1488 and resume. 1489* Updated to [Scintilla][] 3.5.3. 1490 1491[`events.SUSPEND`]: api.html#events.SUSPEND 1492[`events.RESUME`]: api.html#events.RESUME 1493[Scintilla]: https://scintilla.org 1494 1495### 7.8 beta 2 (11 Jan 2015) 1496 1497Bugfixes: 1498 1499* Improved C module's ctags lookups and autocompletion. 1500* Do not select a line when clicking on its first character in the terminal 1501 version. 1502* Fixed some cases of toggling find options via API in the terminal version. 1503* Improved folding by indentation. 1504* Scintilla: fixed caret blinking when holding down `Del`. 1505* Scintilla: avoid extra space when pasting from external applications. 1506 1507Changes: 1508 1509* The terminal version can suspend via `^Z` (changed "undo" key binding to 1510 `M-Z` and added additional `M-S-Z` "redo" binding). 1511* Added [`spawn_proc:close()`][] for sending EOF to spawned processes. 1512* Updated Tcl lexer. 1513* Scintilla: Added `buffer.ANNOTATION_INDENTED` for indented, non-bordered 1514 annotations. 1515* Scintilla: tab arrows, wrap markers, and line markers are now drawn in the 1516 terminal version. 1517* Updated to [Scintilla][] 3.5.2. 1518 1519[`spawn_proc:close()`]: api.html#spawn_proc:close 1520[Scintilla]: https://scintilla.org 1521 1522### 7.8 beta (01 Dec 2014) 1523 1524Bugfixes: 1525 1526* Fixed extra space pasting from external Win32 apps. 1527* Fixed bug in C autocompletion. 1528* Disable GCC optimizations when compiling with debug symbols. 1529* Ensure "find in files" is off when activating normal find. 1530* Fixed return values from `ui.dialogs.optionselect()`. 1531* The command entry does not hide when the window loses focus. 1532* Fixed '//' bug when iterating over root directory with `lfs.dir_foreach()`. 1533* Fixed bug in jumping to compile/run errors and clear annotations before 1534 building projects. 1535* Fixed memory leaks in `ui.dialog()`. 1536 1537Changes: 1538 1539* Replaced the command entry text field with a Scintilla buffer and added 1540 [`ui.command_entry.editing_keys`][] for changing the editing keys in all 1541 modes. 1542* Added lexer and height parameters to `ui.command_entry.enter_mode()`. 1543* Support bracketed paste in the terminal version. 1544* Allow handling of unknown [CSI events][]. 1545* Added mouse support for buffers and eliminated many 1546 [terminal version incompatibilities][]. 1547* Added [`_G.LINUX`][] and [`_G.BSD`][] platform flags for the sake of 1548 completeness. 1549* [Rectangular selections][] with the mouse on Linux use the `Alt` modifier key 1550 instead of `Super`. 1551* Display the current working directory in fileselect dialogs. 1552* Added [`_SCINTILLA.next_image_type()`][] for registering images. 1553* Added Arabic translation. 1554* File dialogs in the terminal span the whole view. 1555* Added basic UTF-8 support for terminal widgets -- locales such as Russian now 1556 display properly. 1557* Added UTF-8 input mode for Mac OSX (`⌘⇧U`) and the terminal version (`M-U`). 1558* Show character information in "Show Style" popup. 1559 1560[`ui.command_entry.editing_keys`]: api.html#ui.command_entry.editing_keys 1561[CSI events]: api.html#events.CSI 1562[terminal version incompatibilities]: manual.html#terminal-version-compatibility 1563[`_G.LINUX`]: api.html#LINUX 1564[`_G.BSD`]: api.html#BSD 1565[Rectangular selections]: manual.html#rectangular-selection 1566[`_SCINTILLA.next_image_type()`]: api.html#_SCINTILLA.next_image_type 1567 1568### 7.7 (01 Oct 2014) 1569 1570Bugfixes: 1571 1572* Fixed corner-case in switching to most recent buffer after closing. 1573* Fixed find/replace bug when embedded Lua code evaluates to a number. 1574* Scintilla: fixed some instances of the autocompletion window not showing up. 1575* Scintilla: fixed sizing of the autocompletion window. 1576 1577Changes: 1578 1579* Mac OSX GUI version can truly `os.spawn()` processes now. 1580* Improved performance for lexers with no grammars and no fold rules. 1581* Updated to [Scintilla][] 3.5.1. 1582 1583[Scintilla]: https://scintilla.org 1584 1585### 7.6 (01 Sep 2014) 1586 1587Bugfixes: 1588 1589* Recognize DEL when emitted by the Backspace key in the terminal version. 1590* Scintilla: fixed `buffer:del_word_right()` selection redrawing bug. 1591* Scintilla: fixed autocompletion list memory leak. 1592* Scintilla: fixed overtype caret when it is over multi-byte characters. 1593 1594Changes: 1595 1596* Terminal version can truly `os.spawn()` processes now. 1597* Added Linux .desktop files for menus and launchers. 1598* Indicate presence of a BOM in the statusbar. 1599* Switch to previous buffer after closing a buffer. 1600* More options for `lfs.dir_foreach()`. 1601* Updated to [Scintilla][] 3.5.0. 1602 1603[Scintilla]: https://scintilla.org 1604 1605### 7.5 (11 Jul 2014) 1606 1607Bugfixes: 1608 1609* Fixed Bash heredoc highlighting. 1610* Scintilla: fixed some instances of indicators not being removed properly. 1611* Scintilla: fixed crash with Ubuntu's overlay scrollbars. 1612 1613Changes: 1614 1615* New [`events.FOCUS`][] event for when Textadept's window receives focus. 1616* Condensed manual and API documentation into single files. 1617* Added Polish translation. 1618* Scintilla: added [`buffer.auto_c_multi`][] for autocompleting into multiple 1619 selections. 1620* Updated to [Scintilla][] 3.4.4. 1621 1622[`events.FOCUS`]: api.html#events.FOCUS 1623[`buffer.auto_c_multi`]: api.html#buffer.auto_c_multi 1624[Scintilla]: https://scintilla.org 1625 1626### 7.4 (11 Jun 2014) 1627 1628Bugfixes: 1629 1630* Fix crash in Windows with sending input to spawned processes. 1631* Fix compile, run, and build command output with split views. 1632* Fix `#RRGGBB` color interpretation for styles. 1633* Fix word autocompletion when ignoring case. 1634 1635Changes: 1636 1637* Pressing the Enter key in the message buffer and find in files buffer 1638 simulates a double-click. 1639 1640### 7.3 (01 Jun 2014) 1641 1642Bugfixes: 1643 1644* Export Lua symbols correctly on Windows. 1645* Fixed occasional bug when double-clicking in the message buffer. 1646* Fixed an edge-case in word highlighting. 1647* Fixed some folding by indentation edge cases. 1648* Scintilla: fixed caret invisibility when its period is zero. 1649* Scintilla: fixed flickering when scrolling in GTK 3.10+. 1650 1651Changes: 1652 1653* Added reST and YAML lexers and official language modules for each. 1654* Use `os.spawn()` for launching help. 1655* Renamed `io.set_buffer_encoding()` to [`buffer:set_encoding()`][]. 1656* Removed Adeptsense in favor of [autocompleter functions][], but kept existing 1657 [api file format][]. 1658* Renamed `textadept.editing.autocomplete_word()` to 1659 [`textadept.editing.autocomplete`][]`('word')`. 1660* New [`textadept.editing.AUTOCOMPLETE_ALL`][] field for autocompleting words 1661 from all open buffers. 1662* Dropped support for official java, php, rails, and rhtml modules; they are 1663 on the wiki now. 1664* Removed `textadept.editing.HIGHLIGHT_BRACES` option, as indicator style can be 1665 changed to hide highlighting. 1666* Removed `textadept.editing.select_indented_block()`. 1667* In-place menu editing via [`textadept.menu.menubar`][], 1668 [`textadept.menu.context_menu`][], and [`textadept.menu.tab_context_menu`][] 1669 tables. 1670* Removed `textadept.command_entry.complete_lua()` and 1671 `textadept.command_entry.execute_lua()` and moved their key bindings into 1672 their module. 1673* Updated D lexer. 1674* Scintilla: added `buffer.FOLDFLAG_LINESTATE` for lexer debugging aid. 1675* Updated to [Scintilla][] 3.4.2. 1676 1677[`buffer:set_encoding()`]: api.html#buffer.set_encoding 1678[autocompleter functions]: api.html#textadept.editing.autocompleters 1679[api file format]: api.html#textadept.editing.api_files 1680[`textadept.editing.autocomplete`]: api.html#textadept.editing.autocomplete 1681[`textadept.editing.AUTOCOMPLETE_ALL`]: api.html#textadept.editing.autocomplete_all_words 1682[`textadept.menu.menubar`]: api.html#textadept.menu.menubar 1683[`textadept.menu.context_menu`]: api.html#textadept.menu.context_menu 1684[`textadept.menu.tab_context_menu`]: api.html#textadept.menu.tab_context_menu 1685[Scintilla]: https://scintilla.org 1686 1687### 7.2 (01 May 2014) 1688 1689Bugfixes: 1690 1691* Fixed cases of incorrect Markdown header highlighting. 1692 1693Changes: 1694 1695* Message buffer can send input to spawned processes. 1696 1697### 7.2 beta 4 (11 Apr 2014) 1698 1699Bugfixes: 1700 1701* Fixed bug in parsing output from a canceled dropdown dialog. 1702* Always use absolute file paths so sessions are saved and reloaded properly. 1703* Temporarily disabled asynchronous spawning on OSX due to GLib crashes. 1704 1705Changes: 1706 1707* None. 1708 1709### 7.2 beta 3 (01 Apr 2014) 1710 1711Bugfixes: 1712 1713* Fixed bug in Win32 terminal version with "shifted" character input. 1714* Scintilla: fixed bug when moving caret down on wrapped lines. 1715* Scintilla: fixed instances of bad caret positioning within characters. 1716* Scintilla: fixed automatic indentation when the caret is within virtual space. 1717* Scintilla: fixed annotation deletion from lines. 1718* Scintilla: fixed placement of large call tips. 1719 1720Changes: 1721 1722* New [optionselect][] dialog. 1723* Added [`ui.SILENT_PRINT`][] option for printing messages. 1724* The GUI version can [spawn processes][] in separate threads. 1725* Removed experimental Windows `io.popen()` and `os.execute()` replacements due 1726 to spawning support. 1727* [Snapopen][] now supports projects; added new menu entry and key command. 1728* Added support for [building projects][]. 1729* Scintilla: draw unicode line ends as blobs. 1730* Scintilla: added `buffer.WRAP_WHITESPACE` for wrapping on whitespace, not 1731 style changes. 1732* Updated to [LuaJIT][] 2.0.3. 1733* Updated to [Scintilla][] 3.4.1. 1734 1735[optionselect]: api.html#ui.dialogs.optionselect 1736[`ui.SILENT_PRINT`]: api.html#ui.silent_print 1737[spawn processes]: api.html#os.spawn 1738[Snapopen]: manual.html#quick-open 1739[building projects]: api.html#_M.Build.a.Project 1740[LuaJIT]: https://luajit.org 1741[Scintilla]: https://scintilla.org 1742 1743### 7.2 beta 2 (01 Mar 2014) 1744 1745Bugfixes: 1746 1747* Fixed bug with empty entries in multiple entry inputboxes. 1748 1749Changes: 1750 1751* Terminal version now has split views along with key bindings for them. 1752 1753### 7.2 beta (11 Feb 2014) 1754 1755Bugfixes: 1756 1757* Handle *./* and *../* sequences in filepaths. 1758* Correctly restore views with word wrap enabled. 1759* Scintilla: fixed some instances of caret placement when scrolling. 1760 1761Changes: 1762 1763* Added Swedish translation. 1764* Added support for multiple entry boxes in [inputdialogs][]. 1765* Updated LaTeX and Go lexers. 1766* Scintilla: added [`buffer:drop_selection_n()`][] for dropping a multiple 1767 selection. 1768* Scintilla: added `buffer.call_tip_pos_start` for altering call tip 1769 backspace behavior. 1770* Scintilla: added `buffer.MARK_BOOKMARK` marker symbol. 1771* Scintilla: better marker drawing. 1772* Updated to [Scintilla][] 3.3.9. 1773 1774[inputdialogs]: api.html#ui.dialogs.inputbox 1775[`buffer:drop_selection_n()`]: api.html#buffer.drop_selection_n 1776[Scintilla]: https://scintilla.org 1777 1778### 7.2 alpha (01 Jan 2014) 1779 1780Bugfixes: 1781 1782* Honor `ui.maximized` setting in session files. 1783* Do not halt opening files if one of them is already open. 1784* Better key input handling in the terminal version. 1785* Fixed Makefile bug in grabbing dependencies with older versions of wget. 1786* Recognize lower-case drive letter names for files passed from external 1787 programs in Windows. 1788* Scintilla: fixed some instances of adjacent indicator drawing. 1789* Scintilla: fixed scroll width tracking for annotated lines. 1790* Scintilla: fixed horizontal scroll bar range. 1791* Scintilla: fixed caret placement when margins change. 1792* Scintilla: fixed some instances of incorrect selection redrawing. 1793 1794Changes: 1795 1796* Added Dart lexer. 1797* Do not split the view when printing messages if tabs are enabled. 1798* Look for *~/.textadept/osx_env.sh* for [OSX environment variables][] due to 1799 changes in Mac OSX 10.9. 1800* [Experimental] Replaced Lua's `io.popen()` and `os.execute()` with versions 1801 that do not flash the "black box" on Windows. 1802* Added read-only access to the current key chain via `keys.keychain`. 1803* Renamed "hypertext" lexer and its corresponding module to "html". 1804* Added configurable tab context menus via `textadept.menu.set_contextmenus()`. 1805* New GUI theme for Mac OSX. 1806* [Experimental] Merged separate lexer states into Textadept's Lua state. 1807* Updated HTML lexer. 1808* Scintilla: the `Ctrl` modifier in Mac OSX mouse clicks is recognized as 1809 `buffer.MOD_META`. 1810* Scintilla: added [`buffer.representation`][] for changing the representation 1811 of characters. 1812* Scintilla: added [`buffer:position_relative()`][] for character navigation. 1813* Scintilla: added [`buffer.mouse_selection_rectangular_switch`][] for aiding in 1814 rectangular selection creation. 1815* Updated to [Lua][] 5.2.3. 1816* Updated to [Scintilla][] 3.3.7. 1817 1818[OSX environment variables]: manual.html#mac-osx-environment-variables 1819[`buffer.representation`]: api.html#buffer.representation 1820[`buffer:position_relative()`]: api.html#buffer.position_relative 1821[`buffer.mouse_selection_rectangular_switch`]: api.html#buffer.mouse_selection_rectangular_switch 1822[Lua]: https://lua.org 1823[Scintilla]: https://scintilla.org 1824 1825### 7.1 (11 Nov 2013) 1826 1827Bugfixes: 1828 1829* Textbox dialogs' `scroll_to` option works correctly. 1830* Emit autocompletion and hotspot events properly. 1831* Handle replacement captures with escapes properly. 1832* Fixed slowdown in processing long lines for folding. 1833* Fixed slowdown with large HTML files. 1834 1835Changes: 1836 1837* Tabs for multiple buffers along with [`ui.tabs`][] API. 1838* Split C/C++ lexer into separate lexers and replaced default "cpp" module with 1839 "ansi\_c". 1840* Find and replace text may utilize "%0" capture containing the entire match. 1841* Disable `textadept.editing.STRIP_TRAILING_SPACES` by default. 1842* `ui.clipboard_text` is no longer read-only. 1843* Added [`events.FILE_CHANGED`][] event. 1844 1845[`ui.tabs`]: api.html#ui.tabs 1846[`events.FILE_CHANGED`]: api.html#events.FILE_CHANGED 1847 1848### 7.0 (01 Nov 2013) 1849 1850Please see the [6 to 7 migration guide][] for upgrading from Textadept 6 to 1851Textadept 7. 1852 1853Bugfixes: 1854 1855* Fixed bug with `buffer.SCFIND_REGEX` flag. 1856* Fixed OSX Command key recognition for click events. 1857* Fixed compile error with GTK3. 1858* HTML and XML lexers maintain their states better. 1859 1860Changes: 1861 1862* Added Assembly (NASM) lexer with compile and run commands. 1863* `textadept.adeptsense.goto_ctag()` can show all known tags now. 1864* `textadept.editing.enclose()` encloses the whole current word. 1865 1866[6 to 7 migration guide]: manual.html#textadept-6-to-7 1867 1868### 7.0 beta 5 (21 Oct 2013) 1869 1870Bugfixes: 1871 1872* Show more helpful user-init startup error messages. 1873* Lua run command buffers output correctly. 1874* Fixed corner case in paragraph selection. 1875* Fixed corner case in block uncommenting. 1876* Disable folding when `fold` property is `0`. 1877 1878Changes: 1879 1880* Changed `ui.set_theme()` API to accept a table of property assignments. 1881* Added Nimrod lexer and compile and run commands. 1882* Use [`textadept.editing.INDIC_BRACEMATCH`][] indicator for brace highlighting 1883 instead of styles. 1884* The `buffer` API applies to all buffers now, not just the global one. 1885* Added "Save All" to the menu. 1886* Updated D lexer. 1887* Added additional parameter to [`lexer.load()`][] to allow child lexers to be 1888 embedded multiple times with different start/end tokens. 1889* Lexers do not need an "any\_char" [rule][] anymore; it is included by default. 1890* [Child lexers][] do not need an explicit `M._lexer = parent` declaration 1891 anymore; it is done automatically. 1892 1893[`textadept.editing.INDIC_BRACEMATCH`]: api.html#textadept.editing.INDIC_BRACEMATCH 1894[`lexer.load()`]: api.html#lexer.load 1895[rule]: api.html#rules 1896[Child lexers]: api.html#child-lexer 1897 1898### 7.0 beta 4 (01 Oct 2013) 1899 1900Bugfixes: 1901 1902* Fixed various compile and install errors. 1903* Fixed error when block commenting plain text. 1904* Fixed occasional crash when getting the lexer name in a multi-language lexer. 1905 1906Changes: 1907 1908* [`events.disconnect()`][] now accepts function argument instead of ID. 1909* `buffer.filename` and all internal filenames are no longer encoded in 1910 UTF-8, but in [`_CHARSET`][]. 1911* Removed many unused Scintilla constants and stripped many constants of `SC` 1912 and `SC_` prefixes. 1913* Changed marker margin symbols via *properties.lua*. 1914* Calling `textadept.editing.select_word()` repeatedly makes multiple 1915 selections. 1916* Renamed `buffer:convert_eo_ls()` to [`convert_eols()`][]. 1917* Added [`textadept.run.MARK_WARNING`][] marker. 1918* Renamed `textadept.run.compile_command` and `textadept.run.run_command` to 1919 [`compile_commands`][] and [`run_commands`][], respectively. 1920* Renamed `textadept.run.error_detail` to [`error_patterns`][] and changed its 1921 internal structure. 1922* Compile and run commands for languages that support them are now built-in 1923 along with their respective warning and error messages. The supplemental ones 1924 on the wiki are no longer needed. 1925* New [`ui.dialogs`][] module for more user-friendly dialog support. Removed 1926 `ui.filteredlist()` as a result. 1927* Changed [`io.open_file()`][] and [`io.snapopen()`][] to accept tables of files 1928 and paths instead of "\n" delimited strings. 1929* Changed `lexer.get_fold_level()`, `lexer.get_indent_amount()`, 1930 `lexer.get_property()`, and `lexer.get_style_at()` functions to be 1931 [`lexer.fold_level`][], [`lexer.indent_amount`][], [`lexer.property`][], and 1932 [`lexer.style_at`][] tables, respectively. 1933* Added [`lexer.property_int`][] and [`lexer.property_expanded`][] tables. 1934* Changed API for [`lexer.delimited_range()`][] and [`lexer.nested_pair()`][]. 1935* Only enable `fold.by.indentation` property by default in 1936 whitespace-significant languages. 1937 1938[`events.disconnect()`]: api.html#events.disconnect 1939[`_CHARSET`]: api.html#_CHARSET 1940[`convert_eols()`]: api.html#buffer.convert_eols 1941[`textadept.run.MARK_WARNING`]: api.html#textadept.run.MARK_WARNING 1942[`compile_commands`]: api.html#textadept.run.compile_commands 1943[`run_commands`]: api.html#textadept.run.run_commands 1944[`error_patterns`]: api.html#textadept.run.error_patterns 1945[`ui.dialogs`]: api.html#ui.dialogs 1946[`io.open_file()`]: api.html#io.open_file 1947[`io.snapopen()`]: api.html#io.quick_open 1948[`lexer.fold_level`]: api.html#lexer.fold_level 1949[`lexer.indent_amount`]: api.html#lexer.indent_amount 1950[`lexer.property`]: api.html#lexer.property 1951[`lexer.style_at`]: api.html#lexer.style_at 1952[`lexer.property_int`]: api.html#lexer.property_int 1953[`lexer.property_expanded`]: api.html#lexer.property_expanded 1954[`lexer.delimited_range()`]: api.html#lexer.delimited_range 1955[`lexer.nested_pair()`]: api.html#lexer.nested_pair 1956 1957### 7.0 beta 3 (11 Sep 2013) 1958 1959Bugfixes: 1960 1961* User functions that connect to `events.BUFFER_NEW` and `events.VIEW_NEW` are 1962 run on startup. 1963* Fixed potential crash caused by split views. 1964 1965Changes: 1966 1967* Copied constants from `_SCINTILLA.constants` into `buffer`. 1968* Renamed `events.LANGUAGE_MODULE_LOADED` to [`events.LEXER_LOADED`][]. 1969* Renamed `gui` to [`ui`][]. 1970* Renamed `_M.textadept` to [`textadept`][]. 1971* New [`events.INITIALIZED`][] event. 1972* Renamed `buffer:get_style_name()` to `buffer.style_name`. 1973* Renamed `ui.docstatusbar_text` to `ui.bufstatusbar_text`. 1974* Removed `textadept.bookmarks.BOOKMARK_COLOR`, 1975 `textadept.editing.HIGHLIGHT_COLOR`, and `textadept.run.ERROR_COLOR` while 1976 exposing their respective marker and indicator numbers for customization. 1977* Moved buffer IO functions into [`io` module][]. 1978* Updated to [CDK][] 5.0-20130901. 1979 1980[`events.LEXER_LOADED`]: api.html#events.LEXER_LOADED 1981[`ui`]: api.html#ui 1982[`textadept`]: api.html#textadept 1983[`events.INITIALIZED`]: api.html#events.INITIALIZED 1984[`io` module]: api.html#io 1985[CDK]: https://invisible-island.net/cdk/cdk.html 1986 1987### 7.0 beta 2 (11 Aug 2013) 1988 1989Bugfixes: 1990 1991* Fixed bug with theme loading when resetting. 1992* Fixed bug with property settings in `gui.set_theme()` not persisting. 1993* Scintilla: fixed some instances of case conversions. 1994* Scintilla: fixed some instances of word wrapping and improved performance. 1995* Scintilla: fixed minor memory leak. 1996 1997Changes: 1998 1999* New [`gui.maximized`][] field so Textadept can remember its maximized state. 2000* Changed `lexer._tokenstyles` to be a map instead of a list. 2001* Scintilla: improved UTF-8 case-insensitive searching. 2002* Updated to [Scintilla][] 3.3.4. 2003 2004[`gui.maximized`]: api.html#ui.maximized 2005[Scintilla]: https://scintilla.org 2006 2007### 7.0 beta (11 Jul 2013) 2008 2009Bugfixes: 2010 2011* Added file type for Go. 2012* Fixed disorienting scrolling in some instances of splitting views. 2013* Fixed corner-case bug in Lua Pattern "Replace All". 2014 2015Changes: 2016 2017* Renamed `_M.textadept.mime_types` to [`_M.textadept.file_types`][]. 2018* Eliminated *mime_types.conf* files. Add or modify file type tables 2019 [directly][]. 2020* Changed scrollbar look and feel on Mac OSX. 2021 2022[`_M.textadept.file_types`]: api.html#textadept.file_types 2023[directly]: manual.html#file-types 2024 2025### 7.0 alpha 2 (01 Jul 2013) 2026 2027Bugfixes: 2028 2029* Fixed bug in user theme loading. 2030* Fixed "Enter" key autocompletion in the terminal version. 2031* Fixed crash when transposing in an empty buffer. 2032* Fixed bug in find and run double-click event handlers. 2033 2034Changes: 2035 2036* Makefile improvements. See [compiling][] for more information. The source 2037 release is no longer necessary. 2038* Removed `_G._LEXERPATH` and `_L._EXISTS()`. 2039* Renamed Adeptsense image fields. 2040* Renamed `_M.textadept.editing.STRIP_WHITESPACE_ON_SAVE` to 2041 `STRIP_TRAILING_SPACES`. 2042* `_M.textadept.editing.block_comment()` supports block comment delimiters. 2043* Block comments for languages is now built-in. The supplemental ones on the 2044 wiki are no longer needed. 2045* `gui.set_theme()` accepts key-value argument pairs for overriding theme 2046 properties. 2047* Removed `gui.select_theme()` since selected themes do not persist. 2048* Removed `_G.RESETTING` flag. 2049* Consolidated `_M.textadept.bookmarks.goto_*()` functionality into 2050 [`_M.textadept.bookmarks.goto_mark()`][]. 2051* Updated to [LuaJIT][] 2.0.2. 2052* New [nightly builds][]. 2053 2054[compiling]: manual.html#compiling 2055[`_M.textadept.bookmarks.goto_mark()`]: api.html#textadept.bookmarks.goto_mark 2056[LuaJIT]: https://luajit.org 2057[nightly builds]: index.html 2058 2059### 7.0 alpha (01 Jun 2013) 2060 2061Bugfixes: 2062 2063* Scintilla: fixed memory access bug. 2064* Scintilla: fixed crash when pasting in Windows. 2065* Scintilla: fixed some event reporting in GTK 3.x. 2066* Scintilla: fixed undo grouping with tab and backtab. 2067 2068Changes: 2069 2070* Completely new [theme implementation][]. 2071* New [*properties.lua*][] for custom buffer and view properties. 2072* Updated to [Scintilla][] 3.3.3. 2073 2074[theme implementation]: manual.html#themes 2075[*properties.lua*]: manual.html#buffer-settings 2076[Scintilla]: https://scintilla.org 2077 2078### 6.6 (01 Jun 2013) 2079 2080Bugfixes: 2081 2082* Fixed GTK assertion errors in find/replace history. 2083* Command entry loses focus less often. 2084* Allow empty tables as keychains if they have metatables. 2085* Fixed caret placement in block comment/uncomment. 2086* Use '\n' keycode in the terminal version instead of '\r'. 2087* Fixed crash caused by split views. 2088* Scintilla: fixed typing into multiple carets in virtual space. 2089 2090Changes: 2091 2092* Removed `_M[lang].set_buffer_properties()` functions. Set properties through 2093 `events.LANGUAGE_MODULE_LOADED` instead. 2094* Print the results of '=' Lua commands. 2095* Updated D lexer. 2096* Scintilla: added `buffer.INDIC_COMPOSITIONTHICK` indicator. 2097* Updated to [Scintilla][] 3.3.2. 2098 2099[Scintilla]: https://scintilla.org 2100 2101### 6.6 beta (01 May 2013) 2102 2103Bugfixes: 2104 2105* Fixed rendering on Mac OSX retina displays. 2106* Fixed rectangle indicator display in the terminal version. 2107* Fixed Fn key recognition on Mac OSX. 2108* Fixed compile errors for Mac OSX. 2109* Find Previous for Lua patterns works. 2110 2111Changes: 2112 2113* Textadept supports multiple curses platforms, not just ncurses. Make targets 2114 now use "curses" instead of "ncurses". 2115* Better 16-color terminal support in lexer theme. 2116* Reduced the delay when pressing `Esc` in the terminal version. 2117* [Messagebox][] dialogs can show icons via `--icon` and `--icon-file`. 2118* New Win32 terminal version. 2119* New [key modes][] functionality. 2120* Scintilla: added [`buffer.auto_c_order`][] for sorting autocompletion lists. 2121* Updated to [Scintilla][] 3.3.1. 2122* Renamed `_G.buffer_new()` to [`buffer.new()`][]. 2123* Changed the display of highlighted words, including removing 2124 `_M.textadept.editing.INDIC_HIGHLIGHT_ALPHA`. 2125* Changed `_M.textadept.editing.autocomplete_word()` API. 2126* Removed `_M.textadept.menu.menubar`, `_M.textadept.menu.contextmenu`, and 2127 `events.handlers` tables from the API. 2128* Moved `_M.textadept.filter_through` module functionality into 2129 [`_M.textadept.editing.filter_through()`][]. 2130* Mark errors in compile/run commands and added 2131 [`_M.textadept.run.goto_error()`][] menu options and key shortcuts. 2132* Renamed `gui.find.goto_file_in_list()` to [`gui.find.goto_file_found()`][]. 2133* Consolidated `_M.textadept.editing.grow_selection()` functionality into 2134 [`_M.textadept.editing.select_enclosed()`][]. 2135* Renamed `io.try_encodings` to [`io.encodings`][]. 2136* No need for '!' in front of font faces anymore. 2137 2138[Messagebox]: https://orbitalquark.github.io/gtdialog/manual.html#messageboxes 2139[key modes]: api.html#modes 2140[`buffer.auto_c_order`]: api.html#buffer.auto_c_order 2141[Scintilla]: https://scintilla.org 2142[`buffer.new()`]: api.html#buffer.new 2143[`_M.textadept.editing.filter_through()`]: api.html#textadept.editing.filter_through 2144[`_M.textadept.run.goto_error()`]: api.html#textadept.run.goto_error 2145[`gui.find.goto_file_found()`]: api.html#ui.find.goto_file_found 2146[`_M.textadept.editing.select_enclosed()`]: api.html#textadept.editing.select_enclosed 2147[`io.encodings`]: api.html#io.encodings 2148 2149### 6.5 (01 Apr 2013) 2150 2151Bugfixes: 2152 2153* Only consider visible directories in *_USERHOME/themes/* as themes. 2154* Indicator for highlighted words works in ncurses. 2155* Improved message double-clicking behavior for compile and run commands by 2156 adding `_M.textadept.run.cwd`. 2157* Fixed disorienting scrolling when wrapping only one search result. 2158* Fixed crash when attempting to load a non-existant lexer. 2159* Fixed CSS preprocessor styling. 2160* Fixed labels for inputbox dialogs. 2161* Scintilla: fixed some instances of incorrect folded text display. 2162* Scintilla: fixed `buffer:visible_from_doc_line()` to never return a line 2163 beyond the end of the buffer. 2164* Scintilla: fixed `buffer:line_scroll()` for negative columns. 2165* Scintilla: fixed tab marker display when indentation lines are visible. 2166 2167Changes: 2168 2169* Reset Lua state after selecting a new theme. 2170* Added `lfs.dir_foreach()`. 2171* Added file and directory [filtering][] for Find in Files. 2172* Moved `_M.textadept.snapopen` into `io`. 2173* Renamed some [`lexer` constants][]. 2174* Added Less, Literal Coffeescript, and Sass lexers. 2175* Scintilla: added [`buffer:scroll_range()`][] for scrolling ranges into view. 2176* Updated to [Scintilla][] 3.3.0. 2177* Updated to [Lua][] 5.2.2. 2178 2179[filtering]: api.html#ui.find.find_in_files_filter 2180[`lexer` constants]: api.html#lexer.FOLD_BASE 2181[`buffer:scroll_range()`]: api.html#buffer.scroll_range 2182[Scintilla]: https://scintilla.org 2183[Lua]: https://lua.org 2184 2185### 6.4 (01 Mar 2013) 2186 2187Bugfixes: 2188 2189* Dialogs belong to the Textadept window. 2190* Double-clicking a filteredlist item selects it. 2191* Fixed bug in documentation link generator. 2192* Fixed bug with indexable buffer properties that return strings. 2193* Scintilla: fixed scrollbar drawing when toggling visibility. 2194 2195Changes: 2196 2197* Added [command line options][] for loading sessions on startup. 2198* Added [command line options][] for running Lua code on startup. 2199* Updated AWK lexer. 2200* Updated to [Scintilla][] 3.2.5. 2201* Updated to [LuaJIT][] 2.0.1. 2202 2203[command line options]: manual.html#command-line-parameters 2204[Scintilla]: https://scintilla.org 2205[LuaJIT]: https://luajit.org 2206 2207### 6.3 (01 Feb 2013) 2208 2209Bugfixes: 2210 2211* Do not error on non-existant dropped URIs. 2212* Fixed crash in Python module when parsing some syntax error messages. 2213* Scintilla: fixed pasting with NULL bytes. 2214* Scintilla: autocompletion should only have one undo step. 2215* Scintilla: fixed crash when drawing very long lines. 2216* Scintilla: fixed unexpected collapse of selections when extending by 2217 character. 2218 2219Changes: 2220 2221* Use Scintilla API for ncurses mark mode. 2222* Scintilla: added [`buffer.caret_line_visible_always`][] for showing the caret 2223 line despite not having focus. 2224* Updated to [Scintilla][] 3.2.4. 2225* Added [typeover characters][]. 2226 2227[`buffer.caret_line_visible_always`]: api.html#buffer.caret_line_visible_always 2228[Scintilla]: https://scintilla.org 2229[typeover characters]: api.html#textadept.editing.typeover_chars 2230 2231### 6.2 (01 Jan 2013) 2232 2233Bugfixes: 2234 2235* None. 2236 2237Changes: 2238 2239* Greatly improved speed when loading large files. 2240* `make install` and `make ncurses install` install separate binaries on Linux. 2241* Changed API for [`_M.textadept.snapopen.open()`][] and removed `PATHS`. 2242 2243[`_M.textadept.snapopen.open()`]: api.html#io.quick_open 2244 2245### 6.1 (11 Dec 2012) 2246 2247Bugfixes: 2248 2249* Do not set current directory when opening/saving files. 2250* Detect Linux processor arch better. 2251* Recognize special ncurses keys better. 2252* Fixed potential bug with determining `_HOME` on Linux. 2253* Fixed bug when opening non-existent files from the command line. 2254* LuaJIT compiles correctly on ARM now. 2255 2256Changes: 2257 2258* Improved speed and memory usage of lexers. 2259* Better Makefile support for building packages for Linux distros. 2260* Rewrote LuaDoc [API documentation][]. 2261* Added French translation. 2262* Updated to [LuaJIT][] 2.0.0. 2263* Improved speed and memory usage of lexers. 2264* Updated Java lexer. 2265 2266[API documentation]: api.html 2267[LuaJIT]: https://luajit.org 2268 2269### 6.0 (01 Nov 2012) 2270 2271Please see the [5 to 6 migration guide][] for upgrading from Textadept 5 to 2272Textadept 6. 2273 2274Bugfixes: 2275 2276* Handle rapidly pressing `Esc` twice in ncurses dialogs. 2277* Complete transition to `buffer.tab_size` from `buffer.indent`. 2278* Fixed regression in ncurses command selection. 2279* Fixed GUI menu key shortcut handling. 2280* Fixed string collation bug in ncurses due to CDK. 2281* Pass `Esc` to Scintilla correctly in ncurses. 2282* Fix errors when specifying directories and files for file dialogs. 2283* Fixed some operators in Bash lexer. 2284* Scintilla: fixed hang when removing all characters from an indicator at the 2285 the end of a buffer. 2286* Scintilla: fixed crash when drawing margins in GTK 3. 2287* Scintilla: do not draw spaces after an italic style at the end of a line in 2288 the terminal version. 2289 2290Changes: 2291 2292* Added key binding for toggling fold points. 2293* Added ncurses key bindings for bookmarks. 2294* Added [`event.FIND_WRAPPED`][] event. 2295* Removed `_M.textadept.run.execute()`. 2296* Updated documentation and documentation formatting. 2297* Added [Python module][]. 2298* Rewrote Makefile lexer. 2299* Scintilla: improved performance when performing multiple searches. 2300* Updated to [Scintilla][] 3.2.3. 2301* Updated to [LuaJIT][] 2.0.0-beta11. 2302 2303[5 to 6 migration guide]: manual.html#textadept-5-to-6 2304[`event.FIND_WRAPPED`]: api.html#events.FIND_WRAPPED 2305[Python module]: api.html#_M.python 2306[Scintilla]: https://scintilla.org 2307[LuaJIT]: https://luajit.org 2308 2309### 6.0 beta 3 (01 Oct 2012) 2310 2311Bugfixes: 2312 2313* Canceling in `buffer:close()` caused unwanted key propagation. 2314* Correctly emit `RUN_OUTPUT` events. 2315* Fixed bug with extra empty entry in the buffer browser. 2316* Fixed incremental find in ncurses. 2317* Fixed ncurses crash when pasting with no clipboard text. 2318* Keep termios disabled in ncurses CDK widgets. 2319* Do not write ncurses initialization errors over titlebar. 2320* Fixed bug in `string.iconv()`. 2321* Include `_` as identifier char in Desktop lexer. 2322 2323Changes: 2324 2325* Attempt to autodetect locale using `LANG` environment variable. 2326* Removed `_M.textadept.menu.rebuild_command_tables()`. 2327* Manual and Lua API documentation largely re-written. 2328* Key Bindings reference moved from Appendix to [`_M.textadept.keys`][] LuaDoc. 2329* Plain text lexer name changed from `container` to `text`. 2330* New application icon. 2331* Removed `./?.lua` and `./?.so` from `package.path` and `package.cpath`, 2332 respectively. 2333* Added marks for making selections in ncurses. 2334 2335[`_M.textadept.keys`]: api.html#textadept.keys 2336 2337### 6.0 beta 2 (01 Sep 2012) 2338 2339Bugfixes: 2340 2341* Disabled `--help` option to ncurses version due to terminal output mangling. 2342* ncurses replace entry can now be focused. 2343* Fixed ncurses memory leaks. 2344* Fixed multiple selection in Mac OSX. 2345* Show key shortcuts in ncurses `_M.textadept.menu.select_command()`. 2346* Scintilla: fixed rectangular selection range after backspacing. 2347* Scintilla: fixed bug with negative ranges in call tip highlighting. 2348 2349Changes: 2350 2351* Added `make install` and `make uninstall` rules for optional installation. 2352* Updated manual with ncurses key bindings. 2353* Consolidated `_M.textadept.bookmarks.add()` and 2354 `_M.textadept.bookmarks.remove()` into [`_M.textadept.bookmarks.toggle()`][]. 2355* Updated manual images. 2356* `_M.textadept.snapopen.DEFAULT_DEPTH` is now `99` since `MAX` is the limiting 2357 factor. 2358* Use constant names in theme options instead of nondescript integers. 2359* Added new [`lexer.last_char_includes()`][] function for better regex 2360 detection. 2361* Updated AWK lexer. 2362* Scintilla: added [`buffer.selection_empty`][]. 2363* Scintilla: added [`buffer:vc_home_display()`][] and 2364 [`buffer:vc_home_display_extend()`][] for navigating wrapped lines. 2365* Updated to [Scintilla][] 3.2.2. 2366 2367[`_M.textadept.bookmarks.toggle()`]: api.html#textadept.bookmarks.toggle 2368[`lexer.last_char_includes()`]: api.html#lexer.last_char_includes 2369[`buffer.selection_empty`]: api.html#buffer.selection_empty 2370[`buffer:vc_home_display()`]: api.html#buffer.vc_home_display 2371[`buffer:vc_home_display_extend()`]: api.html#buffer.vc_home_display_extend 2372[Scintilla]: https://scintilla.org 2373 2374### 6.0 beta (01 Aug 2012) 2375 2376Bugfixes: 2377 2378* Lots of bugfixes to the experimental ncurses version. 2379* Fixed bug with `$$` variables in Perl lexer. 2380* Scintilla: do not show empty autocompletion list if 2381 `buffer.auto_c_choose_single` is set. 2382* Scintilla: fixed `buffer:marker_delete()` to only delete one marker per call. 2383* Scintilla: fixed caret positioning after undoing multiple deletions. 2384* Scintilla: fixed margin drawing after `buffer.margin_style` is altered. 2385* Scintilla: fixed margin click handling. 2386* Scintilla: fixed hang when drawing block carets on a zero-width space at the 2387 beginning of a buffer. 2388* Scintilla: fixed crash deleting negative ranges. 2389* Scintilla: fixed drawing of overlapping characters. 2390 2391Changes: 2392 2393* Removed Lua, Ruby, and PHP modules' `goto_required()` functions. 2394* Moved `_M.textadept.editing.prepare_for_save()` directly into event handler. 2395* Moved `_M.textadept.session.prompt_load()` and `prompt_save()` functionality 2396 into [`_M.textadept.session.load()`][] and [`_M.textadept.session.save()`][]. 2397* Removed `_G.user_dofile()`. 2398* Converted some `buffer` "get" and "set" functions into properties. 2399* Moved `_M.textadept.adeptsense.complete_symbol()` and `show_documentation()` 2400 functionality into `_M.textadept.adeptsense.complete()` and `show_apidoc()`. 2401* New 64-bit Windows version (note: without LuaJIT). 2402* Updated Perl lexer. 2403* Scintilla: added [`buffer.punctuation_chars`][], [`buffer.word_chars`][], and 2404 [`buffer.whitespace_chars`][] for manipulating character sets. 2405* Updated to [Scintilla][] 3.2.1. 2406 2407[`_M.textadept.session.load()`]: api.html#textadept.session.load 2408[`_M.textadept.session.save()`]: api.html#textadept.session.save 2409[`buffer.punctuation_chars`]: api.html#buffer.punctuation_chars 2410[`buffer.word_chars`]: api.html#buffer.word_chars 2411[`buffer.whitespace_chars`]: api.html#buffer.whitespace_chars 2412[Scintilla]: https://scintilla.org 2413 2414### 5.5 beta (01 Jul 2012) 2415 2416Bugfixes: 2417 2418* None. 2419 2420Changes: 2421 2422* Experimental ncurses support. 2423* No more `'gtk-'` stock menu item support and changed `'separator'` to `''`. 2424* Renamed `gui.gtkmenu()` to [`gui.menu()`][]. 2425* Changed `gui.statusbar_text` to be write-only. 2426* Changed 'Quit' key command to 'Ctrl+Q' on Win32 and Linux. 2427* Show text that could not be localized. 2428* Changed `make` commands for [compiling][] Textadept. 2429* x86\_64 binary provides `libpng12` executables by default. 2430* Can cross compile to Mac OSX from Linux. 2431* Updated AWK lexer. 2432* Updated HTML lexer to recognize HTML5 'script' and 'style' tags. 2433* Updated to [Lua 5.2.1][]. 2434* Updated to [LuaJIT][] 2.0.0-beta10. 2435 2436[`gui.menu()`]: api.html#ui.menu 2437[compiling]: manual.html#compiling 2438[Lua 5.2.1]: https://www.lua.org/manual/5.2/ 2439[LuaJIT]: https://luajit.org 2440 2441### 5.4 (01 Jun 2012) 2442 2443Bugfixes: 2444 2445* Scintilla: fixed boxed annotation drawing. 2446* Scintilla: fixed virtual space selection bug in rectangular selections. 2447* Scintilla: replacing multiple selections with newlines is a single undo 2448 action. 2449* Scintilla: fixed autocompletion list height in GTK 3. 2450* Scintilla: fixed mouse scrolling due to recent GTK changes. 2451 2452Changes: 2453 2454* Identify more file extensions. 2455* Updated Batch lexer. 2456* Scintilla: `Ctrl+Double Click` and `Ctrl+Triple Click` adds words and lines, 2457 respectively, to selections. 2458* Scintilla: added [`buffer:delete_range()`][] for deleting ranges of text. 2459* Scintilla: added `buffer.WRAPVISUALFLAG_MARGIN` for drawing wrap markers in 2460 margins. 2461* Scintilla: improved UTF-8 validity checks. 2462* Updated to [Scintilla][] 3.2.0. 2463 2464[`buffer:delete_range()`]: api.html#buffer.delete_range 2465[Scintilla]: https://scintilla.org 2466 2467### 5.3 (01 May 2012) 2468 2469Bugfixes: 2470 2471* Fixed bug with run/compile commands in LuaJIT version. 2472* User annotation preferences are preserved. 2473* Fixed bug with number representation in some locales. 2474* Scintilla: fixed selection drawing in word wrap indentation. 2475* Scintilla: fixed styling bug. 2476* Scintilla: fixed problems with drawing in margins. 2477* Scintilla: fixed corner case in `buffer:move_selected_lines_*()`. 2478* Scintilla: fixed scrolling with mousewheel. 2479* Scintilla: fixed column calculations to count tabs correctly. 2480 2481Changes: 2482 2483* Annotations are used for showing run/compile command output. 2484* Textadept is [single-instance][] by default on Linux and Mac OSX. 2485* Textadept requires [GTK][] 2.18 or higher now instead of 2.16. 2486* The provided Textadept binaries [require][] [GLib][] 2.28 or higher. 2487* Scintilla: added `buffer.auto_c_case_insensitive_behaviour` for 2488 controlling case sensitivity in autocompletion lists. 2489* Scintilla: `\0` in regex replacements represents the full found text. 2490* Updated to [Scintilla][] 3.1.0. 2491 2492[single-instance]: manual.html#single-instance 2493[GTK]: https://gtk.org 2494[require]: manual.html#requirements 2495[GLib]: https://gtk.org/download/linux.php 2496[Scintilla]: https://scintilla.org 2497 2498### 5.2 (01 Apr 2012) 2499 2500Bugfixes: 2501 2502* Fixed LuaDoc for `buffer:get_lexer()`. 2503* Fixed bug with relative paths from command line files. 2504* `buffer:get_lexer(true)` is used more often when it should be. 2505* Improved message double-clicking behavior for run and compile commands. 2506* Scintilla: line and selection duplication is one undo action. 2507* Scintilla: allow indicators to be set for entire document. 2508* Scintilla: fixed crash in `buffer:move_selected_lines_*()`. 2509* Scintilla: fixed image and fold marker drawing. 2510* Scintilla: fixed some instances of multiple clicks in margins. 2511* Scintilla: fixed `buffer:page_*()` not returning to the original line. 2512* Scintilla: fixed various issues with wrapped lines. 2513* Scintilla: fixed line end selection drawing. 2514 2515Changes: 2516 2517* `_M.set_buffer_properties()` is now optional for language modules. 2518* Added keypad keys to `keys.KEYSYMS`. 2519* `_G.timeout()` accepts fractional seconds. 2520* Replaced `scripts/update_doc` with `src/Makefile` targets. 2521* New Manual and LuaDoc HTML page formatting. 2522* `_M.textadept.editing.autocomplete_word()` accepts default words. 2523* Added documentation on [generating LuaDoc][] and Lua Adeptsense. 2524* Moved `Markdown:` comments into LuaDoc. 2525* Added Spanish and German translations. 2526* Updated VB and VBScript lexers. 2527* Improved the speed of simple code folding. 2528* Use [GTK][] 2.24 on Windows. 2529* Updated to [Scintilla][] 3.0.4. 2530 2531[generating LuaDoc]: manual.html#generating-luadoc 2532[GTK]: https://gtk.org 2533[Scintilla]: https://scintilla.org 2534 2535### 5.1 (01 Mar 2012) 2536 2537Bugfixes: 2538 2539* Fixed crash caused by `gui.filteredlist()` dialogs. 2540* Support multiple `@return` tags in Lua Adeptsense. 2541* Fixed display of `buffer._type` when it has slashes in its name. 2542 2543Changes: 2544 2545* Better Lua Adeptsense formatting. 2546* Use new Cocoa-based [GtkOSXApplication][] library for better OSX support. 2547* Lexers with no tokens can be styled manually. 2548* Added more OSX default key shortcuts. 2549 2550[GtkOSXApplication]: https://live.gnome.org/GTK%2B/OSX/Integration#Gtk-mac-integration.2BAC8-GtkOSXApplication 2551 2552### 5.0 (01 Feb 2012) 2553 2554Please see the [4 to 5 migration guide][] for upgrading from Textadept 4 to 2555Textadept 5. 2556 2557Bugfixes: 2558 2559* Fixed bug with recent files in sessions. 2560* Scintilla: fixed page up/down in autocompletion lists. 2561* Scintilla: fixed fold highlighting. 2562 2563Changes: 2564 2565* Added default extension and folder filters in 2566 `modules/textadept/snapopen.lua`. 2567* Added ChucK lexer. 2568* Updated Lua lexer. 2569* Updated to [Scintilla][] 3.0.3. 2570* Also include [LuaJIT][] executables in releases. 2571 2572[4 to 5 migration guide]: manual.html#textadept-4-to-5 2573[Scintilla]: https://scintilla.org 2574[LuaJIT]: https://luajit.org 2575 2576### 5.0 beta (11 Jan 2012) 2577 2578Bugfixes: 2579 2580* Fixed bug in `reset()` from update to Lua 5.2. 2581 2582Changes: 2583 2584* Changed `locale.localize()` to global [`_L`][] table and removed `locale` 2585 module. 2586* Renamed `_m` to [`_M`][]. 2587* Do not clear registered images when autocompleting with Adeptsense. 2588* Renamed editing module's `current_word()` to [`select_word()`][]. 2589* Updated [manual][]. 2590* Updated D lexer. 2591 2592[`_L`]: api.html#_L 2593[`_M`]: api.html#_M 2594[manual]: manual.html 2595[`select_word()`]: api.html#textadept.editing.select_word 2596 2597### 5.0 alpha (21 Dec 2011) 2598 2599Bugfixes: 2600 2601* Fixed bug in Matlab lexer for operators. 2602* Fixed highlighting of variables in Bash. 2603* Fixed multi-line delimited and token strings in D lexer. 2604 2605Changes: 2606 2607* Updated to [Lua 5.2][]. 2608* Updated sections in the [manual][] to reflect Lua 5.2 changes. 2609* Textadept can be compiled with [LuaJIT][]. 2610 2611[Lua 5.2]: https://www.lua.org/manual/5.2/ 2612[manual]: manual.html 2613[LuaJIT]: https://luajit.org 2614 2615### 4.3 (01 Dec 2011) 2616 2617Bugfixes: 2618 2619* Fixed bug with opening files in the current directory from the command line. 2620* Fixed erroneous charset conversion. 2621* Fixed bug with folding line comments. 2622* Scintilla: fixed drawing at style boundaries on Mac OSX. 2623* Scintilla: fixed crash when painting uninitialized pixmaps. 2624 2625Changes: 2626 2627* Added on-the-fly theme switching. 2628* All new `light` and `dark` themes. 2629* Removed `_m.textadept.editing.select_style()`. 2630* Simplify theming via [gtkrc][] by naming `GtkWindow` only. 2631* Added [`lexer.REGEX`][] and [`lexer.LABEL`][] tokens. 2632* Updated to [Scintilla][] 3.0.1. 2633 2634[gtkrc]: manual.html#gui-theme 2635[`lexer.REGEX`]: api.html#lexer.REGEX 2636[`lexer.LABEL`]: api.html#lexer.LABEL 2637[Scintilla]: https://scintilla.org 2638 2639### 4.2 (01 Nov 2011) 2640 2641Bugfixes: 2642 2643* Fixed bug with `%n` in Replace introduced in 4.1. 2644* Fixed Adeptsense autocomplete for single item. 2645* Scintilla: fixed annotation drawing in multiple, wrapped views. 2646 2647Changes: 2648 2649* Scintilla: drawing improvements and various optimizations. 2650* Scintilla: call tips can be displayed above text. 2651* Updated to [Scintilla][] 3.0.0. 2652 2653[Scintilla]: https://scintilla.org 2654 2655### 4.1 (01 Oct 2011) 2656 2657Bugfixes: 2658 2659* Only fold when clicking on fold margin, not any sensitive one. 2660* Fixed bug with `CALL_TIP_CLICK` event disconnect in Adeptsense. 2661* Fixed bug with autocomplete and capitalization. 2662* Scintilla: fixed incorrect mouse cursor changes. 2663* Scintilla: fixed end-of-document indicator growth. 2664 2665Changes: 2666 2667* Handle mouse [dwell events][] `DWELL_START` and `DWELL_END`. 2668* Rearranged `Tools` menu slightly. 2669* Slight API changes: 2670 + [`_BUFFERS`][] and [`_VIEWS`][] structure changed. 2671 + Removed `buffer.doc_pointer` and `view.doc_pointer`. 2672 + Added [`view.buffer`][] field. 2673 + Renamed `gui.check_focused_buffer()` to `buffer:check_global()`. 2674 + [`view:goto_buffer()`][] and [`gui.goto_view()`][] arguments make sense now. 2675 (May require changes to custom key bindings.) 2676* Directory is remembered in file chooser dialog after open or save as. 2677* Added language-specific [context menu][] support. 2678* Use [LuaCoco][] patch for Lua 5.1.4. 2679* Use lexer at the caret for key bindings and snippets. 2680* Added `selected` and `monospaced-font` options for dropdown and textbox 2681 dialogs, respectively. 2682* Updated to [Scintilla][] 2.29. 2683 2684[dwell events]: api.html#events 2685[`_BUFFERS`]: api.html#_BUFFERS 2686[`_VIEWS`]: api.html#_VIEWS 2687[`view.buffer`]: api.html#view.buffer 2688[`view:goto_buffer()`]: api.html#view.goto_buffer 2689[`gui.goto_view()`]: api.html#ui.goto_view 2690[context menu]: api.html#_M.Context.Menu 2691[LuaCoco]: https://coco.luajit.org/ 2692[Scintilla]: https://scintilla.org 2693 2694### 4.0 (01 Sep 2011) 2695 2696Please see the [3 to 4 migration guide][] for upgrading from Textadept 3 to 2697Textadept 4. 2698 2699Bugfixes: 2700 2701* Makefile should only link to `libdl.so` on Linux/BSD. 2702* Fixed memory access bug in `gui.dialog()`. 2703* Autocompletion list sort order respects `buffer.auto_c_ignore_case` now. 2704* Fixed split view focus bug with the same buffer in two views. 2705* Set new buffer EOL mode properly on Mac OSX. 2706* Fixed some general bugs in folding. 2707 2708Changes: 2709 2710* Added Russian translation. 2711* Changed some key bindings from 4.0 beta 2. 2712* Do not hide the statusbar when the command entry has focus. 2713 2714[3 to 4 migration guide]: manual.html#textadept-3-to-4 2715 2716### 4.0 beta 2 (11 Aug 2011) 2717 2718Bugfixes: 2719 2720* Fixed transpose characters bug at end of buffer. 2721* Do not autosave over explicitly loaded session. 2722* Fixed startup crash on Mac OSX. 2723* Fixed resize crash on Mac OSX Lion. 2724 2725Changes: 2726 2727* Added Scala lexer. 2728* Add [recent file list][] to session files. 2729* Autocomplete supports multiple selections. 2730* Swapped OSX `c` and `m` key command definition modifiers. 2731* Changed some key bindings from 4.0 beta. 2732 2733[recent file list]: api.html#io.recent_files 2734 2735### 4.0 beta (01 Aug 2011) 2736 2737Bugfixes: 2738 2739* Fixed Markdown lexer styles. 2740* Fixed bug when setting both dialog with and height. 2741* Scintilla: fixed incorrect mouse cursor changes. 2742* Scintilla: fixed bug with annotations beyond the document end. 2743* Scintilla: fixed incorrect drawing of background colors and translucent 2744 selection. 2745* Scintilla: fixed lexer initialization. 2746* Scintilla: fixed some instances of fold highlight drawing. 2747* Scintilla: fixed some cases of case insensitive searching. 2748 2749Changes: 2750 2751* Mac OSX uses GTK 2.24. 2752* Added [`io.open_recent_file()`][]. 2753* Changes to localization file again. 2754* [`buffer`][] functions may omit the first `buffer` argument (e.g. 2755 `buffer.line_down()` is allowed). 2756* Complete overhaul of menus and added accelerators to [menu][] items. 2757* Renamed `_m.textadept.editing.SAVE_STRIPS_WS` to 2758 [`_m.textadept.editing.STRIP_WHITESPACE_ON_SAVE`][]. 2759* Renamed `_m.textadept.editing.select_scope()` to 2760 `_m.textadept.editing.select_style()`. 2761* *Completely new set of key bindings.* 2762* Scintilla: translucent RGBA images can be used in margins and autocompletion 2763 and user lists. 2764* Scintilla: added new `buffer.INDIC_DOTBOX` indicator. 2765* Scintilla: IME input now works. 2766* Scintilla: `Ctrl+Shift+U` used for Unicode input. 2767* Updated to [Scintilla][] 2.28. 2768 2769[`io.open_recent_file()`]: api.html#io.open_recent_file 2770[`buffer`]: api.html#buffer 2771[`_m.textadept.editing.STRIP_WHITESPACE_ON_SAVE`]: api.html#textadept.editing.STRIP_WHITESPACE_ON_SAVE 2772[menu]: api.html#ui.menu 2773[Scintilla]: https://scintilla.org 2774 2775### 3.9 (01 Jul 2011) 2776 2777Bugfixes: 2778 2779* Fixed bug for when `gui.dialog()` steals focus. 2780* Colors are now styled correctly in the Properties lexer. 2781* Scintilla: fixed bug with wrong colors being drawn. 2782* Scintilla: fixed font leak. 2783* Scintilla: fixed automatic scrolling for wrapped lines. 2784* Scintilla: fixed multiple selection typing when selections collapse. 2785* Scintilla: expand folds when needed in word wrap mode. 2786* Scintilla: fixed edge line drawing for wrapped lines. 2787* Scintilla: fixed unnecessary scrolling in `buffer:goto_line()`. 2788* Scintilla: fixed undo functionality when deleting within virtual space. 2789 2790Changes: 2791 2792* Added support for [GTK][] 3.0. 2793* Use ID generator [functions][] for marker, indicator, and user list IDs. 2794* Scintilla: added [`buffer:set_empty_selection()`][] for setting selections 2795 without scrolling or redrawing. 2796* Scintilla: added new `buffer.INDIC_DASH`, `buffer.INDIC_DOTS`, and 2797 `buffer.INDIC_SQUIGGLELOW` indicators. 2798* Scintilla: added option to allow margin clicks to select wrapped lines. 2799* Updated to [Scintilla][] 2.27. 2800* Use string constants for event names. 2801* Compile and run commands [emit events][]. 2802* Enhanced Luadoc and Lua Adeptsense. 2803* Added `fold.line.comments` property for folding multiple single-line comments. 2804* Use [GTK][] 2.22 on Windows. 2805* Can localize the labels and buttons in the GUI [find][] frame. 2806* Added ConTeXt lexer and updated Coffeescript, HTML, LaTeX, and TeX lexers. 2807* Multiple single-line comments can be folded with the `fold.line.comments` 2808 property set to `1`. 2809 2810[GTK]: https://gtk.org 2811[functions]: api.html#_SCINTILLA 2812[`buffer:set_empty_selection()`]: api.html#buffer.set_empty_selection 2813[Scintilla]: https://scintilla.org 2814[emit events]: api.html#events.COMPILE_OUTPUT 2815[find]: api.html#ui.find 2816 2817### 3.8 (11 Jun 2011) 2818 2819Bugfixes: 2820 2821* Removed non-existant key chain. 2822* Fixed bug in snippets. 2823* Fixed bug in lexers that fold by indentation. 2824* Scintilla: fixed indentation guide drawing on the first line. 2825* Scintilla: fixed display of folds for wrapped lines. 2826* Scintilla: fixed various GTK-related bugs. 2827 2828Changes: 2829 2830* Updated Adeptsense and documentation. 2831* `events.handlers` is accessible. 2832* Added menu mnemonics for indentation size. 2833* Added support for indicator and hotspot [events][]. 2834* Updated [documentation][] for installing [official modules][]. 2835* Scintilla: allow highlighting of margin symbols for the current folding block. 2836* Scintilla: added [`buffer:move_selected_lines_up()`][] and 2837 [`buffer:move_selected_lines_down()`][] for moving lines. 2838* Scintilla: added new `buffer.INDIC_STRAIGHTBOX` indicator. 2839* Scintilla: indicators can be used for brace matching. 2840* Scintilla: translucency can be changed for `buffer.INDIC_*BOX` indicators. 2841* Scintilla: improved text drawing and measuring. 2842* Updated to [Scintilla][] 2.26. 2843* Writing custom folding for lexers is much [easier][] now. 2844* Added native folding for more than 60% of existing lexers. The rest still use 2845 folding by indentation by default. 2846* Added regex support for Coffeescript lexer. 2847* Embed Coffeescript lexer in HTML lexer. 2848 2849[events]: api.html#events 2850[documentation]: manual.html#getting-modules 2851[official modules]: https://github.com/orbitalquark/textadept-modules 2852[`buffer:move_selected_lines_up()`]: api.html#buffer.move_selected_lines_up 2853[`buffer:move_selected_lines_down()`]: api.html#buffer.move_selected_lines_down 2854[Scintilla]: https://scintilla.org 2855[easier]: api.html#code-folding 2856 2857### 3.7 (01 May 2011) 2858 2859Bugfixes: 2860 2861* Fixed bug in `buffer:get_lexer()`. 2862 2863Changes: 2864 2865* Changed Mac OSX Adeptsense complete key command from `~` to `Ctrl+Escape`. 2866* Added PHP module. 2867 2868### 3.7 beta 3 (01 Apr 2011) 2869 2870Bugfixes: 2871 2872* Small Adeptsense bugfixes. 2873* Snapopen respects filesystem encoding. 2874* Standard input dialogs have "Cancel" button by default. 2875* Scintilla: fixed performance with the caret on a long line. 2876 2877Changes: 2878 2879* Adeptsense tweaks for better completion and apidoc support. 2880* Language modules load a user `post_init.lua` script if it exists. 2881* Added Ruby on Rails lexer and module. 2882* Added RHTML module. 2883* Updated mime-types and prioritize by shebang, pattern, and then file 2884 extension. 2885* `buffer:get_lexer(true)` returns the lexer at the caret position. 2886* Adeptsense can be triggered in embedded lexers now. 2887* Added C standard library and Lua C API to C/C++ Adeptsense. 2888* Lua module fields are now in Lua Adeptsense. 2889* Updated to [Scintilla][] 2.25. 2890* Rewrote [`_m.textadept.snippets`][] with syntax changes. 2891* `Alt+I` (`Ctrl+I` on Mac OSX) is now "Select Snippet" instead of "Show Style". 2892 "Show Style" is now `Ctrl+Alt+Shift+I` (`Ctrl+Apple+Shift+I`). 2893* Adeptsense can exclude types matched by `sense.syntax.type_declarations` 2894 patterns. 2895* `Ctrl+T, V` (`Apple+T, V` on Mac OSX) keychain for toggling whitespace, wrap, 2896 etc. is now `Ctrl+Shift+B` (`Apple+Shift+B`). 2897* Key bindings and menu definition syntax changed. 2898* Snapopen allows for multiple-selection. 2899* `gui.print()` handles `nil` and non-string arguments properly. 2900* Officially supported modules have their own [repository][] and are available 2901 as a separate download. 2902* Added cancel button to standard dialogs. 2903 2904[Scintilla]: https://scintilla.org 2905[`_m.textadept.snippets`]: api.html#textadept.snippets 2906[repository]: https://github.com/orbitalquark/textadept-modules 2907 2908### 3.7 beta 2 (01 Mar 2011) 2909 2910Bugfixes: 2911 2912* Fixed bug with Win32 paths in Adeptsense `goto_ctag()`. 2913* Adeptsense could not recognize some symbols. 2914* Handle `\n` sequences correctly in Adeptsense apidoc. 2915* Fixed bug with Adeptsense C/C++ type declarations. 2916* Adeptsense can now recognize more than 1 level of inheritence. 2917* Keychain is cleared on key command error. 2918* Fixed infinite loop bug in `_m.textadept.editing.select_scope()`. 2919* Fixed bug with nested embedded lexers. 2920* Scintilla: fixed memory leak. 2921* Scintilla: fixed double-click behavior around word boundaries. 2922* Scintilla: right-click cancels autocompletion. 2923* Scintilla: fixed some virtual space problems. 2924* Scintilla: fixed unnecessary redrawing. 2925* Scintilla: fixed rectangular selection creation performance. 2926 2927Changes: 2928 2929* Scintilla: `events.UPDATE_UI` now occurs when scrolling. 2930* Scintilla: added per-margin mouse cursors. 2931* Updated to [Scintilla][] 2.24. 2932* Updated mime-types. 2933* Line margin width is now `4`. 2934* Adeptsense completion list images are accessible via scripts. 2935* Added class context completion to Adeptsense. 2936* Added class type-inference through variable assignment to Adeptsense. 2937* Added Adeptsense tutorial. 2938* Added `_m.textadept.adeptsense.always_show_globals` setting for showing 2939 globals in completion lists. 2940* `Ctrl+H` (highlight word) is now `Ctrl+Shift+H`. 2941* `Ctrl+H` now shows Adeptsense documentation. 2942* Added Adeptsense `complete()` and `show_documentation()` functions to the 2943 menu. 2944* Language modules condensed into single `init.lua` file. 2945* Added `sense.syntax.word_chars` to Adeptsense. 2946* Included libpng12 build for 64-bit Debian-based Linux distros (Ubuntu). 2947* Added [CSS][], [HTML][], Java, and [Ruby][] modules with Adeptsenses. 2948* Updated BibTeX lexer. 2949 2950[Scintilla]: https://scintilla.org 2951[CSS]: api.html#_M.css 2952[HTML]: api.html#_M.html 2953[Ruby]: api.html#_M.ruby 2954 2955### 3.7 beta (01 Feb 2011) 2956 2957Bugfixes: 2958 2959* `update_ui` is called properly for `buffer_new` and `view_new` events. 2960* Use proper pointer type for Scintilla calls. 2961* Fixed bug with loading lexers from `_USERHOME` on Win32. 2962 2963Changes: 2964 2965* More informative error message for unfocused buffer. 2966* Added Adeptsense, a smarter form of autocompletion for programming languages. 2967* Emit a `language_module_loaded` as appropriate. 2968* Added indentation settings to "Buffer" menu (finally). 2969* Added `gui.filteredlist()` shortcut for `gui.dialog('filteredlist', ...)`. 2970* Can navigate between bookmarks with a filteredlist. 2971* Language-specific [`char_matches`][] and [`braces`][] can be defined. 2972* `command_entry_keypress` event accepts modifier keys. 2973* Updated BibTeX and Lua lexers. 2974 2975[`char_matches`]: api.html#textadept.editing.auto_pairs 2976[`braces`]: api.html#textadept.editing.brace_matches 2977 2978### 3.6 (01 Jan 2011) 2979 2980Bugfixes: 2981 2982* Fixed infinite recursion errors caused in events. 2983* Fix statusbar update bug with key chains. 2984* Do not emit `buffer_new` event when splitting the view. 2985* Fixed comment bug in Caml lexer. 2986 2987Changes: 2988 2989* `buffer.rectangular_selection_modifier` on Linux is the Super/Windows key. 2990* Improved HTML lexer. 2991* Added Markdown, BibTeX, CMake, CUDA, Desktop Entry, F#, GLSL, and Nemerle 2992 lexers. 2993* Added [`_m.textadept.filter_through`][] module for [shell commands][]. 2994* Moved GUI events from `core/events.lua` to `core/gui.lua`. 2995* Separated key command manager from key command definitions. 2996 2997[`_m.textadept.filter_through`]: api.html#textadept.editing.filter_through 2998[shell commands]: manual.html#shell-commands-and-filtering-text 2999 3000### 3.5 (01 Dec 2010) 3001 3002Bugfixes: 3003 3004* Fixed bug introduced when exposing Find in Files API. 3005* Fixed bug in Tcl lexer with comments. 3006 3007Changes: 3008 3009* Lua files are syntax-checked for errors on save. 3010* [Menus][] are easier to create. 3011* Changed `_m.textadept.editing.enclose()` behavior. 3012* Win32 and Mac OSX packages are all-in-one bundles; GTK is no longer an 3013 external dependency. 3014* New [manual][]. 3015* Added [`file_after_save`][] event. 3016 3017[Menus]: api.html#textadept.menu 3018[manual]: manual.html 3019[`file_after_save`]: api.html#events.FILE_AFTER_SAVE 3020 3021### 3.4 (01 Nov 2010) 3022 3023Bugfixes: 3024 3025* Fixed menu item conflicts. 3026* Pressing `Cancel` in the [Switch Buffers][] dialog does not jump to the 3027 selected buffer anymore. 3028* Autocomplete lists sort properly for machines with a different locale. 3029* Statusbar is not cleared when set from a key command. 3030* Unreadable files are handled appropriately. 3031* Scintilla: fixed scrolling bug where caret was not kept visible. 3032* Scintilla: fixed caret position caching after autocompletion. 3033* Scintilla: fixed paging up/down in virtual space. 3034* Scintilla: fixed crash with negative arguments passed to 3035 `buffer:marker_add()` and `buffer:marker_add_set()`. 3036* Scintilla: dwell notifications are not emitted when the mouse is outside the 3037 view. 3038 3039Changes: 3040 3041* Multi-language lexers (HTML, PHP, RHTML, etc.) are processed as fast as single 3042 language ones, resulting in a huge speed improvement. 3043* An `update_ui` event is triggered after a Lua command is entered. 3044* `gui.dialog()` can take tables of strings as arguments now. 3045* [`_m.textadept.snapopen.open()`][] takes a recursion depth as a parameter and 3046 falls back on a `DEFAULT_DEPTH` if necessary. 3047* Removed `_m.textadept.editing.smart_cutcopy()` and 3048 `_m.textadept.editing.squeeze()` functions. 3049* Added `_m.textadept.editing.SAVE_STRIPS_WS` option to disable strip whitespace 3050 on save. 3051* Changed locale implementation. Locale files are much easier to create now. 3052* `gui.statusbar_text` is now readable instead of being write-only. 3053* Can [highlight][] all occurances of a word. 3054* Added jsp lexer. 3055* More consistant handling of `\` directory separator for Win32. 3056* Consolidated `textadept.h` and `lua_interface.c` into single `textadept.c` 3057 file. 3058* Added [`_G.timeout()`][] function for calling functions and/or events after a 3059 period of time. 3060* Find in files is accessible through [find API][]. 3061* Updated XML lexer. 3062* Added `search-column` and `output-column` options for filteredlist dialogs. 3063* Scintilla: added [`buffer:contracted_fold_next()`][] for retrieving fold 3064 states. 3065* Scintilla: added `buffer:vertical_centre_caret()`. 3066* Updated to [Scintilla][] 2.22. 3067* Renamed `_G.MAC` to [`_G.OSX`][]. 3068 3069[Switch Buffers]: manual.html#buffers 3070[`_m.textadept.snapopen.open()`]: api.html#io.quick_open 3071[highlight]: manual.html#word-highlight 3072[`_G.timeout()`]: api.html#timeout 3073[find API]: api.html#ui.find.find_in_files 3074[`buffer:contracted_fold_next()`]: api.html#buffer.contracted_fold_next 3075[Scintilla]: https://scintilla.org 3076[`_G.OSX`]: api.html#OSX 3077 3078### 3.3 (01 Oct 2010) 3079 3080Bugfixes: 3081 3082* Fixed buggy snippet menu. 3083* Comments do not need to begin the line in Properties lexer. 3084 3085Changes: 3086 3087* Added [`_m.textadept.snapopen`][] module with menu options for rapidly opening 3088 files. 3089* Added coffeescript lexer. 3090* Updated D and Java lexers. 3091 3092[`_m.textadept.snapopen`]: api.html#io.quick_open 3093 3094### 3.2 (01 Sep 2010) 3095 3096Bugfixes: 3097 3098* Fixed "Replace All" infinite loop bug. 3099* Handle strings properly in Groovy and Vala lexers. 3100* Scintilla: fixed drawing bug after horizontally scrolling too much. 3101* Scintilla: fixed various folding bugs. 3102 3103Changes: 3104 3105* Updated to the new Scintillua that does not required patched Scintilla. 3106* Updated to [Scintilla][] 2.21. 3107 3108[Scintilla]: https://scintilla.org 3109 3110### 3.1 (21 Aug 2010) 3111 3112Bugfixes: 3113 3114* Fixed memory leak in Mac OSX. 3115* Scintilla: fixed crash when searching for empty strings. 3116* Scintilla: fixed lexing and folding bugs when pressing enter at the beginning 3117 of a line. 3118* Scintilla: fixed bug in line selection mode. 3119* Scintilla: fixed alpha indicator value ranges. 3120* Scintilla: fixed compiler errors for some compilers. 3121* Scintilla: fixed memory leak in autocompletion and user lists. 3122 3123Changes: 3124 3125* Refactored key commands to support propagation. 3126* Updated TeX lexer. 3127* Only highlight C/C++ preprocessor words, not the whole line. 3128* Scintilla: added new `buffer.CARETSTICKY_WHITESPACE` caret sticky option. 3129* Scintilla: lexing improvements. 3130* Updated to [Scintilla][] 2.20. 3131* Added Lua autocompletion. 3132 3133[Scintilla]: https://scintilla.org 3134 3135### 3.0 (01 Jul 2010) 3136 3137Please see the [2 to 3 migration guide][] for upgrading from Textadept 2 to 3138Textadept 3. 3139 3140Bugfixes: 3141 3142* None 3143 3144Changes: 3145 3146* More accurate CSS and Diff lexers. 3147 3148[2 to 3 migration guide]: manual.html#textadept-2-to-3 3149 3150### 3.0 beta (21 Jun 2010) 3151 3152Bugfixes: 3153 3154* Fixed Mac OSX paste issue. 3155* Fixed `buffer:text_range()` argcheck problem. 3156* Differentiate between division and regex in Javascript lexer. 3157* Fixed bug with child's main lexer not having a `_tokenstyles` table. 3158* Scintilla: fixed flashing while scrolling. 3159* Scintilla: fixed marker movement when inserting newlines. 3160* Scintilla: fixed middle-click paste in block-selection mode. 3161* Scintilla: fixed selection bounds returned for rectangular selections. 3162* Scintilla: fixed case-insensitive searching for non-ASCII characters. 3163* Scintilla: fixed bad-UTF-8 byte handling. 3164* Scintilla: fixed bug when rectangular selections were extended into multiple 3165 selections. 3166* Scintilla: fixed incorrect caret placement after scrolling. 3167* Scintilla: fixed text disappearing after wrapping bug. 3168* Scintilla: fixed various regex search bugs. 3169* Scintilla: improved scrolling performance. 3170* Scintilla: fixed `Shift+Tab` handling for rectangular selection. 3171 3172Changes: 3173 3174* Remove initial "Untitled" buffer when necessary. 3175* Moved core extension modules into [`textadept`][] module. 3176* New [API][]. 3177* `~/.textadept/init.lua` is created for you if one does not exist. 3178* No more autoload of `~/.textadept/key_commands.lua` and 3179 `~/.textadept/snippets.lua` 3180* Updated Java and D lexers. 3181* Scintilla: added [`buffer.multi_paste`][] for pasting into multiple 3182 selections. 3183* Updated to [Scintilla][] 2.12. 3184* [Abbreviated][] Lua commands in the command entry. 3185* Dynamic command line [arguments][]. 3186* Added statusbar notification on `reset()`. 3187* Added Gtkrc, Prolog, and Go lexers. 3188 3189[`textadept`]: api.html#textadept 3190[API]: api.html 3191[`buffer.multi_paste`]: api.html#buffer.multi_paste 3192[Scintilla]: https://scintilla.org 3193[Abbreviated]: manual.html#lua-command-entry 3194[arguments]: api.html#args 3195 3196### 2.2 (11 May 2010) 3197 3198Bugfixes: 3199 3200* Save buffer before compiling or running. 3201* Fixed error in the manual for `~/.textadept/init.lua` example. 3202* Ignore `file://` prefix for filenames. 3203 3204Changes: 3205 3206* `_USERHOME` comes before `_HOME` in `package.path` so `require` searches 3207 `~/.textadept/` first. 3208 3209### 2.2 beta 2 (01 May 2010) 3210 3211Bugfixes: 3212 3213* Fixed crash with `buffer:text_range()`. 3214* Fixed snippets bug with `%n` sequences. 3215* Respect tab settings for snippets. 3216* Fixed help hanging bug in Win32. 3217* Fixed Lua module commands bug. 3218* Fixed bug with style metatables. 3219* Fixed bug with XML namespaces. 3220 3221Changes: 3222 3223* Added BSD support. 3224* Removed kill-ring from editing module. 3225* [Compile and Run][] commands are in language modules. 3226* [Block comment][] strings are in language modules now. 3227* Remove "Untitled" buffer when necessary. 3228* Moved "Search" menu into "Tools" menu to prevent `Alt+S` key conflict. 3229* Rewrote lexers implementation. 3230* Added Inform, Lilypond, and NSIS lexers. 3231* `_m.textadept.editing.enclosure` is now an accessible table. 3232* Updated D, Java, and LaTeX lexers. 3233 3234[Compile and run]: api.html#_M.Compile.and.Run 3235[Block comment]: api.html#textadept.editing.comment_string 3236 3237### 2.2 beta (01 Apr 2010) 3238 3239Bugfixes: 3240 3241* Fixed transform bug in snippets. 3242* Fixed bug with Io lexer mime-type. 3243* Fixed embedded css/javascript bug in HTML lexer. 3244* Fixed bug in multi-language lexer detection. 3245 3246Changes: 3247 3248* Removed `_m.textadept.mlines` module since Scintilla's multiple selections 3249 supercedes it. 3250* Removed side pane. 3251* New [`gui.dialog('filteredlist', ...)][] from [gtdialog][]. 3252* Can select buffer from filteredlist dialog (replacing side pane buffer list). 3253* Can select lexer from filteredlist dialog. 3254* Can have user `key_commands.lua`, `snippets.lua`, `mime_types.conf`, 3255 `locale.conf` that are loaded by their respective modules. 3256* Added Matlab/Octave lexer and updated Haskell lexer. 3257* Backspace deletes auto-inserted character pairs. 3258* Added notification for session files not found. 3259* Snippets use multiple carets. 3260* Removed api file support. 3261 3262[gtdialog]: https://orbitalquark.github.io/gtdialog 3263[`gui.dialog('filteredlist', ...)]: api.html#ui.dialog 3264 3265### 2.1 (01 Mar 2010) 3266 3267Bugfixes: 3268 3269* Do not close files opened from command line when loading PM session. 3270* Fixed bug for running a file with no path. 3271* Fixed error message for session file not being found. 3272* Fixed key command for word autocomplete on Win32. 3273* Changed conflicting menu shortcut for Lexers menu. 3274* Fixed typos in templates generated by modules PM browser. 3275* Scintilla: fixed crash after adding an annotation and then adding a new line 3276 below it. 3277* Scintilla: fixed `buffer:get_sel_text()`. 3278* Scintilla: fixed some instances of text positioning. 3279* Scintilla: fixed various problems with rectangular selections and rectangular 3280 pastes. 3281* Scintilla: fixed some instances of navigation through and display of wrapped 3282 lines. 3283* Scintilla: fixed drag and drop. 3284* Scintilla: fixed extra background styling at the end of the buffer. 3285* Scintilla: fixed crash when adding markers to non-existant lines. 3286* Scintilla: fixed indentation guide drawing over text in some cases. 3287 3288Changes: 3289 3290* Added Dot and JSON lexers. 3291* Search `_USERHOME` in addition to `_HOME` for themes. 3292* Added command line option for not loading/saving session. 3293* Modified key bindings to be more key-layout agnostic. 3294* Added `reset_before` and `reset_after` events while `textadept.reset()` is 3295 being run. 3296* Reload current lexer module after `textadept.reset()`. 3297* Added `~/.textadept/modules/` to `package.path`. 3298* Scintilla: added support for multiple selections and virtual space. 3299* Scintilla: `buffer.first_visible_line` is no longer read-only. 3300* Scintilla: added [`buffer.whitespace_size`][] for changing the size of visible 3301 whitespace. 3302* Scintilla: added [`buffer.auto_c_current_text`][] for retrieving the currently 3303 selected autocompletion text. 3304* Updated to [Scintilla][] 2.03. 3305* Modified quit and close dialogs to be more readable. 3306 3307[`buffer.whitespace_size`]: api.html#buffer.whitespace_size 3308[`buffer.auto_c_current_text`]: api.html#buffer.auto_c_current_text 3309[Scintilla]: https://scintilla.org 3310 3311### 2.0 (01 Oct 2009) 3312 3313Bugfixes: 3314 3315* Fixed bug with reloading PM width from session file. 3316* Only show a non-nil PM context menu. 3317* Fixed bug in `modules/textadept/lsnippets.lua`. 3318* Fixed bug in `core/ext/mime_types.lua` caused during `textadept.reset()`. 3319* Close all buffers before loading a session. 3320* Identify `shellscript` files correctly. 3321* D lexer no longer has key-command conflicts. 3322 3323Changes: 3324 3325* Refactored `modules/textadept/lsnippets.lua`. 3326* Updated key bindings. 3327* Allow PM modules in the `~/.textadept` user directory. 3328* Added [`style_whitespace`][] to [lexers][] for custom styles. 3329* Added standard `F3` key command for "Find Next" for Windows/Linux. 3330 3331[`style_whitespace`]: api.html#lexer.STYLE_WHITESPACE 3332[lexers]: api.html#lexer 3333 3334### 2.0 beta (31 Jul 2009) 3335 3336Bugfixes: 3337 3338* Alphabetize lexer list. 3339* Fixed some locale issues. 3340* Fixed some small memory leaks. 3341* Try a [list of encodings][] rather than just UTF-8 so "conversion failed" does 3342 not happen so often. 3343* Restore a manually set lexer. 3344 3345Changes: 3346 3347* Removed `_m.textadept.macros` module and respective PM browser (use Lua 3348 instead). 3349* Linux version can be installed and run from anywhere; no need to recompile 3350 anymore. 3351* Added many more [events][] to hook into lots of core functionality. 3352* Updated to [Scintilla][] 1.79. 3353* Run module allows more flexible [compile commands][] and [run commands][]. 3354* Save project manager cursor over sessions. 3355* Allow mime-types and compile and run commands to be user-redefinable in user 3356 scripts. 3357* Use `~/.textadept/` for holding user lexers, themes, sessions, etc. 3358* Added "Help" menu linking to Manual and LuaDoc. 3359* Textadept compiles as C99 code. (Drops Microsoft Visual Studio support.) 3360* Sessions functionality moved to `modules/textadept/session.lua` from 3361 `core/file_io.lua`. 3362* The `char_added` event now passes an int, not a string, to handler functions. 3363* Replaced [cocoaDialog][] and [lua_dialog][] with my C-based [gtdialog][]. 3364* [Incremental find][] via the Lua command entry. 3365* *NO* dependencies other than [GTK][] on _all_ platforms. 3366 3367 + Win32 no longer requires the MSVC++ 2008 Runtime. 3368 + Linux no longer requires `libffi`. 3369 + Mac OSX no longer requires [cocoaDialog][]. 3370 3371* Can cross compile to Win32 from Linux. 3372* Removed confusing `local function` and `local table` LuaDoc. 3373* Rewrote the manual and most of the documentation. 3374 3375[list of encodings]: api.html#io.encodings 3376[events]: api.html#events 3377[Scintilla]: https://scintilla.org 3378[compile commands]: api.html#textadept.run.compile_commands 3379[run commands]: api.html#textadept.run.run_commands 3380[gtdialog]: https://orbitalquark.github.io/gtdialog 3381[lua_dialog]: http://luaforge.net/projects/lua-dialog 3382[cocoaDialog]: http://cocoadialog.sf.net 3383[Incremental find]: manual.html#incremental-find 3384[GTK]: https://gtk.org 3385 3386### 1.6 (01 Apr 2009) 3387 3388Bugfixes: 3389 3390* Fixed `NULL` byte bug associated with Lua interface due to multi-encoding 3391 support. 3392* Find marker is colored consistently. 3393* Fixed issue with buffer browser cursor saving. 3394* Fixed block character insertion issue on GTK-OSX. 3395 3396Updates: 3397 3398* Trimmed theme files. 3399* Added [`file_before_save`][] event. 3400 3401[`file_before_save`]: api.html#events.FILE_BEFORE_SAVE 3402 3403### 1.6 beta (01 Mar 2009) 3404 3405Bugfixes: 3406 3407* Fixed bookmarks bugs. 3408* PM browsers are not re-added to the list again on `textadept.reset()`. 3409* Fixed ctags PM browser bug with filenames. 3410* Marker colors are set for all views now. 3411* Fixed never-ending "reload modified file?" dialog bug. 3412* Fixed key command for `m_snippets.list`. 3413* Fixed issues with `_m.textadept.run` module. 3414* Fixed document modification status bug for unfocused split views. 3415* Fixed filename encoding issues for Windows. 3416 3417Updates: 3418 3419* Added key bindings and menu items to navigate "Find in Files" list. 3420* The `recent_files` popup list behaves better. 3421* Attempt to preserve existing EOL mode for opened files. 3422* Add drag-and-dropped directories to the PM browser list. 3423* Removed `project` PM browser. 3424* Multiple character encoding support for opening and saving files. 3425 3426### 1.5 (20 Feb 2009) 3427 3428Bugfixes: 3429 3430* Fixed some corner cases in Find in Files user interface. 3431* Fixed some OSX key command issues for consistency. 3432* Fixed some key command modifiers for "enclose in" series. 3433 3434Updates: 3435 3436* Consolidated *core/ext/key_commands_{std,mac}.lua* into single 3437 *core/ext/key_commands.lua*. 3438* Can use the `Tab` and `Shift+Tab` keys for snippets now. 3439* Removed support for Textmate-style snippets in favor of Lua-style snippets. 3440* Load drag-and-dropped directories into file browser. 3441* Can toggle showing "dot" files in file browser. 3442* Prompt for file reload when files are modified outside Textadept. 3443* Added `textadept.context_menu` field for right-click inside Scintilla. 3444* Project Manager cursors are saved and restored. 3445* Only use escape sequences in Lua pattern searches. 3446* Rewrote *modules/textadept/run.lua* to be easier to use and configure. 3447* Find in Files marks the selected line for easier reference. 3448* Save special buffers in session file (e.g. error buffer, message buffer, etc.) 3449* Moved mime-types into *core/ext/mime_types.conf* configuration file. 3450* Moved localization into *core/locale.conf* configuration file. 3451 3452### 1.4 (10 Feb 2009) 3453 3454Bugfixes: 3455 3456* Handle empty clipboard properly. 3457* Fixed some widget focus issues. 3458* Fixed a couple Find in Files bugs. 3459* Workaround for GTK-OSX pasting issue. 3460 3461Updates: 3462 3463* Added menu options for changing line endings. 3464* The Project Manager Entry responds better. 3465* Improved Lua State integrity for critical data. 3466* Keep only 10 items in Find/Replace history. 3467* Special buffers are not "Untitled" anymore. 3468* Moved `textadept.locale` table to `_G`. 3469 3470### 1.3 (30 Jan 2009) 3471 3472Bugfixes: 3473 3474* Binary files are opened and handled properly. 3475* Drag-and-dropped files are now opened in the correct split view they were 3476 dropped in. 3477* Fixed some various GTK-OSX UI issues. 3478* Fixed a special case of "Replace All". 3479* Clicking "Ok" closes any error dialogs on init. 3480* Fixed statusbar glitch when creating new buffers. 3481* Windows' CR+LF line endings are handled properly. 3482* Do not go to non-existent buffer index when loading session. 3483* Do not attempt to open non-existent files when double-clicking error messages. 3484 3485Updates: 3486 3487* Look for `~/.ta_theme` for setting Textadept `_THEME`. 3488* `_THEME` can now be a directory path. 3489* Themes now contain their own *lexer.lua* for defining lexer colors. 3490* Added "Find in Files" support. 3491* Can set the Project Manager cursor through Lua. 3492* Look for *~/.ta_modules* to load instead of default modules in *init.lua*. 3493* Added "Replace All" for just selected text. 3494* Removed menu label text in favor of using menu id numbers for menu actions. 3495* Added Find/Replace history. 3496* Use a combo entry for the Project Manager browser entry. 3497* Print messages to a split view instead of switching buffers. 3498 3499### 1.2 (21 Jan 2009) 3500 3501Bugfixes: 3502 3503* None. 3504 3505Updates: 3506 3507* Windows command line support ("Open With Textadept" works too). 3508* New [`_m.textadept.run`][] module for compiling and running programs. Output 3509 is displayed in a message buffer and you can double-click errors and warnings 3510 to go to them in the source file. 3511 3512[`_m.textadept.run`]: api.html#textadept.run 3513 3514### 1.1 (11 Jan 2009) 3515 3516Bugfixes: 3517 3518* Fixed *core/ext/key_commands_std.lua* key conflict (`Ctrl+V`). 3519 3520Updates: 3521 3522* Dramatic speed increase in lexing for large, single-language files. 3523* Added [localization][] support. 3524* Added [bookmarks][] support. 3525* All `require` statements have been moved to *init.lua* for easy module 3526 configuration. 3527* Various improvements to efficiency, speed, and readability of source code. 3528* Manually parse *~/.gtkrc-2.0* on Mac since GTK-OSX does not do it. 3529 3530[localization]: api.html#_L 3531[bookmarks]: api.html#textadept.bookmarks 3532 3533### 1.0 (01 Jan 2009) 3534 3535Bugfixes: 3536 3537* Fixed bug with placeholders in Lua-style snippets. 3538* Fixed view grow/shrink error thrown when the view is not split. 3539* Various fixes to recognize windows directory separators. 3540* Fixed some Find bugs. 3541* Fixed macro recording and playback bugs. 3542 3543Updates: 3544 3545* Added actions for all menu items. 3546* Added Lua interface functions and fields for the [find][] box. 3547* Nearly full Mac OSX support with [GTK-OSX][]. 3548* Compile [LPeg][] and [LuaFileSystem][] libraries into Textadept by default. 3549* Use UTF-8 encoding by default. 3550* Added `light` color theme used by default. 3551* New Textadept icons. 3552* Added a true project manager. 3553 3554[find]: api.html#ui.find 3555[GTK-OSX]: https://www.gtk.org/download/macos.php 3556[LPeg]: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html 3557[LuaFileSystem]: https://keplerproject.github.com/luafilesystem/ 3558 3559### 0.6 (03 Oct 2008) 3560 3561Bugfixes: 3562 3563* Gracefully exit when *core/init.lua* fails to load. 3564 3565Updates: 3566 3567* Windows support! (finally) 3568* [Theming][] support (SciTE theme used by default). 3569* Added `textadept.size` field and save it in session files. 3570* Some C++ API-simplifying changes. 3571* Drag-and-drop files into Textadept works as expected. 3572* Revised [manual][]. 3573* Buffer and View properties are no longer set in C++, but in Lua through 3574 "buffer_new" and "view_new" event handlers respectively. 3575* File types can be recognized by [pattern matching][] the first line. 3576 3577[Theming]: manual.html#themes 3578[manual]: manual.html 3579[pattern matching]: manual.html#file-types 3580 3581### 0.5 (23 Jul 2008) 3582 3583Bugfixes: 3584 3585* Fixed bug in Lua module when there is no matching file to go to. 3586 3587Updates: 3588 3589* Added user-friendly key bindings and menus. 3590* Added 43 more lexers. 3591* Moved block-comment commands from language modules to `textadept.editing` 3592 module. 3593* Updated some Luadoc. 3594 3595### 0.4 (25 Jun 2008) 3596 3597Bugfixes: 3598 3599* Fixed bug with "%" being contained in text to replace. 3600* Fixed compile warnings. 3601* Fixed bug for menu actions on non-focused buffer. 3602 3603Updates: 3604 3605* Added [bookmark][] support through *modules/textadept/bookmarks.lua* (not 3606 loaded by default). 3607* Added icons to Textadept. 3608* Added a modules browser for adding, deleting, and editing modules easily. 3609* Consolidated source files into *textadept.c*, *textadept.h*, and 3610 *lua_interface.c*. 3611* Always load project manager settings from session file if available. 3612* Include *liblua5.1.a* for compiling Lua into Textadept. 3613* Added true [tab-completion][] to Lua command entry. 3614* Added Doxygen documentation for C source files. 3615* Updated Luadoc, and added Textadept manual. 3616 3617[bookmark]: api.html#textadept.bookmarks 3618[tab-completion]: manual.html#command-entry-tab-completion 3619 3620### 0.3 (04 Mar 2008) 3621 3622Bugfixes: 3623 3624* Fixed bug in editing module's `select_indented_block()`. 3625* Fixed empty `buffer.filename` bug in `textadept.io.save_as()`. 3626* Fixed setting of Ruby lexer after detecting filetype. 3627 3628Updates: 3629 3630* Makefile builds Textadept to optimize for small size. 3631* Lua is no longer an external dependency and built into Textadept. 3632* [Zenity][] is no longer a dependency on Linux. [lua_dialog][] is used instead. 3633* Resources from `io.popen()` are handled more appropriately. 3634* Added `textadept.reset()` function for for reloading Lua scripts. 3635* Added new find in files project manager browser. 3636* Fixed some code redundancy and typos in documentation. 3637 3638[Zenity]: https://live.gnome.org/Zenity 3639[lua_dialog]: http://luaforge.net/projects/lua-dialog 3640 3641### 0.2 (20 Dec 2007) 3642 3643Bugfixes: 3644 3645* Fixed command line parameters bug. 3646* Fixed `package.path` precedence bug. 3647* Use 8 style bits by default. 3648 3649Updates: 3650 3651* Scintilla-st. 3652* Lexers. 3653* Improved support for embedded language-specific snippets. 3654 3655### 0.1 (01 Dec 2007) 3656 3657Initial Release 3658