From 98fda6b8f004549cdbccb4b5567b0388b90fdb37 Mon Sep 17 00:00:00 2001 From: Dmitry Sharshakov Date: Sun, 29 Aug 2021 13:16:57 +0300 Subject: better completion --- helix-term/src/ui/editor.rs | 14 ++++++-------- languages.toml | 8 ++++---- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 5669a6e7..99fffbbd 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -26,7 +26,6 @@ use helix_view::{ keyboard::{KeyCode, KeyModifiers}, Document, Editor, Theme, View, }; -use log::warn; use std::borrow::Cow; use crossterm::event::{Event, MouseButton, MouseEvent, MouseEventKind}; @@ -715,18 +714,17 @@ impl EditorView { config_name: String, mut params: Vec, ) -> Prompt { + let i = params.len(); + let field_type = completions.get(i).map(|x| x.as_str()); + let noop = |_input: &str| Vec::new(); - let completer = match completions.get(0).map(|x| x.as_str()) { + let completer = match field_type { Some("filename") => super::completers::filename, Some("directory") => super::completers::directory, - Some(complete) => { - warn!("Unknown debug config autocompleter: {}", complete); - noop - } - None => noop, + _ => noop, }; Prompt::new( - "arg: ".to_owned(), + format!("{}: ", field_type.unwrap_or("arg")), None, completer, move |cx: &mut crate::compositor::Context, input: &str, event: PromptEvent| { diff --git a/languages.toml b/languages.toml index 6dbbb8c7..1256ffe1 100644 --- a/languages.toml +++ b/languages.toml @@ -36,7 +36,7 @@ args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" -completion = [ "none" ] +completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language]] @@ -105,7 +105,7 @@ args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" -completion = [ "none" ] +completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language]] @@ -135,7 +135,7 @@ args = { console = "internalConsole", program = "{0}" } [[language.debugger.templates]] name = "attach" request = "attach" -completion = [ "none" ] +completion = [ "pid" ] args = { console = "internalConsole", pid = "{0}" } [[language]] @@ -179,7 +179,7 @@ args = { mode = "test", program = "{0}", output = "{1}" } [[language.debugger.templates]] name = "attach" request = "attach" -completion = [ "none" ] +completion = [ "pid" ] args = { mode = "local", processId = "{0}" } [[language]] -- cgit v1.2.3-70-g09d2