Go to file
Francesco Abbate 3b040aabc7 Implement unicode character replacements
Useful to draw whitespaces with alternate characters and colors
without slowing down the text rendering.

A new API is implemented. A renderer.replacements object can be created
to list the replacements.

In turns the function renderer.draw_text and draw_text_subpixel now accept
two optional arguments for replacements.
2021-04-01 18:05:59 +02:00
.github Remove Travis in exchange for Github Actions (#132) 2021-03-26 14:55:53 +01:00
data Implement unicode character replacements 2021-04-01 18:05:59 +02:00
dev-utils Add stand-alone desktop file 2021-03-22 20:20:58 +01:00
doc Update usage file for 1.15 release 2021-01-04 13:55:18 +01:00
lib/font_renderer Fix problem with glyph spacing in subpixel mode 2021-03-07 18:38:47 +01:00
src Implement unicode character replacements 2021-04-01 18:05:59 +02:00
subprojects Update subproject reference to libagg 2021-03-23 08:54:45 +01:00
.gitattributes Added `icon.inl linguist-vendored` to .gitattributes 2020-05-10 15:54:09 +01:00
.gitignore Implement script to run locally a build without installing 2020-12-03 23:01:01 +01:00
LICENSE Updated copyright year; 2019 => 2020 2020-01-01 16:00:39 +00:00
README.md Remove Travis in exchange for Github Actions (#132) 2021-03-26 14:55:53 +01:00
build-packages.sh Do not build portable package on unix-like systems 2021-03-23 08:51:13 +01:00
build.sh do not use 'portable' as a compile time option 2021-02-24 16:29:39 +01:00
changelog.md Implement unicode character replacements 2021-04-01 18:05:59 +02:00
icon.ico Updated icon 2020-05-09 11:33:16 +01:00
icon.inl Updated icon 2020-05-09 11:33:16 +01:00
meson.build Update subprojects options and version 2021-02-26 15:49:30 +01:00
meson_options.txt Improve build-package script to create portable and unix-like packages 2021-02-24 17:39:12 +01:00
res.rc Initial commit 2019-12-28 11:17:56 +00:00

README.md

build

Lite XL

screenshot-dark

A lightweight text editor written in Lua, adapted from lite

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 http://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-specific 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.

The editor can be customized by making changes to the user module.

Building

You can build Lite XL yourself using Meson.

In addition, the build-packages.sh script can be used to compile Lite XL and create an OS-specific package for Linux, Windows or macOS.

The following libraries are required:

  • freetype2
  • SDL2

The following libraries are optional:

  • libagg
  • Lua 5.2

If they are not found, they will be downloaded and compiled by Meson. Otherwise, if they are present, they will be used to compile Lite XL.

On Debian-based systems the required libraries and Meson can be installed using the following commands:

# To install the required libraries:
sudo apt install libfreetype6-dev libsdl2-dev

# To install Meson:
sudo apt install meson
# or pip3 install --user meson

To build Lite XL with Meson the commands below can be used:

meson setup build
meson compile -C build
meson install -C build

If you are using a version of Meson below 0.54 you need to use diffent commands to compile and install:

meson setup build
ninja -C build
ninja -C build install

When performing the meson setup command you may enable the -Dportable=true option to specify whether a portable build should be done.

If portable is enabled, Lite XL is built to use data and user directories placed next to the executable. Otherwise, Lite XL will use Unix-like directory locations. In this case, the data directory will be located in $prefix/share/lite-xl, and the user directory will be $HOME/.config/lite-xl. $prefix is determined such that $prefix/bin corresponds to the location of the executable. $HOME is determined from the corresponding environment variable. As a special case on Windows the variable $USERPROFILE will be used instead.

If you compile Lite XL yourself, it is recommended to use the script build-packages.sh:

bash build-packages.sh <arch>

The script will run Meson and create two .zip files, one for the portable version, and another one for the Unix-like version. Lite XL can be easily installed by unpacking one of these .zip archives in some directory of your choice.

Please note that there aren't any hard-coded directories in the executable, so that the package can be extracted and used in any directory.

Note that the Unix-like package can also work on Windows.

Please note that while compiling Lite XL on macOS should work, macOS is not officially supported.

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.

License

This project is free software; you can redistribute it and/or modify it under the terms of the MIT license. See LICENSE for details.