aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/config.toml
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@atuin.sh>2026-01-22 15:33:12 -0800
committerGitHub <noreply@github.com>2026-01-22 15:33:12 -0800
commit8990f61820c5b1d688f2e01f9d06b3736556889e (patch)
tree26d087b212b013cf7f8816de6860b68cd502f07e /crates/atuin-client/config.toml
parentUpdate regex for AWS Access Key ID pattern (#3088) (diff)
downloadatuin-8990f61820c5b1d688f2e01f9d06b3736556889e.zip
feat: add custom column support (#3089)
Configure the interactive search UI appearance. Resolves #998 ```toml [ui] columns = ["duration", "time", "command"] ``` ### `columns` Default: `["duration", "time", "command"]` Columns to display in the interactive search, from left to right. The selection indicator (`" > "`) is always shown first implicitly. Each column can be specified as: - A simple string (uses default width): `"duration"` - An object with type and optional width/expand: `{ type = "directory", width = 30 }` #### Available column types | Column | Default Width | Description | | --------- | ------------- | ----------------------------------------------- | | duration | 5 | Command execution duration (e.g., "123ms") | | time | 8 | Relative time since execution (e.g., "59m ago") | | datetime | 16 | Absolute timestamp (e.g., "2025-01-22 14:35") | | directory | 20 | Working directory (truncated if too long) | | host | 15 | Hostname | | user | 10 | Username | | exit | 3 | Exit code (colored by success/failure) | | command | * | The command itself (expands by default) | #### Column options - **type**: The column type (required when using object format) - **width**: Custom width in characters (optional, uses default if not specified) - **expand**: If `true`, the column fills remaining space. Default is `true` for `command`, `false` for others. Only one column should have `expand = true`. #### Examples ```toml # Minimal - more space for commands columns = ["duration", "command"] # With custom directory width columns = ["duration", { type = "directory", width = 30 }, "command"] # Show host for multi-machine sync users columns = ["duration", "time", "host", "command"] # Show exit codes prominently columns = ["exit", "duration", "command"] # Make directory expand instead of command columns = ["duration", "time", { type = "directory", expand = true }, { type = "command", expand = false }] ```
Diffstat (limited to 'crates/atuin-client/config.toml')
-rw-r--r--crates/atuin-client/config.toml41
1 files changed, 41 insertions, 0 deletions
diff --git a/crates/atuin-client/config.toml b/crates/atuin-client/config.toml
index 2eb5d790..117ea066 100644
--- a/crates/atuin-client/config.toml
+++ b/crates/atuin-client/config.toml
@@ -289,3 +289,44 @@ records = true
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
## Default filter mode can be overridden with the filter_mode setting.
# filters = [ "global", "host", "session", "session-preload", "workspace", "directory" ]
+
+[ui]
+## Columns to display in the interactive search, from left to right.
+## The selection indicator (" > ") is always shown first implicitly.
+##
+## Each column can be specified as a simple string (uses default width)
+## or as an object with type, width, and expand:
+## { type = "directory", width = 30, expand = true }
+##
+## Available column types (with default widths):
+## duration (5) - Command execution duration (e.g., "123ms")
+## time (8) - Relative time since execution (e.g., "59m ago")
+## datetime (16) - Absolute timestamp (e.g., "2025-01-22 14:35")
+## directory (20) - Working directory (truncated if too long)
+## host (15) - Hostname where command was run
+## user (10) - Username
+## exit (3) - Exit code (colored by success/failure)
+## command (*) - The command itself (expands by default)
+##
+## The "expand" option (default: true for command, false for others) makes a
+## column fill remaining space. Only one column should have expand = true.
+##
+## Default:
+# columns = ["duration", "time", "command"]
+##
+## Examples:
+##
+## Minimal - more space for commands:
+# columns = ["duration", "command"]
+##
+## With wider directory column:
+# columns = ["duration", { type = "directory", width = 30 }, "command"]
+##
+## Show host for multi-machine sync users:
+# columns = ["duration", "time", "host", "command"]
+##
+## Show exit codes prominently:
+# columns = ["exit", "duration", "command"]
+##
+## Make directory expand instead of command:
+# columns = ["duration", "time", { type = "directory", expand = true }, { type = "command", expand = false }]