2020-06-21 17:11:01 +02:00
|
|
|
# Lite XL
|
2019-12-28 12:16:32 +01:00
|
|
|
|
2020-06-21 17:11:01 +02:00
|
|
|
![screenshot-dark](https://user-images.githubusercontent.com/433545/85227778-b42abc80-b3df-11ea-9dd3-e788f6c71882.png)
|
2019-12-28 12:16:32 +01:00
|
|
|
|
2020-06-21 17:11:01 +02:00
|
|
|
A lightweight text editor written in Lua, adapted from [Lite](https://github.com/rxi/lite)
|
|
|
|
|
2020-06-21 23:54:51 +02:00
|
|
|
* **[Get lite](https://github.com/franko/lite-xl/releases/latest)** — Download
|
2020-05-08 21:07:15 +02:00
|
|
|
for Windows and Linux
|
2020-07-19 10:55:23 +02:00
|
|
|
* **[Get started](doc/usage.md)** — A quick overview on how to get started
|
2020-05-08 21:07:15 +02:00
|
|
|
* **[Get plugins](https://github.com/rxi/lite-plugins)** — Add additional
|
|
|
|
functionality
|
|
|
|
* **[Get color themes](https://github.com/rxi/lite-colors)** — Add additional colors
|
|
|
|
themes
|
|
|
|
|
2020-06-28 18:28:00 +02:00
|
|
|
The differences between Lite XL and rxi/lite are listed in the [changelog](https://github.com/franko/lite-xl/blob/master/changelog.md).
|
|
|
|
|
2019-12-28 12:16:32 +01:00
|
|
|
## Overview
|
2020-07-04 22:07:12 +02:00
|
|
|
Lite XL is derived from Lite. It is a lightweight text editor written mostly in Lua — it aims to provide
|
2020-06-21 17:11:01 +02:00
|
|
|
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 the font rendering and reduce CPU usage.
|
2019-12-28 12:16:32 +01:00
|
|
|
|
2020-05-08 21:07:15 +02:00
|
|
|
## Customization
|
|
|
|
Additional functionality can be added through plugins which are available from
|
|
|
|
the [plugins repository](https://github.com/rxi/lite-plugins); additional color
|
|
|
|
themes can be found in the [colors repository](https://github.com/rxi/lite-colors).
|
|
|
|
The editor can be customized by making changes to the
|
|
|
|
[user module](data/user/init.lua).
|
2019-12-28 12:16:32 +01:00
|
|
|
|
|
|
|
## Building
|
2020-07-04 22:07:12 +02:00
|
|
|
|
2020-05-09 12:01:28 +02:00
|
|
|
You can build the project yourself on Linux using the provided `build.sh`
|
2020-06-21 17:11:01 +02:00
|
|
|
script or using the Meson build.
|
2020-07-04 22:07:12 +02:00
|
|
|
The script `build-packages.sh` can be used to compile Lite XL and create a package adapted to the OS, Linux, Windows or Mac OS X.
|
2020-06-21 17:11:01 +02:00
|
|
|
|
|
|
|
The following libraries are required:
|
|
|
|
|
|
|
|
- freetype2
|
|
|
|
- SDL2
|
|
|
|
|
2020-07-04 22:07:12 +02:00
|
|
|
The additional libraries libagg and Lua 5.2 are optional.
|
|
|
|
If they are not found they will be included by the Meson build system.
|
|
|
|
|
|
|
|
On a debian based systems the required library and Meson can be installed using the commands:
|
2019-12-28 12:16:32 +01:00
|
|
|
|
2020-06-21 17:11:01 +02:00
|
|
|
```sh
|
|
|
|
# To install the required libraries:
|
2020-07-04 22:07:12 +02:00
|
|
|
sudo apt install libfreetype6-dev libsdl2-dev
|
2020-06-21 17:11:01 +02:00
|
|
|
|
|
|
|
# To install Meson:
|
|
|
|
sudo apt install meson
|
|
|
|
# or pip3 install --user meson
|
|
|
|
```
|
2020-07-04 22:07:12 +02:00
|
|
|
|
2020-06-21 17:11:01 +02:00
|
|
|
To build Lite XL with Meson use the commands:
|
|
|
|
```sh
|
|
|
|
# configure
|
|
|
|
meson setup build
|
|
|
|
|
|
|
|
# build
|
|
|
|
ninja -C build
|
|
|
|
|
2020-07-04 22:07:12 +02:00
|
|
|
# Only of linux:
|
2020-06-21 17:11:01 +02:00
|
|
|
ninja -C build install
|
|
|
|
```
|
2020-07-04 22:07:12 +02:00
|
|
|
|
2020-12-03 16:46:18 +01:00
|
|
|
When performing the "meson setup" command you may enable the "portable" option.
|
|
|
|
|
|
|
|
If this latter is enabled Lite XL is built to use a "data" and a "user" directory
|
|
|
|
from the same directory of the executable.
|
|
|
|
If "portable" is not enabled (this is the default) Lite XL will use unix-like
|
|
|
|
directory locations.
|
|
|
|
In this case the "data" directory will be `$prefix/share/lite-xl` and the "user"
|
|
|
|
directory will be `$HOME/.config/lite-xl`.
|
|
|
|
The `$prefix` is determined as the directory such as `$prefix/bin` corresponds to
|
|
|
|
the location of the executable.
|
|
|
|
The `$HOME` is determined from the corresponding environment variable.
|
|
|
|
As a special case on Windows the variable `$USERPROFILE` will be used instead.
|
|
|
|
|
2020-07-04 22:07:12 +02:00
|
|
|
If you want to install Lite XL on Windows or Mac OS X we suggest to use the script `build-packages.sh`:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
bash build-packages.sh <version> <arch>
|
2020-12-03 16:46:18 +01:00
|
|
|
|
|
|
|
# In alternative the -portable option can be used like below:
|
|
|
|
# bash build-packages.sh -portable <version> <arch>
|
2020-07-04 22:07:12 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
It will run meson and create a Zip file that can be easily installed or uninstalled.
|
|
|
|
|
|
|
|
Please note the, while compiling Lite XL on Mac OS X should work Mac OS X
|
2020-12-03 16:46:18 +01:00
|
|
|
is not currently supported.
|
2020-07-04 22:07:12 +02:00
|
|
|
|
2019-12-28 12:16:32 +01:00
|
|
|
## Contributing
|
|
|
|
Any additional functionality that can be added through a plugin should be done
|
2019-12-28 12:21:45 +01:00
|
|
|
so as a plugin, after which a pull request to the
|
2020-06-21 17:11:01 +02:00
|
|
|
[plugins repository](https://github.com/rxi/lite-plugins) can be made.
|
|
|
|
|
|
|
|
Pull requests to improve or modify the editor itself are welcome.
|
2019-12-28 12:16:32 +01:00
|
|
|
|
|
|
|
## License
|
|
|
|
This project is free software; you can redistribute it and/or modify it under
|
|
|
|
the terms of the MIT license. See [LICENSE](LICENSE) for details.
|