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