gpui: Reduce manual shifting & other minor improvements (#34407)
Minor cleanup in gpui. - Reduce manual shifting by using `u32::to_be_bytes` - Remove eager `Vec` allocation when listing registered actions - Remove unnecessary return statements - Replace manual `if let Some(_)` with `.as_deref_mut()` Release Notes: - N/A
This commit is contained in:
parent
05065985e7
commit
d1abba0d33
5 changed files with 12 additions and 25 deletions
|
@ -243,7 +243,6 @@ struct ActionDef {
|
|||
|
||||
fn dump_all_gpui_actions() -> Vec<ActionDef> {
|
||||
let mut actions = gpui::generate_list_of_all_registered_actions()
|
||||
.into_iter()
|
||||
.map(|action| ActionDef {
|
||||
name: action.name,
|
||||
human_name: command_palette::humanize_action_name(action.name),
|
||||
|
|
|
@ -403,12 +403,10 @@ impl ActionRegistry {
|
|||
/// Useful for transforming the list of available actions into a
|
||||
/// format suited for static analysis such as in validating keymaps, or
|
||||
/// generating documentation.
|
||||
pub fn generate_list_of_all_registered_actions() -> Vec<MacroActionData> {
|
||||
let mut actions = Vec::new();
|
||||
for builder in inventory::iter::<MacroActionBuilder> {
|
||||
actions.push(builder.0());
|
||||
}
|
||||
actions
|
||||
pub fn generate_list_of_all_registered_actions() -> impl Iterator<Item = MacroActionData> {
|
||||
inventory::iter::<MacroActionBuilder>
|
||||
.into_iter()
|
||||
.map(|builder| builder.0())
|
||||
}
|
||||
|
||||
mod no_action {
|
||||
|
|
|
@ -1250,11 +1250,7 @@ impl App {
|
|||
.downcast::<T>()
|
||||
.unwrap()
|
||||
.update(cx, |entity_state, cx| {
|
||||
if let Some(window) = window {
|
||||
on_new(entity_state, Some(window), cx);
|
||||
} else {
|
||||
on_new(entity_state, None, cx);
|
||||
}
|
||||
on_new(entity_state, window.as_deref_mut(), cx)
|
||||
})
|
||||
},
|
||||
),
|
||||
|
|
|
@ -12,18 +12,13 @@ use std::{
|
|||
|
||||
/// Convert an RGB hex color code number to a color type
|
||||
pub fn rgb(hex: u32) -> Rgba {
|
||||
let r = ((hex >> 16) & 0xFF) as f32 / 255.0;
|
||||
let g = ((hex >> 8) & 0xFF) as f32 / 255.0;
|
||||
let b = (hex & 0xFF) as f32 / 255.0;
|
||||
let [_, r, g, b] = hex.to_be_bytes().map(|b| (b as f32) / 255.0);
|
||||
Rgba { r, g, b, a: 1.0 }
|
||||
}
|
||||
|
||||
/// Convert an RGBA hex color code number to [`Rgba`]
|
||||
pub fn rgba(hex: u32) -> Rgba {
|
||||
let r = ((hex >> 24) & 0xFF) as f32 / 255.0;
|
||||
let g = ((hex >> 16) & 0xFF) as f32 / 255.0;
|
||||
let b = ((hex >> 8) & 0xFF) as f32 / 255.0;
|
||||
let a = (hex & 0xFF) as f32 / 255.0;
|
||||
let [r, g, b, a] = hex.to_be_bytes().map(|b| (b as f32) / 255.0);
|
||||
Rgba { r, g, b, a }
|
||||
}
|
||||
|
||||
|
@ -63,14 +58,14 @@ impl Rgba {
|
|||
if other.a >= 1.0 {
|
||||
other
|
||||
} else if other.a <= 0.0 {
|
||||
return *self;
|
||||
*self
|
||||
} else {
|
||||
return Rgba {
|
||||
Rgba {
|
||||
r: (self.r * (1.0 - other.a)) + (other.r * other.a),
|
||||
g: (self.g * (1.0 - other.a)) + (other.g * other.a),
|
||||
b: (self.b * (1.0 - other.a)) + (other.b * other.a),
|
||||
a: self.a,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -494,12 +489,12 @@ impl Hsla {
|
|||
if alpha >= 1.0 {
|
||||
other
|
||||
} else if alpha <= 0.0 {
|
||||
return self;
|
||||
self
|
||||
} else {
|
||||
let converted_self = Rgba::from(self);
|
||||
let converted_other = Rgba::from(other);
|
||||
let blended_rgb = converted_self.blend(converted_other);
|
||||
return Hsla::from(blended_rgb);
|
||||
Hsla::from(blended_rgb)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1391,7 +1391,6 @@ fn dump_all_gpui_actions() {
|
|||
documentation: Option<&'static str>,
|
||||
}
|
||||
let mut actions = gpui::generate_list_of_all_registered_actions()
|
||||
.into_iter()
|
||||
.map(|action| ActionDef {
|
||||
name: action.name,
|
||||
human_name: command_palette::humanize_action_name(action.name),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue