better completion

This commit is contained in:
Dmitry Sharshakov 2021-08-29 13:16:57 +03:00
parent 9d2f2a9e32
commit 98fda6b8f0
No known key found for this signature in database
GPG key ID: 471FD32E15FD8473
2 changed files with 10 additions and 12 deletions

View file

@ -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<String>,
) -> 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| {

View file

@ -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]]