Many Enhancements, Fixes, and New Features!
This release includes so many changes that it's a bit hard to summarize โ but here we go, so lock your seat belts and enjoy the ride!
๐จ A Fresh Lookโ
First of all, this is the first release to ship with a new default color scheme, moving away from the one used by our ancestors to further distinguish our identity:
๐งฉ More Iconsโ
We've added several new icons to our icon font distribution:
These are now used in places like the Empty View and the Settings UI:
๐ Better Search UIsโ
The new icons inspired updates to the document and project-wide search/replace interfaces, making them more ergonomic (yes, we still care about ergonomics ๐):
The document search UI also got a minimalist redesign, using less horizontal space in top and bottom modes:
โ๏ธ Improved Settings UIโ
In addition to the new icons, the Settings GUI now includes color filtering:
Also, labels in the settings view now support word wrapping, making long descriptions much easier to read:
Another UI addition: you can now hide tabs by using
the Core: Toggle Tabs
or new config option, for a cleaner more
zen-like editing experience, especially useful when paired with the centerdoc
plugin.
๐ง Smarter Search Replacementsโ
Alongside the visual updates, many functional improvements were made to document and project-wide search/replace. One prominent one is capture groups can now be used in replacement text:
- For regex, use
$[0-9]
- For Lua patterns, use
%[0-9]
๐งฑ Core Improvementsโ
Thanks to Jan, we've added:
- Proper slight hinting of fonts (with a pending PR to fetch user font settings directly from the system via Fontconfig (Linux-only))
- Skip sorting of command view items when no predicate is provided
- Support for dynamically switching the directory monitoring backend which also adds the settings GUI:
๐งช New REPL and Run Commandโ
Here come the new features! A basic REPL and Run command were added, making it easier to test Lua snippets directly against the Pragtical runtime:
These additions should be especially helpful when developing plugins for the editor.
In the future we plan to use the new run
command to provide Profile Guided
Optimized builds of the editor.
๐ฅ๏ธ CLI Improvementsโ
The CLI also received improvements:
- Better help output formatting
- Auto-detection of terminal width for smarter padding and line wrapping
๐ Bug Fixesโ
Thanks to Amer, the following bugs were fixed:
language_python
was broken in the previous update โ now corrected- Line highlighting now defaults to
"no_selection"
language_xml
had a fix where escape sequences were incorrectly defined in strings
There are even more changes that weโve forgotten to mention โ be sure to check the changelog below! Hope you enjoy this release!
Downloads on GitHub.
Changes Logโ
New Featuresโ
- Add REPL and run commands to the CLI (#280)
Fixesโ
-
Fix crash on out of window mouse events (#231)
-
Fix possible on doc close crash when highlighting (#232)
-
Properly saves a cleared binding from settings ui (#240)
-
Doc search fixes and types documentation. (#243)
-
Fix regex find_offsets not substracting offset (#245)
-
"Properly" handle whole line matches on doc search (#246)
-
Return single value on command.prettify_name (#247)
-
Node: skip hidden tab events (#256)
-
Corrections to language_python (#278)
-
Avoid process thread leak on LuaJIT and better solution to call process __gc on LuaJIT (7c4c1f2c)
-
language_xml: remove escape chars from strings (#286) (#286)
Build Systemโ
-
Bump CI ubuntu containers (#233)
-
CI: Polyfill GLIBC for backward compatibility (#234)
-
Include 'user' directory on portable installs (#250)
-
CI: update Windows to more recent version (#252)
-
Updates for latest plugin manager changes (#255)
-
Silence thirdparty library compiler warnings (#271)
-
Update SDL2 to latest fixes from master (#282)
Enhancementsโ
-
Include additional glyphs on icons.ttf (#236)
-
Capture replacements on regex/patterns search ui (#244)
-
Make DATADIR and USERDIR fonts path portable (#249)
-
Allow spaces in plugins mod-version (#253)
-
projectsearch: add open tab command (#258)
-
restore light lcd filter for slight hinting (#265)
-
align soft indention to indention size (#267)
-
rework dirmonitors to be able to support multiple backends (#266)
-
projectsearch: find current doc selection (#268)
-
projectsearch: on hide focus previous docview (#275)
-
Do not sort fuzzy results on empty needle (#276)
-
Lua doc comment improvements for better API reference generation (#185)
-
cli: always display commands sorted by name (#279)
-
autocomplete: keep previous items on re-trigger (#283)
-
highlight_current_line "no_selection" now default (#284)
GUI and Widgetsโ
-
Updated default color scheme. (#237)
-
Settings: allow filtering colors (#238)
-
Search UI fixes and usage of new icons (#239)
-
Enabled word wrap on settings ui labels (#241)
-
Allow always hiding tabs, great for zen mode! (#242)
-
Show bindings on search ui and empty view tooltips (#248)
-
projectsearch: added built-in controls (#257)
-
settings gui: option to select dirmonitor backend (#270)
-
search_ui: hide replace by default, add toggle (#285)
-
foldingbook: keep tabs updated
-
textbox: added customized highlighter without coroutine
-
colorpicker: update sliders color on every update
-
Fix show animation on strange Node size changes
-
Set textview name same as parent
-
SearchReplaceList: add regex replacing support
-
Allow showing a command binding on tooltip
-
Improved FoldingBook expand calculations
-
Add word wrap support to Label widget
-
Fix on draw_styled_text elements checking
-
Added ToggleButton widget
-
Use new pragtical icons on various widgets
-
Allow customization of line widget color
-
Fix possible endless loop on animations
Performanceโ
- Wait thread avg time when it exceeds max time (#264)
Lite XL Inherited Changesโ
-
add a __tostring method to every object (#1534)
-
Better wasm support again (#1779)
-
renderer: defer bitmap rendering when possible (#1856)
-
renderer: pass errors via SDL_SetError (#1919)
-
fix: use current char to determine col in DocView:get_x_offset_col (#1946)
-
common: allow / and \ as PATHSEP on Windows when fuzzy matching files (#1992)
-
fix: use correct charmap and glyphmap sizes (#1999)
-
language_cpp: add back digit separators (#2026)
-
syntax: warn against malformed patterns and disable them (#2029)
-
balance computed directory list, remove recursive function invocation (#1991)
-
language_lua: add files with rockspec extenstion (#2083)
-
Coroutine Process Fix (#2099)