refactor: DRY cleanup — extract shared helpers, remove duplication across tools, LSP, overlays, and runtime
Eliminate ~500 lines of duplicate code across 31 files by extracting shared functions, helpers, and consolidating repeated patterns. Highlights: - Toast helpers (toast_info/success/warning/error) on AppStateRest - push_event() helper for turn-event queue (19 callers consolidated) - log_write_edit_tool() shared fn (turn.rs + engine.rs ~50 lines saved) - resolve_api_key() shared fn (spawn.rs + provider.rs) - LSP call_positional() helper on LspClient - lsp_cursor_params() shared schema for 4 tool files -overlay_block() helper for consistent overlay title/border styling - cycle_selected_index(), path_not_found/a_directory() helpers - mark_dirty(), save_settings() on AppStateRest - Remove redundant Err(e) => Err(e) arms in LSP tools - Consolidate generate_workspace_tree (turn.rs → workspace.rs) - Simplify background-review wrapper args in auto/mod.rs Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b02754acd2
commit
9a6ab62562
@@ -315,7 +315,7 @@ pub fn shape_messages(
|
||||
let mut result: Option<String> = None;
|
||||
let mut last_err: Option<anyhow::Error> = None;
|
||||
for attempt in 0..2 {
|
||||
match llm.chat_with_tools_non_streaming(&req_msgs, None) {
|
||||
match llm.chat_with_tools_non_streaming(&req_msgs, None, None, None, abort_flag) {
|
||||
Ok(resp) => {
|
||||
if let Some(content) = resp.0.content {
|
||||
result = Some(format!(
|
||||
|
||||
Reference in New Issue
Block a user