mirror of
https://github.com/nushell/nushell.git
synced 2024-10-05 09:52:40 +02:00
add match-text style + config setting for ide menu (#11670)
the match-text style (https://github.com/nushell/reedline/pull/730) is now configurable via the config.nu file. the option ``correct_cursor_pos`` can now also be set in the config.nu file.
This commit is contained in:
parent
0e023eaa84
commit
86dd045554
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -4650,7 +4650,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "reedline"
|
name = "reedline"
|
||||||
version = "0.28.0"
|
version = "0.28.0"
|
||||||
source = "git+https://github.com/nushell/reedline?branch=main#c8a52a85f1e166d8ff0a95c6f114da7f40ba0df4"
|
source = "git+https://github.com/nushell/reedline?branch=main#090af4d323d09d48ca05a2690658759982df11bd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arboard",
|
"arboard",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
@ -236,6 +236,22 @@ pub(crate) fn add_columnar_menu(
|
|||||||
columnar_menu,
|
columnar_menu,
|
||||||
ColumnarMenu::with_description_text_style
|
ColumnarMenu::with_description_text_style
|
||||||
);
|
);
|
||||||
|
add_style!(
|
||||||
|
"match_text",
|
||||||
|
val,
|
||||||
|
span,
|
||||||
|
config,
|
||||||
|
columnar_menu,
|
||||||
|
ColumnarMenu::with_match_text_style
|
||||||
|
);
|
||||||
|
add_style!(
|
||||||
|
"selected_match_text",
|
||||||
|
val,
|
||||||
|
span,
|
||||||
|
config,
|
||||||
|
columnar_menu,
|
||||||
|
ColumnarMenu::with_selected_match_text_style
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let marker = menu.marker.into_string("", config);
|
let marker = menu.marker.into_string("", config);
|
||||||
@ -492,6 +508,14 @@ pub(crate) fn add_ide_menu(
|
|||||||
}
|
}
|
||||||
Err(_) => ide_menu,
|
Err(_) => ide_menu,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ide_menu = match extract_value("correct_cursor_pos", val, span) {
|
||||||
|
Ok(correct_cursor_pos) => {
|
||||||
|
let correct_cursor_pos = correct_cursor_pos.as_bool()?;
|
||||||
|
ide_menu.with_correct_cursor_pos(correct_cursor_pos)
|
||||||
|
}
|
||||||
|
Err(_) => ide_menu,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
let span = menu.style.span();
|
let span = menu.style.span();
|
||||||
@ -520,6 +544,22 @@ pub(crate) fn add_ide_menu(
|
|||||||
ide_menu,
|
ide_menu,
|
||||||
IdeMenu::with_description_text_style
|
IdeMenu::with_description_text_style
|
||||||
);
|
);
|
||||||
|
add_style!(
|
||||||
|
"match_text",
|
||||||
|
val,
|
||||||
|
span,
|
||||||
|
config,
|
||||||
|
ide_menu,
|
||||||
|
IdeMenu::with_match_text_style
|
||||||
|
);
|
||||||
|
add_style!(
|
||||||
|
"selected_match_text",
|
||||||
|
val,
|
||||||
|
span,
|
||||||
|
config,
|
||||||
|
ide_menu,
|
||||||
|
IdeMenu::with_selected_match_text_style
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let marker = menu.marker.into_string("", config);
|
let marker = menu.marker.into_string("", config);
|
||||||
|
@ -267,6 +267,8 @@ $env.config = {
|
|||||||
text: green
|
text: green
|
||||||
selected_text: {attr: r}
|
selected_text: {attr: r}
|
||||||
description_text: yellow
|
description_text: yellow
|
||||||
|
match_text: {attr: u}
|
||||||
|
selected_match_text: {attr: ur}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@ -286,11 +288,20 @@ $env.config = {
|
|||||||
max_description_width: 50
|
max_description_width: 50
|
||||||
max_description_height: 10
|
max_description_height: 10
|
||||||
description_offset: 1
|
description_offset: 1
|
||||||
|
# If true, the cursor pos will be corrected, so the suggestions match up with the typed text
|
||||||
|
#
|
||||||
|
# C:\> str
|
||||||
|
# str join
|
||||||
|
# str trim
|
||||||
|
# str split
|
||||||
|
correct_cursor_pos: false
|
||||||
}
|
}
|
||||||
style: {
|
style: {
|
||||||
text: green
|
text: green
|
||||||
selected_text: green_reverse
|
selected_text: {attr: r}
|
||||||
description_text: yellow
|
description_text: yellow
|
||||||
|
match_text: {attr: u}
|
||||||
|
selected_match_text: {attr: ur}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user