Skip to main content

Pragtical v3.4.0 Release

· 3 min read
Jefferson Gonzalez

After two months finally a release with the accumulated sum of new features, fixes and enhancements!

One notable change is the DocView cache for better performance on files with really long lines, which previously caused the editor to hang when plugins like drawwhitespace, colorpreview or selectionhighlight were enabled.

Also, this release introduces code that moves window management from C to Lua, which breaks most system.{*window*} functions. Updating the following plugins will be necessary for a smooth transition:

  • centerdoc
  • opacity
  • lsp

Downloads on GitHub.

Changes Log

New Features

  • Add ui config to toggle the treeview toolbar (#84)

  • Support multiple projects on the findfile plugin (#100)

  • Multiproject handling for statusview doc:file (#101)

  • Introductory window creation and management using Lua (#108)

Performance Improvements

  • Basic doc/docview cache for better performance (#105)


  • CLI: lowercase the appname on usage description (#92)

  • Mark common.serializeoptions fields as optional (#95)

  • Render the statusview message on demand (#103)

  • Check doc is still in view before autoreloading it (#104)

  • Handle conversion of \ to ¥ as reported on #94 (#106)

  • Support for utf-8 text reduction on node title (#107)


  • Add /usr/local/bin, /usr/local/sbin to PATH on Mac OS X (#87)

  • Assign ctrl+, binding to open user module command (#88)

  • Update JetBrains Mono font to latest version 2.304 (#91)

  • Auto chdir to project depending on active document (#93)

  • Improvements to core.visited_files handling (#96)


  • Disable assert on font resizing to allow fonts scanning. (#89)

Build System

  • Changes to msys build on rolling release workflow (d5811328)

  • Various maintainance changes to github workflows


  • Use correct path separator on FilePicker widget (1347e8c3)

  • Update for lua window management (#7)

Lite XL Inherited Changes

  • build: fix dirmonitor backend selection (#1790)

  • api/system: fix newlines returned by get_clipboard (#1788)

  • Change co_wait to co_await in language_cpp (#1800)

  • build: fix dirmonitor backend selection (#1790)

  • Handle static constexpr in language_cpp (#1806)

  • improve number highlighting for c (#1752)

  • language_cpp: backport number highlighting from c (#1818)

  • Add support for binary integer literals. (#1819)

  • Update language_python.lua (#1723)

  • rootview: workaround macos weird dnd event timing

  • Expand Process API (#1757)

  • fix(dirmonitor): avoid calling the change callback multiple times in the same notification (#1824)

  • core/rootview: fix dnd multiple folders into dock (#1828)

  • fix(doc): convert Doc:merge_cursors parameter from "selection index" to table index

  • core/doc: fix wrong table index in Doc:merge_cursors

  • Keep font scale updated for RENDERER backend

Full Changelog: