Go to file
Francesco Abbate 3b30bfa18b Improve left/right scrolling behavior for DocView
With the new behavior when moving right and triggering a scroll in the
right direction a subsequent movement left do not longer triggers a
scrolling to the left.
The scrolling to the left happens only when needed for the visibility of
the current position.

In other terms with the old behavior the scrolling was purely a function
of the position and was adjusted even when not strictly needed for the
visibility of the cursor.
Now the scrolling is no longer a pure function of the position but it
has a "memory" behavior. The scrolling will be adjusted only if needed
to accommodate the position of the cursor.

Reduce also the width of the margin when the scrolling will be
triggered and calculate as a function of the font character width.

With the modification now Lite behaves like the other editors. In
addition the selection of text with the mouse is much more easy when
a scrolling of the line is needed.
2020-12-12 20:26:27 +01:00
.github Create FUNDING.yml 2020-06-18 16:48:05 +01:00
data Improve left/right scrolling behavior for DocView 2020-12-12 20:26:27 +01:00
doc Add core:restart function to restart the editor 2020-12-10 12:44:01 +01:00
lib/font_renderer Fix font hinting when using subpixel rendering 2020-12-11 14:36:32 +01:00
src Add core:restart function to restart the editor 2020-12-10 12:44:01 +01:00
subprojects Add libagg as a subproject 2020-06-30 17:02:50 +02: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 Improve the implementation of unix-like directories usage 2020-12-03 16:46:18 +01:00
build-packages.sh Include rxi/lite-colors when building a package 2020-12-11 15:14:57 +01:00
build.sh Improve the implementation of unix-like directories usage 2020-12-03 16:46:18 +01:00
changelog.md Reword changelog 2020-11-17 17:05:06 +01: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 Improve the implementation of unix-like directories usage 2020-12-03 16:46:18 +01:00
meson_options.txt Add missing meson_options file from previous commit 2020-12-03 16:47:33 +01:00
res.rc Initial commit 2019-12-28 11:17:56 +00:00
run-local More accurate list of recent projects 2020-12-08 18:49:58 +01:00

README.md

Lite XL

screenshot-dark

A lightweight text editor written in Lua, adapted from Lite

The 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 the font rendering and reduce CPU usage.

Customization

Additional functionality can be added through plugins which are available from the plugins repository; additional color themes can be found in the colors repository. The editor can be customized by making changes to the user module.

Building

You can build the project yourself on Linux using the provided build.sh script or using the Meson build. 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.

The following libraries are required:

  • freetype2
  • SDL2

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:

# 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 use the commands:

# configure
meson setup build

# build
ninja -C build

# Only of linux:
ninja -C build install

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.

If you want to install Lite XL on Windows or Mac OS X we suggest to use the script build-packages.sh:

bash build-packages.sh <version> <arch>

# In alternative the -portable option can be used like below:
# bash build-packages.sh -portable <version> <arch>

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 is not currently supported.

Contributing

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

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.