X-Git-Url: https://git.r.bdr.sh/rbdr/lyricli/blobdiff_plain/bcd37f402a2586d051ac10a6a4982c8c226b2cce..c53df649c817f770ae1750bb6d11113e0bcd2b18:/README.md diff --git a/README.md b/README.md index 6713a7d..6d6046a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,86 @@ -#Lyricli (lrc) +# Lyricli (lrc) -A command line tool to show the lyrics of your current song +A command line tool to show the lyrics of your current song. + +## Usage + +Lyricli can be invoked with the command `lrc`. + +``` +$ lrc [-t] +``` + +When you run it without arguments, it will look in the available source +to try to find a playing song and extract the lyrics. If you include the +`-t` flag, it will show the song and artist names before the lyrics. + +``` +$ lrc [-t] +``` + +When you run it with arguments, it will use them to search for the +lyrics. This won't work if you manually disable the arguments source in +your configuration file. If you include the `-t` flag, it will show the +song and artist names before the lyrics. + +### Commands + +In order to configure sources, lyricli provides a few commands: + +* `lrc -l` or `lrc --list-sources` lists the available sources. Enabled + sourcess will have a `*` +* `lrc -e` or `lrc --enable-source ` enables a source +* `lrc -d` or `lrc --disable-source ` disables a source without + resetting its configuration. +* `lrc -r` or `lrc --reset-source ` resets the configuration + for a source and disables it. + +And you can print the help or the version: + +* `lrc -v` or `lrc --version` prints the version +* `lrc -h` or `lrc --help` display built-in help + +## Building + +The build has only been tested on OSX using Swift 5.8 Building defaults +to the debug configuration. + +``` +make +``` + +## Installing from source + +Builds lyricli in release configuration and copies the executable as +`lrc` to `/usr/local/bin` + +``` +make install +``` + +### Installing to a custom directory + +This can be done by overriding the `install_path` variable + +``` +make install install_path=/opt/bin +``` + +## Linting and Generating Documentation + +We use [swiftlint][swiftlint] to lint, and `make lint` to run it. +We use [jazzy][jazzy] and [SourceKitten][sourcekitten] to document, and +`make document` to generate it. + +## Running tests + +No tests at the moment 😬... but the makefile is mapped to run the swift +tests. + +``` +make test +``` + +[swiftlint]: https://github.com/realm/SwiftLint +[jazzy]: https://github.com/realm/jazzy +[sourcekitten]: https://github.com/jpsim/SourceKitten