Only a couple trivial features from meson ~0.50 were being used, and
none of them are really needed:
- configure_file() with the install kwarg has always defaulted to
inferring its value from whether an install_dir was defined. This is
fine, we don't need to set `install: true` in that case. The kwarg was
only even added to meson 0.50 for consistency and to allow
conditionally overriding the file to not install, even when
install_dir is set. This project does not need that feature.
- path building could historically be done with the join_paths()
function. Recent versions of meson (0.49) added cosmetic sugar in the
form of string operator overloading to allow using the division
operator on two strings. By removing this and using the backwards
compatible form, we can support older versions of meson.
- sdl2 dependency lookup with hardcoded config-tool method is very
opinionated about the correct way to look up sdl2, but meson can try
multiple methods if you permit it, and there is no reason to think
that config-tool is the only one that returns correct results.
By removing these features, the minimum can be dropped all the way down
to a version that is available on the oldest supported versions of
Ubuntu (18.04), Debian (oldoldstable / Stretch) and anywhere else of
consequence.
No features of 0.54 are being used, so 0.50 should be perfectly fine.
This drops the minimum requirement down to a version available in the
latest Ubuntu LTS (20.04), which only has 0.53
Instead of having a separate start.lua.in file in the scripts directory
and no start.lua file in data/core we use the file data/core/start.lua
as a template for Meson to generate the final start.lua file for release.
In this way people naturally trying to run lite-xl from the source folder
will have a start.lua file albeit without a resolved version number.
Otherwise, when using run-local script or the meson install command the
meson-generated start.lua file will be used as it should be.
- Added version and license metadata
- Configuration data to be used in configured files to set metadata
- Portable binary and directories in the main install directory
- Binary file installed in correct places for all supported platforms
- Freedesktop AppStream support
- Added missing files install rules
Use regular expressions instead of Lua patterns for find and replace editor commands.
Syntax files can now use regex or Lua patterns as before keeping backward compatibility for plugins.