Lyricli (lrc)
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] <artist_name> <song_name>
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 -lorlrc --list-sourceslists the available sources. Enabled sourcess will have a*lrc -eorlrc --enable-source <source>enables a sourcelrc -dorlrc --disable-source <source>disables a source without resetting its configuration.lrc -rorlrc --reset-source <source>resets the configuration for a source and disables it.
And you can print the help or the version:
lrc -vorlrc --versionprints the versionlrc -horlrc --helpdisplay built-in help
Building
The build has only been tested on OSX using Swift 5.8 Building defaults to the debug configuration.
make
Configuration
To avoid storing the API key in source control, clientToken in the lyrics_engine is using a placeholder value. You'll need to replace this before building
GENIUS_CLIENT_TOKEN: The Client token for your genius API client
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 to lint, and make lint to run it.
We use jazzy and 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