diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 76 |
1 files changed, 39 insertions, 37 deletions
@@ -1,17 +1,19 @@ -# Lite XL Plugin Manager (lpm) +**Warning:** This repository could be regularly rebased + +# Pragtical Plugin Manager (ppm)  A standalone binary that provides an easy way of installing, and uninstalling -plugins from lite-xl, as well as different version of lite-xl. +plugins from pragtical, as well as different version of pragtical. Can be used by a package manager plugin that works from inside the editor and calls this binary. -Also contains a `plugin_manager.lua` plugin to integrate the binary with lite-xl in +Also contains a `plugin_manager.lua` plugin to integrate the binary with pragtical in the form of an easy-to-use GUI. -By default in releases, `lpm` will automatically consume the `manifest.json` +By default in releases, `ppm` will automatically consume the `manifest.json` in the `latest` branch of this repository, which corresponds to the most recent versioned release. @@ -19,26 +21,26 @@ Conforms to [SCPS3](https://github.com/adamharrison/straightforward-c-project-st ## Status -`lpm` 1.0 has been just released, and so may still contain bugs, but is generally feature-complete. +`ppm` 1.0 has been just released, and so may still contain bugs, but is generally feature-complete. ## Specification -For details about the `manifest.json` files that `lpm` consumes, +For details about the `manifest.json` files that `ppm` consumes, [see here](SPEC.md). ## Quickstart -The fastest way to get started with lpm is to simply pull a release. +The fastest way to get started with ppm is to simply pull a release. ``` -wget https://github.com/lite-xl/lite-xl-plugin-manager/releases/download/latest/lpm.x86_64-linux -O lpm && chmod +x lpm +wget https://github.com/pragtical/plugin-manager/releases/download/latest/ppm.x86_64-linux -O ppm && chmod +x ppm ``` -If you want to get the GUI version installed with lite-xl, you can tell `lpm` to install `plugin_manager`, which will allow -you to access `Plugin Manager: Show` in the command palette in `lite-xl`. +If you want to get the GUI version installed with pragtical, you can tell `ppm` to install `plugin_manager`, which will allow +you to access `Plugin Manager: Show` in the command palette in `pragtical`. ``` -./lpm install plugin_manager --assume-yes +./ppm install plugin_manager --assume-yes ``` ### Compilation @@ -47,44 +49,44 @@ If you have a C compiler, and `git`, and want to compile from scratch, you can do: ``` -git clone https://github.com/lite-xl/lite-xl-plugin-manager.git \ - --shallow-submodules --recurse-submodules && cd lite-xl-plugin-manager &&\ - ./build.sh -DLPM_STATIC && ./lpm +git clone https://github.com/pragtical/plugin-manager.git \ + --shallow-submodules --recurse-submodules && cd plugin-manager &&\ + ./build.sh -DPPM_STATIC && ./ppm ```` If you want to build it quickly, and have the right modules installed, you can do: ``` -./build.sh -lgit2 -lzip -llua -lm -lmbedtls -lmbedx509 -lmbedcrypto -lz -DLPM_STATIC +./build.sh -lgit2 -lzip -llua -lm -lmbedtls -lmbedx509 -lmbedcrypto -lz -DPPM_STATIC ``` OR ``` -gcc src/lpm.c lib/microtar/src/microtar.c -Ilib/microtar/src -lz -lgit2 \ - -lzip -llua -lm -lmbedtls -lmbedx509 -lmbedcrypto -o lpm +gcc src/ppm.c lib/microtar/src/microtar.c -Ilib/microtar/src -lz -lgit2 \ + -lzip -llua -lm -lmbedtls -lmbedx509 -lmbedcrypto -o ppm ``` CI is enabled on this repository, so you can grab Windows and Linux builds from the -`continuous` [release page](https://github.com/lite-xl/lite-xl-plugin-manager/releases/tag/continuous), -which is a nightly, or the `latest` [release page](https://github.com/lite-xl/lite-xl-plugin-manager/releases/tag/latest), +`continuous` [release page](https://github.com/pragtical/plugin-manager/releases/tag/continuous), +which is a nightly, or the `latest` [release page](https://github.com/pragtical/plugin-manager/releases/tag/latest), which holds the most recent released version. There are also tagged releases, for specified versions. -You can get a feel for how to use `lpm` by typing `./lpm --help`. +You can get a feel for how to use `ppm` by typing `./ppm --help`. -You can also use `scoop` to grab `lpm`, courtesy of @cvladan: +You can also use `scoop` to grab `ppm`, courtesy of @cvladan: ``` -scoop install https://gist.githubusercontent.com/cvladan/416c1945c9e446a6fc64ba766d6ee4ef/raw/lite-xl-plugin-manager.json +scoop install https://gist.githubusercontent.com/cvladan/416c1945c9e446a6fc64ba766d6ee4ef/raw/plugin-manager.json ``` ## Supporting Libraries / Dependencies As seen in the `lib` folder, the following external libraries are used to -build `lpm` as git submodules: +build `ppm` as git submodules: * `lua` (core program written in) * `mbedtls` (https/SSL support) @@ -93,12 +95,12 @@ build `lpm` as git submodules: * `libzip` (for unpacking .zip files) * `libmicrotar` (for unpacking .tar.gz files) -To build, `lpm` only requires a C compiler. To run the underlying build process +To build, `ppm` only requires a C compiler. To run the underlying build process for `mbedtls` and `libgit2`, `cmake` is also required. ## Supported Platforms -`lpm` should work on all platforms `lite-xl` works on; but releases are offered for the following: +`ppm` should work on all platforms `pragtical` works on; but releases are offered for the following: * Windows x86_64 * Linux x86_64 @@ -115,23 +117,23 @@ Experimental support (i.e. doesn't work) exists for the following platforms: ## Use in CI -To make pre-fab lite builds, you can easily use `lpm` in CI. If you had a linux build container, you could do something like: +To make pre-fab pragtical builds, you can easily use `ppm` in CI. If you had a linux build container, you could do something like: ```sh -curl https://github.com/adamharrison/lite-xl-plugin-manager/releases/download/v0.1/lpm.x86_64-linux > lpm -export LITE_USERDIR=lite-xl/data && export LPM_CACHE=/tmp/cache -./lpm add https://github.com/adamharrison/lite-xl-plugin-manager && ./lpm install plugin_manager lsp +curl https://github.com/pragtical/plugin-manager/releases/download/v0.1/ppm.x86_64-linux > ppm +export PRAGTICAL_USERDIR=pragtical/data && export PPM_CACHE=/tmp/cache +./ppm add https://github.com/pragtical/plugin-manager && ./ppm install plugin_manager lsp ``` ## Usage ```sh -lpm install aligncarets -lpm uninstall aligncarets +ppm install aligncarets +ppm uninstall aligncarets ``` ```sh -lpm --help +ppm --help ``` ## Building & Running @@ -139,7 +141,7 @@ lpm --help ### Linux & MacOS & Windows MSYS ``` -./build.sh clean && ./build.sh -DLPM_STATIC && ./lpm +./build.sh clean && ./build.sh -DPPM_STATIC && ./ppm ``` ### Linux -> Windows @@ -147,17 +149,17 @@ lpm --help ``` ./build.sh clean && CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-gcc-ar WINDRES=x86_64-w64-mingw32-windres \ CMAKE_DEFAULT_FLAGS="-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER\ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=NEVER -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_INCLUDE_PATH=/usr/share/mingw-w64/include"\ - GIT2_CONFIGURE="-DDLLTOOL=x86_64-w64-mingw32-dlltool" ./build.sh -DLPM_STATIC -DLPM_VERSION='"'$VERSION-x86_64-windows-`git rev-parse --short HEAD`'"' + GIT2_CONFIGURE="-DDLLTOOL=x86_64-w64-mingw32-dlltool" ./build.sh -DPPM_STATIC -DPPM_VERSION='"'$VERSION-x86_64-windows-`git rev-parse --short HEAD`'"' ``` ## Tests -To run the test suite, you can use `lpm` to execute the test by doing `./lpm test t/run.lua`. use `FAST=1 ./lpm test t/run.lua` to avoid the costs of tearing down and building up suites each time. +To run the test suite, you can use `ppm` to execute the test by doing `./ppm test t/run.lua`. use `FAST=1 ./ppm test t/run.lua` to avoid the costs of tearing down and building up suites each time. ## Bugs If you find a bug, please create an issue with the following information: * Your operating system. -* The commit or version of LPM you're using (`lpm --version` for releases). -* The exact steps to reproduce in LPM invocations, if possible from a fresh LPM install (targeting an empty folder with `--userdir`). +* The commit or version of PPM you're using (`ppm --version` for releases). +* The exact steps to reproduce in PPM invocations, if possible from a fresh PPM install (targeting an empty folder with `--userdir`). |
