A lightweight text editor written in Lua
MIT License
Bot releases are hidden (Show)
Published by franko over 2 years ago
This new release fixes some outstanding problem with the directory monitoring and add some minor improvements.
Now any modification to the project's module is immediately applied when the file is saved.
This is very useful to configure a config.ignore_files
and have an immediate feedback.
As an additional improvement, now when reloading the project's module, we check again if the project fits within the maximum number of files and the application acts accordingly.
This means that if a project exceeds the max project files limit and we act by ignoring some large directories we immediately get back the usual behavior with all the project files indexed and easily reachable.
To be also more beginner friendly now, when creating a new project's module, we propose a template with some useful instructions.
Until now the ìgnore_files`mechanism was limited to the name of the file or directory and it was not possible to look at its path within the project folder.
We solved the problem by implementing two new mechanisms inspired by gitignore.
Essentially there are two new rules:
In the first case, when the pattern corresponds to a directory, a '/' will be
appended to the name of the directory before checking the pattern.
In the second case, when the pattern corresponds to a path, the complete path of
the file or directory will be used with an initial '/' for the project's root.
The new mechanisms are backward compatible so existing project's module should work as before.
Fix several problems with the directory monitoring library.
Now the application should no longer assert when some related system call fails and we fallback to rescan when an error happens.
On linux we no longer use the recursive monitoring which was a source of problem.
Directory monitoring is now aware of symlinks and treat them appropriately.
Fix problem when encountering special files type on linux.
Improve directory monitoring so that the related thread actually waits without using
any CPU time when there are no events.
Improve the suggestion when changing project folder or opening a new one.
Now the previously used directory are suggested but if the path is changed the actual existing directories that match the pattern are suggested.
In addition always use the text entered in the command view even if a suggested entry is highlighted.
With the new implementation it is to switch to a recently used project but you can also navigate the filesystem to easily find any directory.
The NagView warning window now no longer moves the documents' content.
The message is now completely drawn over the existing content to be less intrusive.
Published by franko almost 3 years ago
Fix some bugs related to newly introduced directory monitoring using the dmon library.
Fix a problem with plain text search using Lua patterns by error.
Fix a problem with visualization of UTF-8 characters that caused garbage characters
visualization.
Other fixes and improvements contributed by @Guldoman and @adamharrison.
Published by franko almost 3 years ago
Replace periodic rescan of project folder with a notification based system using the dmon library. Improves performance especially for large project folders since the application no longer needs to rescan.
The application also reports immediately any change in the project directory even when the application is unfocused.
Provide out-of-branch LuaJIT-based version of the application.
Improved find-replace reverse and forward search.
Fixed a bug in incremental syntax highlighting affecting documents with multiple-lines comments or strings.
The application now always shows the tabs in the documents' view even when a single document is opened. Can be changed with the option config.always_show_tabs
.
Fix problem with numeric keypad function keys not properly working.
Fix problem with pixel not correctly drawn at the window's right edge.
Treat correctly and open network paths on Windows.
Add some improvements for very slow network filesystems.
Fix problem with python syntax highlighting.
Published by franko about 3 years ago
These release includes mainly fixes for known problems but also a few nice improvements.
Long time Lite XL users should not miss a change in the behavior of ctrl+d
that now add the next occurrence of the current selection in mutli-cursor mode.
Below the details of the changes.
-psn
argument passed to the application on macOS.treeview:open-in-system
command on Windows.ctrl+d
to add a multi-cursor selection to the next occurrence. The old behavior to move the selection to the next occurrence is now done using the shortcut ctrl+f3
.ctrl+shift+l
.With many thanks to the contributors: @adamharrison, @takase1121, @Guldoman, @redtide, @Timofffee, @boppyt, @Jan200101.
Published by franko about 3 years ago
With this release we fix a few bugs and we mandate the mod-version 2 for plugins. This means that users should ensure they have up-to-date plugins for Lite XL 2.0.
Here some details about the bug fixes:
This major release introduce some important new features:
Published by franko about 3 years ago
This major release introduce some important new features:
Published by franko over 3 years ago
First beta release for new 2.0 version.
Published by franko over 3 years ago
Include syntax support for C++ from lite-plugins repository, adapted to use new multi-part patterns.
Respect the XDG_CONFIG_HOME
variable if set to define the USERDIR.
Fix an error that prevented navigating large repositories in some rare situations.
Minor performance improvements for drawing operations and events handling.
Improve macOS keybindings thanks to @bjornbm and @prantlf.
Improve behavior of applications when restoring workspaces to avoid displaying empty documents.
Published by franko over 3 years ago
When opening directories with too many files lite-xl now keep displaying files and directories in the treeview.
The application remains functional and the directories can be explored without using too much memory.
In this operating mode the files of the project are not indexed so the command "Core: Find File" will act as the "Core: Open File" command.
The "Project Search: Find" will work by searching all the files present in the project directory even if they are not indexed.
Implemented changing fonts per syntax group by @liquidev.
Example user module snippet that makes all comments italic:
local style = require "core.style"
-- italic.ttf must be provided by the user
local italic = renderer.font.load("italic.ttf", 14)
style.syntax_fonts["comment"] = italic
Improved indentation and comment/uncomment behavior by @adamharrison.
Fix problem when starting session in maximized mode by @redtide.
Fix bug with close button not working in borderless window mode.
Fix problem with normalization of filename for opened documents.
Improve detectindent plugin to avoid excessive usage of CPU affecting editing commands.
Published by franko over 3 years ago
Improved syntax highlight system thanks to @liquidev and @adamharrison.
Using the new system we provide more a accurate syntax highlighting for Lua, C and C++.
Other syntax improvements contributed by @vincens2005.
On macOS declare minimum OS version as 10.13 and request permission to access Documents folder.
Move to JetBrains Mono and Fira Sans fonts for code and UI respectively.
Thet are provided under the SIL Open Font License, Version 1.1.
See doc/licenses.md
for license details.
Fixed bug with fonts and rencache module.
Under very specific situations the application was crashing due to invalid memory access.
Add documentation for keymap binding, thanks to @Janis-Leuenberger.
Added a contributors page in doc/contributors.md
.
Published by franko over 3 years ago
Testing support for macOS 10.13.
Published by franko over 3 years ago
Hotfix for a bug that prevented the creation of a new file.
Fix a bug related to the resizing of nested panes.
Published by franko over 3 years ago
Fix application crash when using the command core:restart
.
Improve application startup to avoid flashing window's problem.
Fix a few problems with documents' filenames.
Move to new plugins versioning scheme using tag mod-version:1
.
The mod-version is a single digit version that tracks the plugins compatibility version independently from the lite-xl version.
For backward compatibility the tag -- lite-xl 1.16
is considered equivalent to mod-version:1
so users don't need to update their plugins.
Both kind of tags can appear in new plugins in the form:
-- mod-version:1 -- lite-xl 1.16
where the old tag needs to appear at the end for compatibility.
This release includes some improvements from a new contributors @adamharrison, welcome onboard!
Published by franko over 3 years ago
Add support for retina displays on Mac OS.
Fix a few problems related to file paths.
Published by franko over 3 years ago
This testing release is the second iterations use a new rendering approach based on SDL's Renderer.
The new architecture should allow to use the full resolution of Retina displays on macos.
Published by franko over 3 years ago
This testing release use a new rendering approach based on SDL's Renderer.
The new architecture should allow to use the full resolution of Retina displays on macos.
Published by franko over 3 years ago
Implement a new system to check the compatibility of plugins by checking a release tag.
Plugins that don't have the release tag will not be loaded.
Users are invited to update the plugins from the official repository https://github.com/franko/lite-plugins .
Improve and extend the NagView with keyboard commands and introduce dialog commands.
Special thanks to @takase1121 for the implementation and @liquidev for proposing and
discussing the enhancements.
Add support to build on Mac OS X with specific keyboard bindings.
We provide in addition a notarize application bundle.
Special thanks to @mathewmariani for his lite-macos fork, the Mac OS specific
resources and his support.
Add hook function DocView.on_text_change
so that plugin can accurately react on document changes.
Thanks to @vincens2005 for the suggestion and testing the implementation.
Enable borderless window mode using the config.borderless
variable.
If enable the system window's bar will be replaced by a title bar provided
by lite-xl itself.
Fix a drawing engine bug that caused increased CPU usage for drawing operations.
Add system.set_window_opacity
function. Many thanks to @AqilCont for his suggestion.
Add codepoint replacement API to support natively the "draw whitespaces" option.
It supersedes the drawwhitespace
plugin. If can be configured using the
config.draw_whitespace
boolean variable and enabled and disables using the
commands draw-whitespace:toggle
, draw-whitespace:enable
,
draw-whitespace:disable
.
Published by franko over 3 years ago
Hotfix for Github's issue https://github.com/franko/lite-xl/issues/122
Added notarized Mac OS app.
Published by franko over 3 years ago
Add tooltips to show full file names from the tree-view. Contributed by @takase1121.
Introduce NagView to show warning dialog about unsaved files. Contributed by @takase1121.
Detect High-DPI displays on Linux using Xft.dpi entry from xrdb's output. Contributed by @daubaris with modifications by @franko.
Made animations independent of framerate, and added a config setting config.animation_rate
for customizing the speed of animations. Contributed by @liquidev.
Made borders between tabs look cleaner. Contributed by @liquidev.
Fix problem with files using hard tabs.
Published by franko over 3 years ago
This release correct some serious problems related to font rendering, most notably the bug about the cursor positioning when using mouse. Upgrade is recommended.
It took time but with this release the subpixel text positioning now works well and accurately. Text using proportional should appear now more evenly spaced and pleasant because some font's spacing errors have been fixed.
Fix also dysfunctional error message window. The writing of the error message in the standard output and in an error file is now correctly done.
Fixed also a problem revealed by the usage of an old version of the detectindent plugin.