]>
Commit | Line | Data |
---|---|---|
026a2f69 | 1 | # Lyricli (lrc) |
bcd37f40 | 2 | |
255dbbae BB |
3 | A command line tool to show the lyrics of your current song. |
4 | ||
5 | ## Usage | |
6 | ||
c53df649 | 7 | Lyricli can be invoked with the command `lrc`. |
255dbbae BB |
8 | |
9 | ``` | |
10 | $ lrc [-t] | |
11 | ``` | |
12 | ||
13 | When you run it without arguments, it will look in the available source | |
14 | to try to find a playing song and extract the lyrics. If you include the | |
15 | `-t` flag, it will show the song and artist names before the lyrics. | |
16 | ||
17 | ``` | |
18 | $ lrc [-t] <artist_name> <song_name> | |
19 | ``` | |
20 | ||
21 | When you run it with arguments, it will use them to search for the | |
22 | lyrics. This won't work if you manually disable the arguments source in | |
23 | your configuration file. If you include the `-t` flag, it will show the | |
24 | song and artist names before the lyrics. | |
25 | ||
26 | ### Commands | |
27 | ||
c53df649 | 28 | In order to configure sources, lyricli provides a few commands: |
255dbbae | 29 | |
c53df649 | 30 | * `lrc -l` or `lrc --list-sources` lists the available sources. Enabled |
255dbbae | 31 | sourcess will have a `*` |
c53df649 RBR |
32 | * `lrc -e` or `lrc --enable-source <source>` enables a source |
33 | * `lrc -d` or `lrc --disable-source <source>` disables a source without | |
34 | resetting its configuration. | |
35 | * `lrc -r` or `lrc --reset-source <source>` resets the configuration | |
36 | for a source and disables it. | |
37 | ||
38 | And you can print the help or the version: | |
39 | ||
255dbbae BB |
40 | * `lrc -v` or `lrc --version` prints the version |
41 | * `lrc -h` or `lrc --help` display built-in help | |
026a2f69 BB |
42 | |
43 | ## Building | |
44 | ||
c53df649 | 45 | The build has only been tested on OSX using Swift 5.8 Building defaults |
255dbbae BB |
46 | to the debug configuration. |
47 | ||
48 | ``` | |
49 | make | |
50 | ``` | |
51 | ||
6e949673 RBR |
52 | ### Configuration |
53 | ||
54 | To avoid storing the API key in source control, clientToken in the | |
55 | lyrics_engine is using a placeholder value. You'll need to replace this | |
56 | before building | |
57 | ||
58 | * `GENIUS_CLIENT_TOKEN`: The Client token for your genius API client | |
59 | ||
255dbbae BB |
60 | ## Installing from source |
61 | ||
62 | Builds lyricli in release configuration and copies the executable as | |
63 | `lrc` to `/usr/local/bin` | |
64 | ||
65 | ``` | |
66 | make install | |
67 | ``` | |
68 | ||
69 | ### Installing to a custom directory | |
70 | ||
71 | This can be done by overriding the `install_path` variable | |
72 | ||
73 | ``` | |
74 | make install install_path=/opt/bin | |
75 | ``` | |
026a2f69 | 76 | |
259284d0 BB |
77 | ## Linting and Generating Documentation |
78 | ||
79 | We use [swiftlint][swiftlint] to lint, and `make lint` to run it. | |
80 | We use [jazzy][jazzy] and [SourceKitten][sourcekitten] to document, and | |
81 | `make document` to generate it. | |
82 | ||
026a2f69 BB |
83 | ## Running tests |
84 | ||
255dbbae BB |
85 | No tests at the moment 😬... but the makefile is mapped to run the swift |
86 | tests. | |
87 | ||
88 | ``` | |
89 | make test | |
90 | ``` | |
22172f7d | 91 | |
259284d0 BB |
92 | [swiftlint]: https://github.com/realm/SwiftLint |
93 | [jazzy]: https://github.com/realm/jazzy | |
94 | [sourcekitten]: https://github.com/jpsim/SourceKitten |