on master help sign in
better completion
98fda6bDmitry Sharshakov
helix-term/src/ui/editor.rs+6−8
@@ -26,7 +26,6 @@ use helix_view::{
26 keyboard::{KeyCode, KeyModifiers},
26 keyboard::{KeyCode, KeyModifiers},
27 Document, Editor, Theme, View,
27 Document, Editor, Theme, View,
28};
28};
29−use log::warn;
30use std::borrow::Cow;
29use std::borrow::Cow;
31
30
32use crossterm::event::{Event, MouseButton, MouseEvent, MouseEventKind};
31use crossterm::event::{Event, MouseButton, MouseEvent, MouseEventKind};
@@ -715,18 +714,17 @@ impl EditorView {
715 config_name: String,
714 config_name: String,
716 mut params: Vec<String>,
715 mut params: Vec<String>,
717 ) -> Prompt {
716 ) -> Prompt {
717+ let i = params.len();
718+ let field_type = completions.get(i).map(|x| x.as_str());
719+
718 let noop = |_input: &str| Vec::new();
720 let noop = |_input: &str| Vec::new();
719− let completer = match completions.get(0).map(|x| x.as_str()) {
721+ let completer = match field_type {
720 Some("filename") => super::completers::filename,
722 Some("filename") => super::completers::filename,
721 Some("directory") => super::completers::directory,
723 Some("directory") => super::completers::directory,
722− Some(complete) => {
723− warn!("Unknown debug config autocompleter: {}", complete);
724− noop
725− }
726− None => noop,
724+ _ => noop,
727 };
725 };
728 Prompt::new(
726 Prompt::new(
729− "arg: ".to_owned(),
727+ format!("{}: ", field_type.unwrap_or("arg")),
730 None,
728 None,
731 completer,
729 completer,
732 move |cx: &mut crate::compositor::Context, input: &str, event: PromptEvent| {
730 move |cx: &mut crate::compositor::Context, input: &str, event: PromptEvent| {
languages.toml+4−4
@@ -36,7 +36,7 @@ args = { console = "internalConsole", program = "{0}" }
36[[language.debugger.templates]]
36[[language.debugger.templates]]
37name = "attach"
37name = "attach"
38request = "attach"
38request = "attach"
39−completion = [ "none" ]
39+completion = [ "pid" ]
40args = { console = "internalConsole", pid = "{0}" }
40args = { console = "internalConsole", pid = "{0}" }
41
41
42[[language]]
42[[language]]
@@ -105,7 +105,7 @@ args = { console = "internalConsole", program = "{0}" }
105[[language.debugger.templates]]
105[[language.debugger.templates]]
106name = "attach"
106name = "attach"
107request = "attach"
107request = "attach"
108−completion = [ "none" ]
108+completion = [ "pid" ]
109args = { console = "internalConsole", pid = "{0}" }
109args = { console = "internalConsole", pid = "{0}" }
110
110
111[[language]]
111[[language]]
@@ -135,7 +135,7 @@ args = { console = "internalConsole", program = "{0}" }
135[[language.debugger.templates]]
135[[language.debugger.templates]]
136name = "attach"
136name = "attach"
137request = "attach"
137request = "attach"
138−completion = [ "none" ]
138+completion = [ "pid" ]
139args = { console = "internalConsole", pid = "{0}" }
139args = { console = "internalConsole", pid = "{0}" }
140
140
141[[language]]
141[[language]]
@@ -179,7 +179,7 @@ args = { mode = "test", program = "{0}", output = "{1}" }
179[[language.debugger.templates]]
179[[language.debugger.templates]]
180name = "attach"
180name = "attach"
181request = "attach"
181request = "attach"
182−completion = [ "none" ]
182+completion = [ "pid" ]
183args = { mode = "local", processId = "{0}" }
183args = { mode = "local", processId = "{0}" }
184
184
185[[language]]
185[[language]]