MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / handle_key

Method handle_key

crates/openshell-tui/src/app.rs:1056–1116  ·  view source on GitHub ↗
(&mut self, key: KeyEvent)

Source from the content-addressed store, hash-verified

1054 }
1055
1056 pub fn handle_key(&mut self, key: KeyEvent) {
1057 if key.modifiers.contains(KeyModifiers::CONTROL) && key.code == KeyCode::Char('c') {
1058 self.running = false;
1059 return;
1060 }
1061
1062 // Splash screen: any key dismisses.
1063 if self.screen == Screen::Splash {
1064 self.dismiss_splash();
1065 return;
1066 }
1067
1068 // Modals intercept all keys when open.
1069 // Confirmation modals take priority over the edit overlay since the
1070 // edit state remains set while the confirm dialog is shown.
1071 if self.confirm_setting_set.is_some() {
1072 self.handle_setting_confirm_set_key(key);
1073 return;
1074 }
1075 if self.confirm_setting_delete.is_some() {
1076 self.handle_setting_confirm_delete_key(key);
1077 return;
1078 }
1079 if self.sandbox_confirm_setting_set.is_some() {
1080 self.handle_sandbox_setting_confirm_set_key(key);
1081 return;
1082 }
1083 if self.sandbox_confirm_setting_delete.is_some() {
1084 self.handle_sandbox_setting_confirm_delete_key(key);
1085 return;
1086 }
1087 if self.sandbox_setting_edit.is_some() {
1088 self.handle_sandbox_setting_edit_key(key);
1089 return;
1090 }
1091 if self.setting_edit.is_some() {
1092 self.handle_setting_edit_key(key);
1093 return;
1094 }
1095 if self.create_form.is_some() {
1096 self.handle_create_form_key(key);
1097 return;
1098 }
1099 if self.create_provider_form.is_some() {
1100 self.handle_create_provider_key(key);
1101 return;
1102 }
1103 if self.provider_detail.is_some() {
1104 self.handle_provider_detail_key(key);
1105 return;
1106 }
1107 if self.update_provider_form.is_some() {
1108 self.handle_update_provider_key(key);
1109 return;
1110 }
1111
1112 match self.input_mode {
1113 InputMode::Command => self.handle_command_key(key),

Callers 1

runFunction · 0.80

Tested by

no test coverage detected