From 27ee3f07c39f3f584fac4a8712dd4fe97e46e462 Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Tue, 10 Mar 2026 16:51:07 +0100 Subject: command completion (only builtins and user-defined funs for now) --- src/completion.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/completion.rs') diff --git a/src/completion.rs b/src/completion.rs index 61dce76..2137b6f 100644 --- a/src/completion.rs +++ b/src/completion.rs @@ -79,3 +79,22 @@ pub fn variable_completion(session: Arc>, prefix: BString) -> Vec } out } + +pub fn command_completion(session: Arc>, prefix: BString) -> Vec { + let se = session.lock().unwrap(); + let mut out = Vec::new(); + for fun in se.funs.keys().chain(se.builtins.keys()) { + if fun.starts_with(&prefix) { + out.push(Suggestion { + display: fun.to_vec(), + delta: fun[prefix.len()..].to_vec(), + }) + } + } + + for s in out.iter_mut() { + s.delta.push(b' '); + } + + out +} -- cgit v1.2.3