Add hooks, @file mentions, session search/fork/export, follow-scroll
- Hooks ([[hooks]]): pre_tool, post_tool, user_prompt, stop; sandboxed, exit 2 blocks - @file mentions with autocomplete; mentioned files/folders are attached to the prompt - Session full-text search in the sidebar, fork into a copy, export as Markdown/JSON - Chat follows the newest message until the user scrolls up; jump-to-latest button - SVG activity spark and thinking icon instead of Unicode/emoji glyphs - File search ranks name matches first and returns relative paths Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ec1b9b4925
commit
013695722a
17 files changed
+911
-41
No files matched your search
@@ -24,6 +24,31 @@ pub struct Config {
|
||||
pub sandbox: SandboxConfig,
|
||||
pub search: SearchConfig,
|
||||
pub lsp: LspConfig,
|
||||
#[serde(skip_serializing_if = "Vec::is_empty")]
|
||||
pub hooks: Vec<HookConfig>,
|
||||
}
|
||||
|
||||
/// A shell command run on an agent event (see hooks.rs).
|
||||
#[derive(Debug, Clone, Deserialize, Serialize)]
|
||||
pub struct HookConfig {
|
||||
/// pre_tool, post_tool, user_prompt or stop.
|
||||
pub event: String,
|
||||
/// Tool name pattern for tool events ("*", "bash", "edit|write", "mcp__*").
|
||||
#[serde(default = "star")]
|
||||
pub matcher: String,
|
||||
pub command: String,
|
||||
#[serde(default = "sixty")]
|
||||
pub timeout_secs: u64,
|
||||
#[serde(default = "yes")]
|
||||
pub enabled: bool,
|
||||
}
|
||||
|
||||
fn star() -> String {
|
||||
"*".into()
|
||||
}
|
||||
|
||||
fn sixty() -> u64 {
|
||||
60
|
||||
}
|
||||
|
||||
/// Language servers for diagnostics after edits.
|
||||
|
||||
Reference in new issue
Block a user