Add return, space, tab, escape keybinding icons

This commit is contained in:
Nate Butler 2024-01-03 11:14:33 -05:00
parent b348d0e59f
commit b0bbb742ab
7 changed files with 43 additions and 34 deletions

View file

@ -1,4 +1 @@
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-delete"><path d="M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Z"/><line x1="18" x2="12" y1="9" y2="15"/><line x1="12" x2="18" y1="9" y2="15"/></svg>
<path d="M0.272727 11V0.818182H9.77841L14.8395 5.90909L9.77841 11H0.272727ZM4.03125 8.89205L3.3054 8.15625L8.54545 2.92614L9.27131 3.66193L4.03125 8.89205ZM8.54545 8.89205L3.3054 3.66193L4.03125 2.92614L9.27131 8.15625L8.54545 8.89205ZM1.34659 9.90625H9.34091L13.3182 5.90909L9.34091 1.91193H1.34659V9.90625Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 429 B

After

Width:  |  Height:  |  Size: 355 B

Before After
Before After

1
assets/icons/escape.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-left-from-circle"><path d="M2 8V2h6"/><path d="m2 2 10 10"/><path d="M12 2A10 10 0 1 1 2 12"/></svg>

After

Width:  |  Height:  |  Size: 312 B

View file

@ -1,3 +1 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-corner-down-left"><polyline points="9 10 4 15 9 20"/><path d="M20 4v7a4 4 0 0 1-4 4H4"/></svg>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.375 1.63C8.375 1.28482 8.65482 1.005 9 1.005H12.375C13.8247 1.005 15 2.18025 15 3.63V7.625C15 9.07474 13.8247 10.25 12.375 10.25H3.13388L6.07194 13.1881C6.31602 13.4321 6.31602 13.8279 6.07194 14.0719C5.82786 14.316 5.43214 14.316 5.18806 14.0719L1.18306 10.0669C0.938981 9.82286 0.938981 9.42714 1.18306 9.18306L5.18306 5.18306C5.42714 4.93898 5.82286 4.93898 6.06694 5.18306C6.31102 5.42714 6.31102 5.82286 6.06694 6.06694L3.13388 9H12.375C13.1344 9 13.75 8.38439 13.75 7.625V3.63C13.75 2.87061 13.1344 2.255 12.375 2.255H9C8.65482 2.255 8.375 1.97518 8.375 1.63Z" fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 737 B

After

Width:  |  Height:  |  Size: 297 B

Before After
Before After

1
assets/icons/space.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-space"><path d="M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"/></svg>

After

Width:  |  Height:  |  Size: 270 B

1
assets/icons/tab.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-to-line"><path d="M17 12H3"/><path d="m11 18 6-6-6-6"/><path d="M21 5v14"/></svg>

After

Width:  |  Height:  |  Size: 296 B

View file

