Bump version to 0.7.0
This commit is contained in:
parent
876619454e
commit
02bfd3ed3d
4 changed files with 578 additions and 15 deletions
|
|
@ -15,6 +15,8 @@ Procedure when bumping the version number:
|
|||
|
||||
## Unreleased
|
||||
|
||||
## v0.7.0 - 2023-05-14
|
||||
|
||||
### Added
|
||||
- Auto-generated config documentation
|
||||
- in [CONFIG.md](CONFIG.md)
|
||||
|
|
|
|||
581
CONFIG.md
581
CONFIG.md
|
|
@ -1,8 +1,74 @@
|
|||
# Configuration options
|
||||
# Config file format
|
||||
|
||||
Cove's config file uses the [TOML](https://toml.io/) format.
|
||||
|
||||
## `data_dir`
|
||||
Here is an example config that changes a few different options:
|
||||
|
||||
```toml
|
||||
measure_widths = true
|
||||
rooms_sort_order = "importance"
|
||||
|
||||
[euph.rooms.welcome]
|
||||
autojoin = true
|
||||
|
||||
[euph.rooms.test]
|
||||
username = "badingle"
|
||||
force_username = true
|
||||
|
||||
[euph.rooms.private]
|
||||
password = "foobar"
|
||||
|
||||
[keys]
|
||||
general.abort = ["esc", "ctrl+c"]
|
||||
general.exit = "ctrl+q"
|
||||
tree.action.fold_tree = "f"
|
||||
```
|
||||
|
||||
If you want to configure lots of rooms, TOML lets you write this in a more
|
||||
compact way:
|
||||
|
||||
```toml
|
||||
[euph.rooms]
|
||||
foo = { autojoin = true }
|
||||
bar = { autojoin = true }
|
||||
baz = { autojoin = true }
|
||||
private = { autojoin = true, password = "foobar" }
|
||||
```
|
||||
|
||||
## Key bindings
|
||||
|
||||
Key bindings are specified as strings or lists of strings. Each string specifies
|
||||
a main key and zero or more modifier keys. The modifier keys (if any) are listed
|
||||
first, followed by the main key. They are separated by the `+` character and
|
||||
**no** whitespace.
|
||||
|
||||
Examples of key bindings:
|
||||
- `"ctrl+c"`
|
||||
- `"X"` (not `"shift+x"`)
|
||||
- `"space"` or `" "` (both space bar)
|
||||
- `["g", "home"]`
|
||||
- `["K", "ctrl+up"]`
|
||||
- `["f1", "?"]`
|
||||
- `"ctrl+alt+f3"`
|
||||
- `["enter", "any+enter"]` (matches `enter` regardless of modifiers)
|
||||
|
||||
Available main keys:
|
||||
- Any single character that can be typed
|
||||
- `esc`, `enter`, `space`, `tab`, `backtab`
|
||||
- `backspace`, `delete`, `insert`
|
||||
- `left`, `right`, `up`, `down`
|
||||
- `home`, `end`, `pageup`, `pagedown`
|
||||
- `f1`, `f2`, ...
|
||||
|
||||
Available modifiers:
|
||||
- `shift` (must not be used with single characters)
|
||||
- `ctrl`
|
||||
- `alt`
|
||||
- `any` (matches as long as at least one modifier is pressed)
|
||||
|
||||
## Available options
|
||||
|
||||
### `data_dir`
|
||||
|
||||
**Required:** no
|
||||
**Type:** path
|
||||
|
|
@ -15,7 +81,7 @@ Relative paths are interpreted relative to the user's home directory.
|
|||
|
||||
See also the `--data-dir` command line option.
|
||||
|
||||
## `ephemeral`
|
||||
### `ephemeral`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** boolean
|
||||
|
|
@ -28,7 +94,7 @@ any options related to the data dir.
|
|||
|
||||
See also the `--ephemeral` command line option.
|
||||
|
||||
## `euph.rooms.<room>.autojoin`
|
||||
### `euph.rooms.<room>.autojoin`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** boolean
|
||||
|
|
@ -36,7 +102,7 @@ See also the `--ephemeral` command line option.
|
|||
|
||||
Whether to automatically join this room on startup.
|
||||
|
||||
## `euph.rooms.<room>.force_username`
|
||||
### `euph.rooms.<room>.force_username`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** boolean
|
||||
|
|
@ -46,7 +112,7 @@ 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`
|
||||
### `euph.rooms.<room>.password`
|
||||
|
||||
**Required:** no
|
||||
**Type:** string
|
||||
|
|
@ -54,7 +120,7 @@ the current session.
|
|||
If set, cove will try once to use this password to authenticate, should
|
||||
the room be password-protected.
|
||||
|
||||
## `euph.rooms.<room>.username`
|
||||
### `euph.rooms.<room>.username`
|
||||
|
||||
**Required:** no
|
||||
**Type:** string
|
||||
|
|
@ -62,7 +128,502 @@ the room be password-protected.
|
|||
If set, cove will set this username upon joining if there is no username
|
||||
associated with the current session.
|
||||
|
||||
## `offline`
|
||||
### `keys.cursor.down`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["j", "down"]`
|
||||
|
||||
Move down.
|
||||
|
||||
### `keys.cursor.to_bottom`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["G", "end"]`
|
||||
|
||||
Move to bottom.
|
||||
|
||||
### `keys.cursor.to_top`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["g", "home"]`
|
||||
|
||||
Move to top.
|
||||
|
||||
### `keys.cursor.up`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["k", "up"]`
|
||||
|
||||
Move up.
|
||||
|
||||
### `keys.editor.action.backspace`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+h", "backspace"]`
|
||||
|
||||
Delete before cursor.
|
||||
|
||||
### `keys.editor.action.clear`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+l"`
|
||||
|
||||
Clear editor contents.
|
||||
|
||||
### `keys.editor.action.delete`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+d", "delete"]`
|
||||
|
||||
Delete after cursor.
|
||||
|
||||
### `keys.editor.action.external`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+x", "alt+e"]`
|
||||
|
||||
Edit in external editor.
|
||||
|
||||
### `keys.editor.cursor.down`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"down"`
|
||||
|
||||
Move down.
|
||||
|
||||
### `keys.editor.cursor.end`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+e", "end"]`
|
||||
|
||||
Move to end of line.
|
||||
|
||||
### `keys.editor.cursor.left`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+b", "left"]`
|
||||
|
||||
Move left.
|
||||
|
||||
### `keys.editor.cursor.left_word`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["alt+b", "ctrl+left"]`
|
||||
|
||||
Move left a word.
|
||||
|
||||
### `keys.editor.cursor.right`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+f", "right"]`
|
||||
|
||||
Move right.
|
||||
|
||||
### `keys.editor.cursor.right_word`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["alt+f", "ctrl+right"]`
|
||||
|
||||
Move right a word.
|
||||
|
||||
### `keys.editor.cursor.start`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+a", "home"]`
|
||||
|
||||
Move to start of line.
|
||||
|
||||
### `keys.editor.cursor.up`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"up"`
|
||||
|
||||
Move up.
|
||||
|
||||
### `keys.general.abort`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"esc"`
|
||||
|
||||
Abort/close.
|
||||
|
||||
### `keys.general.confirm`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"enter"`
|
||||
|
||||
Confirm.
|
||||
|
||||
### `keys.general.exit`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+c"`
|
||||
|
||||
Quit cove.
|
||||
|
||||
### `keys.general.focus`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"tab"`
|
||||
|
||||
Advance focus.
|
||||
|
||||
### `keys.general.help`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"f1"`
|
||||
|
||||
Show this help.
|
||||
|
||||
### `keys.general.log`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"f12"`
|
||||
|
||||
Show log.
|
||||
|
||||
### `keys.room.action.account`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"A"`
|
||||
|
||||
Manage account.
|
||||
|
||||
### `keys.room.action.authenticate`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"a"`
|
||||
|
||||
Authenticate.
|
||||
|
||||
### `keys.room.action.more_messages`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"m"`
|
||||
|
||||
Download more messages.
|
||||
|
||||
### `keys.room.action.nick`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"n"`
|
||||
|
||||
Change nick.
|
||||
|
||||
### `keys.room.action.present`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+p"`
|
||||
|
||||
Open room's plugh.de/present page.
|
||||
|
||||
### `keys.rooms.action.change_sort_order`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"s"`
|
||||
|
||||
Change sort order.
|
||||
|
||||
### `keys.rooms.action.connect`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"c"`
|
||||
|
||||
Connect to selected room.
|
||||
|
||||
### `keys.rooms.action.connect_all`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"C"`
|
||||
|
||||
Connect to all rooms.
|
||||
|
||||
### `keys.rooms.action.connect_autojoin`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"a"`
|
||||
|
||||
Connect to all autojoin rooms.
|
||||
|
||||
### `keys.rooms.action.delete`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"X"`
|
||||
|
||||
Delete room.
|
||||
|
||||
### `keys.rooms.action.disconnect`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"d"`
|
||||
|
||||
Disconnect from selected room.
|
||||
|
||||
### `keys.rooms.action.disconnect_all`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"D"`
|
||||
|
||||
Disconnect from all rooms.
|
||||
|
||||
### `keys.rooms.action.disconnect_non_autojoin`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"A"`
|
||||
|
||||
Disconnect from all non-autojoin rooms.
|
||||
|
||||
### `keys.rooms.action.new`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"n"`
|
||||
|
||||
Connect to new room.
|
||||
|
||||
### `keys.scroll.center_cursor`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"z"`
|
||||
|
||||
Center cursor.
|
||||
|
||||
### `keys.scroll.down_full`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+f", "pagedown"]`
|
||||
|
||||
Scroll down a full screen.
|
||||
|
||||
### `keys.scroll.down_half`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+d"`
|
||||
|
||||
Scroll down half a screen.
|
||||
|
||||
### `keys.scroll.down_line`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+e"`
|
||||
|
||||
Scroll down one line.
|
||||
|
||||
### `keys.scroll.up_full`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["ctrl+b", "pageup"]`
|
||||
|
||||
Scroll up a full screen.
|
||||
|
||||
### `keys.scroll.up_half`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+u"`
|
||||
|
||||
Scroll up half a screen.
|
||||
|
||||
### `keys.scroll.up_line`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+y"`
|
||||
|
||||
Scroll up one line.
|
||||
|
||||
### `keys.tree.action.fold_tree`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"space"`
|
||||
|
||||
Fold current message's subtree.
|
||||
|
||||
### `keys.tree.action.inspect`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"i"`
|
||||
|
||||
Inspect selected element.
|
||||
|
||||
### `keys.tree.action.links`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"I"`
|
||||
|
||||
List links found in message.
|
||||
|
||||
### `keys.tree.action.mark_older_seen`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"ctrl+s"`
|
||||
|
||||
Mark all older messages as seen.
|
||||
|
||||
### `keys.tree.action.mark_visible_seen`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"S"`
|
||||
|
||||
Mark all visible messages as seen.
|
||||
|
||||
### `keys.tree.action.new_thread`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"t"`
|
||||
|
||||
Start a new thread.
|
||||
|
||||
### `keys.tree.action.reply`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"r"`
|
||||
|
||||
Reply to message, inline if possible.
|
||||
|
||||
### `keys.tree.action.reply_alternate`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"R"`
|
||||
|
||||
Reply opposite to normal reply.
|
||||
|
||||
### `keys.tree.action.toggle_seen`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"s"`
|
||||
|
||||
Toggle current message's seen status.
|
||||
|
||||
### `keys.tree.cursor.to_above_sibling`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["K", "ctrl+up"]`
|
||||
|
||||
Move to above sibling.
|
||||
|
||||
### `keys.tree.cursor.to_below_sibling`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["J", "ctrl+down"]`
|
||||
|
||||
Move to below sibling.
|
||||
|
||||
### `keys.tree.cursor.to_newer_message`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["l", "right"]`
|
||||
|
||||
Move to newer message.
|
||||
|
||||
### `keys.tree.cursor.to_newer_unseen_message`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["L", "ctrl+right"]`
|
||||
|
||||
Move to newer unseen message.
|
||||
|
||||
### `keys.tree.cursor.to_older_message`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["h", "left"]`
|
||||
|
||||
Move to older message.
|
||||
|
||||
### `keys.tree.cursor.to_older_unseen_message`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `["H", "ctrl+left"]`
|
||||
|
||||
Move to older unseen message.
|
||||
|
||||
### `keys.tree.cursor.to_parent`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"p"`
|
||||
|
||||
Move to parent.
|
||||
|
||||
### `keys.tree.cursor.to_root`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** key binding
|
||||
**Default:** `"P"`
|
||||
|
||||
Move to root.
|
||||
|
||||
### `measure_widths`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** boolean
|
||||
**Default:** `false`
|
||||
|
||||
Whether to measure the width of characters as displayed by the terminal
|
||||
emulator instead of guessing the width.
|
||||
|
||||
Enabling this makes rendering a bit slower but more accurate. The screen
|
||||
might also flash when encountering new characters (or, more accurately,
|
||||
graphemes).
|
||||
|
||||
See also the `--measure-graphemes` command line option.
|
||||
|
||||
### `offline`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** boolean
|
||||
|
|
@ -76,11 +637,11 @@ pressing `a` in the rooms list.
|
|||
|
||||
See also the `--offline` command line option.
|
||||
|
||||
## `rooms_sort_order`
|
||||
### `rooms_sort_order`
|
||||
|
||||
**Required:** yes
|
||||
**Type:** string
|
||||
**Values:** `alphabet`, `importance`
|
||||
**Values:** `"alphabet"`, `"importance"`
|
||||
**Default:** `alphabet`
|
||||
|
||||
Initial sort order of rooms list.
|
||||
|
|
|
|||
8
Cargo.lock
generated
8
Cargo.lock
generated
|
|
@ -249,7 +249,7 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
|
|||
|
||||
[[package]]
|
||||
name = "cove"
|
||||
version = "0.6.1"
|
||||
version = "0.7.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
|
@ -279,7 +279,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cove-config"
|
||||
version = "0.6.1"
|
||||
version = "0.7.0"
|
||||
dependencies = [
|
||||
"cove-input",
|
||||
"cove-macro",
|
||||
|
|
@ -290,7 +290,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cove-input"
|
||||
version = "0.6.1"
|
||||
version = "0.7.0"
|
||||
dependencies = [
|
||||
"cove-macro",
|
||||
"crossterm",
|
||||
|
|
@ -304,7 +304,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cove-macro"
|
||||
version = "0.6.1"
|
||||
version = "0.7.0"
|
||||
dependencies = [
|
||||
"case",
|
||||
"proc-macro2",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ resolver = "2"
|
|||
members = ["cove", "cove-*"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.6.1"
|
||||
version = "0.7.0"
|
||||
edition = "2021"
|
||||
|
||||
[workspace.dependencies]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue