Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d99df76d8 | |||
| ea95eeda14 |
+19
-1
@@ -2212,8 +2212,26 @@ fn palette_item(
|
||||
} else {
|
||||
vec![]
|
||||
};
|
||||
let prefix = if let PaletteItemContent::PaletteHelp { prefix, .. } =
|
||||
item.content
|
||||
{
|
||||
label(move || prefix).style(move |s| {
|
||||
s.padding_horiz(5.0)
|
||||
.padding_vert(1.0)
|
||||
.margin_right(5.0)
|
||||
.font_family(config.get().editor.font_family.clone())
|
||||
.apply_if(!prefix.is_empty(), |s| {
|
||||
s.border(1.0).border_radius(3.0).border_color(
|
||||
*config.get().get_color(LapceColor::LAPCE_BORDER),
|
||||
)
|
||||
})
|
||||
})
|
||||
} else {
|
||||
label(move || "")
|
||||
};
|
||||
container_box(
|
||||
stack((
|
||||
prefix,
|
||||
focus_text(
|
||||
move || text.clone(),
|
||||
move || indices.clone(),
|
||||
@@ -2353,7 +2371,7 @@ fn palette_content(
|
||||
let workspace = workspace.clone();
|
||||
let keymap = {
|
||||
let cmd_kind = match &item.content {
|
||||
PaletteItemContent::PaletteHelp { cmd } => {
|
||||
PaletteItemContent::PaletteHelp { prefix: _, cmd } => {
|
||||
Some(CommandKind::Workbench(cmd.clone()))
|
||||
}
|
||||
PaletteItemContent::Command {
|
||||
|
||||
@@ -380,28 +380,16 @@ impl PaletteData {
|
||||
/// Initialize the palette with a list of the available palette kinds.
|
||||
fn get_palette_help(&self) {
|
||||
let items = PaletteKind::iter()
|
||||
.filter_map(|kind| {
|
||||
// Don't include PaletteHelp as the user is already here.
|
||||
(kind != PaletteKind::PaletteHelp)
|
||||
.then(|| {
|
||||
let symbol = kind.symbol();
|
||||
|
||||
// Only include palette kinds accessible by typing a prefix into the
|
||||
// palette.
|
||||
(kind == PaletteKind::File || !symbol.is_empty())
|
||||
.then_some(kind)
|
||||
})
|
||||
.flatten()
|
||||
})
|
||||
.filter_map(|kind| kind.command().map(|cmd| (kind, cmd)))
|
||||
.map(|(kind, cmd)| {
|
||||
let description = kind.symbol().to_string()
|
||||
+ " "
|
||||
+ cmd.get_message().unwrap_or("");
|
||||
let description = cmd.get_message().unwrap_or("");
|
||||
|
||||
PaletteItem {
|
||||
content: PaletteItemContent::PaletteHelp { cmd },
|
||||
filter_text: description,
|
||||
content: PaletteItemContent::PaletteHelp {
|
||||
prefix: kind.symbol(),
|
||||
cmd,
|
||||
},
|
||||
filter_text: description.to_owned(),
|
||||
score: 0,
|
||||
indices: vec![],
|
||||
}
|
||||
@@ -936,7 +924,7 @@ impl PaletteData {
|
||||
self.close();
|
||||
if let Some(item) = items.get(index) {
|
||||
match &item.content {
|
||||
PaletteItemContent::PaletteHelp { cmd } => {
|
||||
PaletteItemContent::PaletteHelp { prefix: _, cmd } => {
|
||||
let cmd = LapceCommand {
|
||||
kind: CommandKind::Workbench(cmd.clone()),
|
||||
data: None,
|
||||
|
||||
@@ -21,6 +21,7 @@ pub struct PaletteItem {
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
pub enum PaletteItemContent {
|
||||
PaletteHelp {
|
||||
prefix: &'static str,
|
||||
cmd: LapceWorkbenchCommand,
|
||||
},
|
||||
File {
|
||||
|
||||
Reference in New Issue
Block a user