Go to file
Guldoman cf29a6a45f
Allow command predicates to manage parameters passed to the commands
When a command is performed with parameters, those are now passed to the
predicate.
The predicate can then return, after the validity boolean, any other
value that will then be passed to the actual command.
If the predicate only returns the validity boolean, the original
parameters are passed through to the actual command.

This allows predicates to manipulate the received parameters, and allows
them to pass the result of an expensive computation to the actual
command, which won't have to recalculate it.

String and table predicates will now also return `core.active_view`.
2022-08-16 22:13:16 +02:00
.github add Libraries label 2021-12-31 13:53:31 +01:00
data Allow command predicates to manage parameters passed to the commands 2022-08-16 22:13:16 +02:00
docs renderer fonts: additions and improvements 2022-06-23 18:08:04 -04:00
licenses Fix Project Scanning (#746) 2022-03-06 00:59:22 -05:00
resources lua patch for utf-8 support 2022-06-11 21:01:12 +08:00
scripts Merge pull request #1063 from lite-xl/port-build-lhelper-2 2022-07-05 17:49:17 -04:00
src Start dirmonitor check thread only after a watch is added (#1072) 2022-07-11 17:14:50 -04:00
subprojects Update SDL to 2.0.20 (#884) 2022-04-20 16:30:41 -04:00
.editorconfig Updated Meson configuration 2021-08-09 22:26:16 +02:00
.gitattributes Merge pull request #309 from redtide/git-line-endings 2021-06-30 11:13:42 -04:00
.gitignore Merge pull request #1041 from takase1121/lua-utf8-windows 2022-06-17 09:47:02 -04:00
LICENSE Switch to FiraSans and JetBrainsMono fonts 2021-05-22 15:09:54 +02:00
README.md Fix [build] link and add [lite] link on Overview (#1096) 2022-08-07 17:09:54 -04:00
build-packages.sh Bring back pgo option in new build package script 2021-09-05 15:43:22 +02:00
build.lhelper Adapt build job to lhelper-2 2022-06-30 09:42:01 +02:00
changelog.md Make `StatusView:add_item` accept a table 2022-07-13 07:22:42 +02:00
meson.build Enable SDL timers 2022-08-03 17:28:43 +02:00
meson_options.txt seperate dirmonitor logic, add build time detection of features (#866) 2022-03-17 13:43:01 -04:00

README.md

Lite XL

CI Discord Badge Image

screenshot-dark

A lightweight text editor written in Lua, adapted from lite.

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-xl-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/lite-xl/lite-xl-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.

Installing Prebuilt

Head over to releases and download the version for your operating system.

Linux

Unzip the file and cd into the lite-xl directory:

tar -xzf <file>
cd lite-xl

To run lite-xl without installing:

cd bin
./lite-xl

To install lite-xl copy files over into appropriate directories:

mkdir -p $HOME/.local/bin && cp bin/lite-xl $HOME/.local/bin
cp -r share $HOME/.local

If $HOME/.local/bin is not in PATH:

echo -e 'export PATH=$PATH:$HOME/.local/bin' >> $HOME/.bashrc

To get the icon to show up in app launcher:

xdg-desktop-menu forceupdate

You may need to logout and login again to see icon in app launcher.

To uninstall just run:

rm -f $HOME/.local/bin/lite-xl
rm -rf $HOME/.local/share/icons/hicolor/scalable/apps/lite-xl.svg \
          $HOME/.local/share/applications/org.lite_xl.lite_xl.desktop \
          $HOME/.local/share/metainfo/org.lite_xl.lite_xl.appdata.xml \
          $HOME/.local/share/lite-xl

Contributing

Any additional functionality that can be added through a plugin should be done as a plugin, after which a pull request to the Lite XL plugins repository can be made.

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.