adaf023541
Simplifies and uniformize the logic on the Lua side for the setting of directories' watches. Now we always use the methods: systems.watch_dir_add / rm on all the project's directories at any depth when we are not in files limit mode. In files limited mode the functions systems.watch_dir_add/rm are called only on the expanded folders. The shown_subdir table is also updated only in files limited mode. On the C side, using the dmon library, we remove the recursive argument from the system.watch_dir and we always call it recursively except on Linux. At the same time the functions: systems.watch_dir_add / rm are provided but as dummy functions that does nothing except on Linux where they work as before to add / remove sub-directories in the inotify watch. In this was on the Lua side we always act we if the watches needed to be set for each sub-directory explicitly, independently of the system. The important improvement introduced is that we always avoid calling dmon_watch recursively on Linux. This latter thing is problematic with inotify and is therefore avoided on Linux. On the other side we simplifies the logic on the Lua side and remove conditions based on the OS used. |
||
---|---|---|
.github | ||
data | ||
docs | ||
lib | ||
licenses | ||
resources | ||
scripts | ||
src | ||
subprojects | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
README.md | ||
build-packages.sh | ||
changelog.md | ||
meson.build | ||
meson_options.txt |
README.md
Lite XL
A lightweight text editor written in Lua, adapted from lite.
- Get Lite XL — Download for Windows, Linux and Mac OS.
- Get plugins — Add additional functionality, adapted for Lite XL.
- Get color themes — Add additional colors themes.
Please refer to our website for the user and developer documentation, including build instructions details. A quick build guide is described below.
Lite XL has support for high DPI display on Windows and Linux and, since 1.16.7 release, it supports retina displays on macOS.
Please note that Lite XL is compatible with lite for most plugins and all color themes. We provide a separate lite-plugins repository for Lite XL, because in some cases some adaptations may be needed to make them work better with Lite XL. The repository with modified plugins is https://github.com/franko/lite-plugins.
The changes and differences between Lite XL and rxi/lite are listed in the changelog.
Overview
Lite XL is derived from lite. It is a lightweight text editor written mostly in Lua — it aims to provide something practical, pretty, small and fast easy to modify and extend, or to use without doing either.
The aim of Lite XL compared to lite is to be more user friendly, improve the quality of font rendering, and reduce CPU usage.
Customization
Additional functionality can be added through plugins which are available in the plugins repository or in the Lite XL plugins repository.
Additional color themes can be found in the colors repository. These color themes are bundled with all releases of Lite XL by default.
Quick Build Guide
If you compile Lite XL yourself, it is recommended to use the script
build-packages.sh
:
bash build-packages.sh -h
The script will run Meson and create a tar compressed archive with the application or, for Windows, a zip file. Lite XL can be easily installed by unpacking the archive in any directory of your choice.
Otherwise the following is an example of basic commands if you want to customize the build:
meson setup --buildtype=release --prefix <prefix> build
meson compile -C build
DESTDIR="$(pwd)/lite-xl" meson install --skip-subprojects -C build
where <prefix>
might be one of /
, /usr
or /opt
, the default is /
.
To build a bundle application on macOS:
meson setup --buildtype=release --Dbundle=true --prefix / build
meson compile -C build
DESTDIR="$(pwd)/Lite XL.app" meson install --skip-subprojects -C build
Please note that the package is relocatable to any prefix and the option prefix affects only the place where the application is actually installed.
Contributing
Any additional functionality that can be added through a plugin should be done as a plugin, after which a pull request to the plugins repository can be made.
If the plugin uses any Lite XL-specific functionality, please open a pull request to the Lite XL plugins repository.
Pull requests to improve or modify the editor itself are welcome.
Licenses
This project is free software; you can redistribute it and/or modify it under the terms of the MIT license. See LICENSE for details.
See the licenses file for details on licenses used by the required dependencies.