summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoscha <joscha@plugh.de>2022-09-01 21:11:53 +0200
committerJoscha <joscha@plugh.de>2022-09-01 21:11:53 +0200
commit86c128b92d35c10fecf42df1837096da21436f91 (patch)
treeb965d0f1e262b3643ebf8fdfea9d8cbea7836605
parent067389efa2a57c44886a88ee87703a77f470ffae (diff)
Document config file format and options
-rw-r--r--README.md80
-rw-r--r--src/main.rs4
2 files changed, 84 insertions, 0 deletions
diff --git a/README.md b/README.md
index 7a07eea..c8eaa37 100644
--- a/README.md
+++ b/README.md
@@ -66,3 +66,83 @@ in the full version you want to install:
```bash
$ cargo install --force --git https://github.com/Garmelon/cove --tag v0.1.0
```
+
+## Config file
+
+Cove's config file uses the [TOML](https://toml.io/) format.
+
+When launched, cove prints the location it is loading its config file from. To
+configure cove, create a config file at that location. This location can be
+changed via the `--config` command line option.
+
+The following is a complete list of available options. If a command line option
+with the same purpose exists, it takes precedence over the option specified in
+the config file.
+
+### `data_dir`
+
+**Type:** String (representing path)
+**Default:** Platform dependent
+
+The directory that cove stores its data in when not running in ephemeral mode.
+
+Relative paths are interpreted relative to the user's home directory.
+
+See also the `--data-dir` command line option.
+
+### `ephemeral`
+
+**Type:** Boolean
+**Default:** `false`
+
+Whether to start in ephemeral mode.
+
+In ephemeral mode, cove doesn't store any data. It completely ignores any
+options related to the data dir.
+
+See also the `--ephemeral` command line option.
+
+### `offline`
+
+**Type:** Boolean
+**Default:** `false`
+
+Whether to start in offline mode.
+
+In offline mode, cove won't automatically join rooms marked via the `autojoin`
+option on startup. You can still join those rooms manually by pressing `a` in
+the rooms list.
+
+See also the `--offline` command line option.
+
+### `euph.rooms.<room>.autojoin`
+
+**Type:** Boolean
+**Default:** `false`
+
+Whether to automatically join this room on startup.
+
+### `euph.rooms.<room>.username`
+
+**Type:** String
+**Default:** Not st
+
+If set, cove will set this username upon joining if there is no username
+associated with the current session.
+
+### `euph.rooms.<room>.force_username`
+
+**Type:** Boolean
+**Default:** `false`
+
+If `euph.rooms.<room>.username` is set, this will force cove to set the username
+even if there is already a different username associated with the current
+session.
+
+### `euph.rooms.<room>.password`
+
+**Type:** String
+**Default:** Not st
+
+If set, cove will try once to use this password to authenticate, should the room
+be password-protected.
diff --git a/src/main.rs b/src/main.rs
index ea4610f..d1805cd 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -61,10 +61,14 @@ impl Default for Command {
#[clap(version)]
struct Args {
/// Path to the config file.
+ ///
+ /// Relative paths are interpreted relative to the current directory.
#[clap(long, short)]
config: Option<PathBuf>,
/// Path to a directory for cove to store its data in.
+ ///
+ /// Relative paths are interpreted relative to the current directory.
#[clap(long, short)]
data_dir: Option<PathBuf>,