* Add option for keeping typed query on escape fixes #422 * chore: Address duplicate if statement blocks
4.5 KiB
Config
Atuin maintains two configuration files, stored in ~/.config/atuin/
. We store
data in ~/.local/share/atuin
(unless overridden by XDG_*).
You can also change the path to the configuration directory by setting
ATUIN_CONFIG_DIR
. For example
export ATUIN_CONFIG_DIR = /home/ellie/.atuin
Client config
~/.config/atuin/config.toml
The client runs on a user's machine, and unless you're running a server, this is what you care about.
See config.toml for an example
dialect
This configures how the stats command parses dates. It has two possible values
dialect = "uk"
or
dialect = "us"
and defaults to "us".
auto_sync
Configures whether or not to automatically sync, when logged in. Defaults to true
auto_sync = true/false
update_check
Configures whether or not to automatically check for updates. Defaults to true.
auto_sync = true/false
sync_address
The address of the server to sync with! Defaults to https://api.atuin.sh
.
sync_address = "https://api.atuin.sh"
sync_frequency
How often to automatically sync with the server. This can be given in a
"human-readable" format. For example, 10s
, 20m
, 1h
, etc. Defaults to 1h
.
If set to 0
, Atuin will sync after every command. Some servers may potentially
rate limit, which won't cause any issues.
sync_frequency = "1h"
db_path
The path to the Atuin SQlite database. Defaults to
~/.local/share/atuin/history.db
.
db_path = "~/.history.db"
key_path
The path to the Atuin encryption key. Defaults to
~/.local/share/atuin/key
.
key = "~/.atuin-key"
session_path
The path to the Atuin server session file. Defaults to
~/.local/share/atuin/session
. This is essentially just an API token
key = "~/.atuin-session"
search_mode
Which search mode to use. Atuin supports "prefix", fulltext and "fuzzy" search modes. The prefix searches for "query*", fulltext "*query*", and fuzzy applies the search syntax described below.
Defaults to "prefix"
style
Which style to use. Possible values: auto
, full
and compact
.
compact
:
full
:
Defaults to auto
.
filter_mode
The default filter to use when searching
Column1 | Column2 |
---|---|
global (default) | Search history from all hosts, all sessions, all directories |
host | Search history just from this host |
session | Search history just from the current session |
directory | Search history just from the current directory |
Filter modes can still be toggled via ctrl-r
search_mode = "fulltext"
exit_mode
What to do when the escape key is pressed when searching
Value | Behaviour |
---|---|
return-original (default) | Set the command-line to the value it had before starting search |
return-query | Set the command-line to the search query you have entered so far |
Pressing ctrl+c or ctrl+d will always return the original command-line value.
exit_mode = "return-query"
fuzzy
search syntax
The "fuzzy" search syntax is based on the fzf search syntax.
Token | Match type | Description |
---|---|---|
sbtrkt |
fuzzy-match | Items that match sbtrkt |
'wild |
exact-match (quoted) | Items that include wild |
^music |
prefix-exact-match | Items that start with music |
.mp3$ |
suffix-exact-match | Items that end with .mp3 |
!fire |
inverse-exact-match | Items that do not include fire |
!^music |
inverse-prefix-exact-match | Items that do not start with music |
!.mp3$ |
inverse-suffix-exact-match | Items that do not end with .mp3 |
A single bar character term acts as an OR operator. For example, the following
query matches entries that start with core
and end with either go
, rb
,
or py
.
^core go$ | rb$ | py$
Server config
// TODO