@ -24,10 +24,10 @@ impl IconSize {
#[derive(Debug, PartialEq, Copy, Clone, EnumIter)] #[derive(Debug, PartialEq, Copy, Clone, EnumIter)]
pub enum Icon { pub enum Icon {
Ai, Ai,
ArrowLeft,
ArrowUp,
ArrowDown, ArrowDown,
ArrowLeft,
ArrowRight, ArrowRight,
ArrowUp,
ArrowUpRight, ArrowUpRight,
AtSign, AtSign,
AudioOff, AudioOff,
@ -39,25 +39,28 @@ pub enum Icon {
Bolt, Bolt,
CaseSensitive, CaseSensitive,
Check, Check,
Copy,
ChevronDown, ChevronDown,
ChevronLeft, ChevronLeft,
ChevronRight, ChevronRight,
ChevronUp, ChevronUp,
Close, Close,
Collab, Collab,
Command,
Control,
Copilot, Copilot,
CopilotInit,
CopilotError,
CopilotDisabled, CopilotDisabled,
CopilotError,
CopilotInit,
Copy,
Dash, Dash,
Delete, Delete,
Disconnected, Disconnected,
Ellipsis, Ellipsis,
Envelope, Envelope,
ExternalLink, Escape,
ExclamationTriangle, ExclamationTriangle,
Exit, Exit,
ExternalLink,
File, File,
FileDoc, FileDoc,
FileGeneric, FileGeneric,
@ -78,30 +81,30 @@ pub enum Icon {
MagnifyingGlass, MagnifyingGlass,
MailOpen, MailOpen,
Maximize, Maximize,
Minimize,
Menu, Menu,
MessageBubbles, MessageBubbles,
Mic, Mic,
MicMute, MicMute,
Minimize,
Option,
Plus, Plus,
Public, Public,
Quote, Quote,
Replace, Replace,
ReplaceAll, ReplaceAll,
ReplaceNext, ReplaceNext,
Return,
Screen, Screen,
SelectAll, SelectAll,
Split, Shift,
Snip, Snip,
Space,
Split,
Tab,
Terminal, Terminal,
Update,
WholeWord, WholeWord,
XCircle, XCircle,
Command,
Control,
Shift,
Option,
Return,
Update,
ZedXCopilot, ZedXCopilot,
} }
@ -109,10 +112,10 @@ impl Icon {
pub fn path(self) -> &'static str { pub fn path(self) -> &'static str {
match self { match self {
Icon::Ai => "icons/ai.svg", Icon::Ai => "icons/ai.svg",
Icon::ArrowDown => "icons/arrow_down.svg",
Icon::ArrowLeft => "icons/arrow_left.svg", Icon::ArrowLeft => "icons/arrow_left.svg",
Icon::ArrowRight => "icons/arrow_right.svg", Icon::ArrowRight => "icons/arrow_right.svg",
Icon::ArrowUp => "icons/arrow_up.svg", Icon::ArrowUp => "icons/arrow_up.svg",
Icon::ArrowDown => "icons/arrow_down.svg",
Icon::ArrowUpRight => "icons/arrow_up_right.svg", Icon::ArrowUpRight => "icons/arrow_up_right.svg",
Icon::AtSign => "icons/at-sign.svg", Icon::AtSign => "icons/at-sign.svg",
Icon::AudioOff => "icons/speaker-off.svg", Icon::AudioOff => "icons/speaker-off.svg",
@ -124,25 +127,28 @@ impl Icon {
Icon::Bolt => "icons/bolt.svg", Icon::Bolt => "icons/bolt.svg",
Icon::CaseSensitive => "icons/case_insensitive.svg", Icon::CaseSensitive => "icons/case_insensitive.svg",
Icon::Check => "icons/check.svg", Icon::Check => "icons/check.svg",
Icon::Copy => "icons/copy.svg",
Icon::ChevronDown => "icons/chevron_down.svg", Icon::ChevronDown => "icons/chevron_down.svg",
Icon::ChevronLeft => "icons/chevron_left.svg", Icon::ChevronLeft => "icons/chevron_left.svg",
Icon::ChevronRight => "icons/chevron_right.svg", Icon::ChevronRight => "icons/chevron_right.svg",
Icon::ChevronUp => "icons/chevron_up.svg", Icon::ChevronUp => "icons/chevron_up.svg",
Icon::Close => "icons/x.svg", Icon::Close => "icons/x.svg",
Icon::Collab => "icons/user_group_16.svg", Icon::Collab => "icons/user_group_16.svg",
Icon::Command => "icons/command.svg",
Icon::Control => "icons/control.svg",
Icon::Copilot => "icons/copilot.svg", Icon::Copilot => "icons/copilot.svg",
Icon::CopilotInit => "icons/copilot_init.svg",
Icon::CopilotError => "icons/copilot_error.svg",
Icon::CopilotDisabled => "icons/copilot_disabled.svg", Icon::CopilotDisabled => "icons/copilot_disabled.svg",
Icon::CopilotError => "icons/copilot_error.svg",
Icon::CopilotInit => "icons/copilot_init.svg",
Icon::Copy => "icons/copy.svg",
Icon::Dash => "icons/dash.svg", Icon::Dash => "icons/dash.svg",
Icon::Delete => "icons/delete.svg", Icon::Delete => "icons/delete.svg",
Icon::Disconnected => "icons/disconnected.svg", Icon::Disconnected => "icons/disconnected.svg",
Icon::Ellipsis => "icons/ellipsis.svg", Icon::Ellipsis => "icons/ellipsis.svg",
Icon::Envelope => "icons/feedback.svg", Icon::Envelope => "icons/feedback.svg",
Icon::Escape => "icons/escape.svg",
Icon::ExclamationTriangle => "icons/warning.svg", Icon::ExclamationTriangle => "icons/warning.svg",
Icon::ExternalLink => "icons/external_link.svg",
Icon::Exit => "icons/exit.svg", Icon::Exit => "icons/exit.svg",
Icon::ExternalLink => "icons/external_link.svg",
Icon::File => "icons/file.svg", Icon::File => "icons/file.svg",
Icon::FileDoc => "icons/file_icons/book.svg", Icon::FileDoc => "icons/file_icons/book.svg",
Icon::FileGeneric => "icons/file_icons/file.svg", Icon::FileGeneric => "icons/file_icons/file.svg",
@ -163,30 +169,30 @@ impl Icon {
Icon::MagnifyingGlass => "icons/magnifying_glass.svg", Icon::MagnifyingGlass => "icons/magnifying_glass.svg",
Icon::MailOpen => "icons/mail-open.svg", Icon::MailOpen => "icons/mail-open.svg",
Icon::Maximize => "icons/maximize.svg", Icon::Maximize => "icons/maximize.svg",
Icon::Minimize => "icons/minimize.svg",
Icon::Menu => "icons/menu.svg", Icon::Menu => "icons/menu.svg",
Icon::MessageBubbles => "icons/conversations.svg", Icon::MessageBubbles => "icons/conversations.svg",
Icon::Mic => "icons/mic.svg", Icon::Mic => "icons/mic.svg",
Icon::MicMute => "icons/mic-mute.svg", Icon::MicMute => "icons/mic-mute.svg",
Icon::Minimize => "icons/minimize.svg",
Icon::Option => "icons/option.svg",
Icon::Plus => "icons/plus.svg", Icon::Plus => "icons/plus.svg",
Icon::Public => "icons/public.svg", Icon::Public => "icons/public.svg",
Icon::Quote => "icons/quote.svg", Icon::Quote => "icons/quote.svg",
Icon::Replace => "icons/replace.svg", Icon::Replace => "icons/replace.svg",
Icon::ReplaceAll => "icons/replace_all.svg", Icon::ReplaceAll => "icons/replace_all.svg",
Icon::ReplaceNext => "icons/replace_next.svg", Icon::ReplaceNext => "icons/replace_next.svg",
Icon::Return => "icons/return.svg",
Icon::Screen => "icons/desktop.svg", Icon::Screen => "icons/desktop.svg",
Icon::SelectAll => "icons/select-all.svg", Icon::SelectAll => "icons/select-all.svg",
Icon::Split => "icons/split.svg", Icon::Shift => "icons/shift.svg",
Icon::Snip => "icons/snip.svg", Icon::Snip => "icons/snip.svg",
Icon::Space => "icons/space.svg",
Icon::Split => "icons/split.svg",
Icon::Tab => "icons/tab.svg",
Icon::Terminal => "icons/terminal.svg", Icon::Terminal => "icons/terminal.svg",
Icon::Update => "icons/update.svg",
Icon::WholeWord => "icons/word_search.svg", Icon::WholeWord => "icons/word_search.svg",
Icon::XCircle => "icons/error.svg", Icon::XCircle => "icons/error.svg",
Icon::Command => "icons/command.svg",
Icon::Control => "icons/control.svg",
Icon::Shift => "icons/shift.svg",
Icon::Option => "icons/option.svg",
Icon::Return => "icons/return.svg",
Icon::Update => "icons/update.svg",
Icon::ZedXCopilot => "icons/zed_x_copilot.svg", Icon::ZedXCopilot => "icons/zed_x_copilot.svg",
} }
} }

View file

@ -72,6 +72,11 @@ impl KeyBinding {
"down" => Some(Icon::ArrowDown), "down" => Some(Icon::ArrowDown),
"backspace" => Some(Icon::Backspace), "backspace" => Some(Icon::Backspace),
"delete" => Some(Icon::Delete), "delete" => Some(Icon::Delete),
"enter" => Some(Icon::Return),
"escape" => Some(Icon::Escape),
"return" => Some(Icon::Return),
"space" => Some(Icon::Space),
"tab" => Some(Icon::Tab),
_ => None, _ => None,
} }
} }