From 1c31b83c0898759eb0cfc46e16aa97d090317a82 Mon Sep 17 00:00:00 2001 From: Roland Walker Date: Sat, 28 Feb 2026 07:09:15 -0500 Subject: [PATCH] complete filenames on more special commands Although filename completion has a number of limitations currently, we should still offer it on each special command which accepts a filename, not just "source". --- changelog.md | 5 +++++ mycli/packages/completion_engine.py | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index aa90f4e9..e7708833 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,11 @@ Upcoming (TBD) ============== +Features +--------- +* Offer filename completions on more special commands, such as `\edit`. + + Bug Fixes --------- * Make toolbar widths consistent on toggle actions. diff --git a/mycli/packages/completion_engine.py b/mycli/packages/completion_engine.py index 6e6a5103..6d8258b5 100644 --- a/mycli/packages/completion_engine.py +++ b/mycli/packages/completion_engine.py @@ -231,7 +231,19 @@ def suggest_special(text: str) -> list[dict[str, Any]]: {"type": "view", "schema": []}, {"type": "schema"}, ] - elif cmd.lower() in ["\\.", "source"]: + elif cmd.lower() in [ + r'\.', + 'source', + r'\o', + r'\once', + r'tee', + ]: + return [{"type": "file_name"}] + # todo: why is \edit case-sensitive? + elif cmd in [ + r'\e', + r'\edit', + ]: return [{"type": "file_name"}] if cmd in ["\\llm", "\\ai"]: return [{"type": "llm"}]