Add ability to reload a file (#18395)
Closes #13212 Release Notes: - Added reload command - vim: Added `:e[dit]`, `:e[dit]!` which calls reload
This commit is contained in:
parent
695176898e
commit
56163b1e35
4 changed files with 15 additions and 3 deletions
|
@ -294,6 +294,7 @@ gpui::actions!(
|
||||||
RevealInFileManager,
|
RevealInFileManager,
|
||||||
ReverseLines,
|
ReverseLines,
|
||||||
RevertFile,
|
RevertFile,
|
||||||
|
ReloadFile,
|
||||||
RevertSelectedHunks,
|
RevertSelectedHunks,
|
||||||
Rewrap,
|
Rewrap,
|
||||||
ScrollCursorBottom,
|
ScrollCursorBottom,
|
||||||
|
|
|
@ -161,11 +161,11 @@ use ui::{
|
||||||
};
|
};
|
||||||
use util::{defer, maybe, post_inc, RangeExt, ResultExt, TryFutureExt};
|
use util::{defer, maybe, post_inc, RangeExt, ResultExt, TryFutureExt};
|
||||||
use workspace::item::{ItemHandle, PreviewTabsSettings};
|
use workspace::item::{ItemHandle, PreviewTabsSettings};
|
||||||
use workspace::notifications::{DetachAndPromptErr, NotificationId};
|
use workspace::notifications::{DetachAndPromptErr, NotificationId, NotifyTaskExt};
|
||||||
use workspace::{
|
use workspace::{
|
||||||
searchable::SearchEvent, ItemNavHistory, SplitDirection, ViewId, Workspace, WorkspaceId,
|
searchable::SearchEvent, ItemNavHistory, SplitDirection, ViewId, Workspace, WorkspaceId,
|
||||||
};
|
};
|
||||||
use workspace::{OpenInTerminal, OpenTerminal, TabBarSettings, Toast};
|
use workspace::{Item as WorkspaceItem, OpenInTerminal, OpenTerminal, TabBarSettings, Toast};
|
||||||
|
|
||||||
use crate::hover_links::find_url;
|
use crate::hover_links::find_url;
|
||||||
use crate::signature_help::{SignatureHelpHiddenBy, SignatureHelpState};
|
use crate::signature_help::{SignatureHelpHiddenBy, SignatureHelpState};
|
||||||
|
@ -6241,6 +6241,13 @@ impl Editor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn reload_file(&mut self, _: &ReloadFile, cx: &mut ViewContext<Self>) {
|
||||||
|
let Some(project) = self.project.clone() else {
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
self.reload(project, cx).detach_and_notify_err(cx);
|
||||||
|
}
|
||||||
|
|
||||||
pub fn revert_selected_hunks(&mut self, _: &RevertSelectedHunks, cx: &mut ViewContext<Self>) {
|
pub fn revert_selected_hunks(&mut self, _: &RevertSelectedHunks, cx: &mut ViewContext<Self>) {
|
||||||
let revert_changes = self.gather_revert_changes(&self.selections.disjoint_anchors(), cx);
|
let revert_changes = self.gather_revert_changes(&self.selections.disjoint_anchors(), cx);
|
||||||
if !revert_changes.is_empty() {
|
if !revert_changes.is_empty() {
|
||||||
|
@ -13624,6 +13631,7 @@ pub enum EditorEvent {
|
||||||
TransactionBegun {
|
TransactionBegun {
|
||||||
transaction_id: clock::Lamport,
|
transaction_id: clock::Lamport,
|
||||||
},
|
},
|
||||||
|
Reloaded,
|
||||||
CursorShapeChanged,
|
CursorShapeChanged,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -437,7 +437,8 @@ impl EditorElement {
|
||||||
register_action(view, cx, Editor::revert_file);
|
register_action(view, cx, Editor::revert_file);
|
||||||
register_action(view, cx, Editor::revert_selected_hunks);
|
register_action(view, cx, Editor::revert_selected_hunks);
|
||||||
register_action(view, cx, Editor::apply_selected_diff_hunks);
|
register_action(view, cx, Editor::apply_selected_diff_hunks);
|
||||||
register_action(view, cx, Editor::open_active_item_in_terminal)
|
register_action(view, cx, Editor::open_active_item_in_terminal);
|
||||||
|
register_action(view, cx, Editor::reload_file)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn register_key_listeners(&self, cx: &mut WindowContext, layout: &EditorLayout) {
|
fn register_key_listeners(&self, cx: &mut WindowContext, layout: &EditorLayout) {
|
||||||
|
|
|
@ -685,6 +685,8 @@ fn generate_commands(_: &AppContext) -> Vec<VimCommand> {
|
||||||
VimCommand::new(("$", ""), EndOfDocument),
|
VimCommand::new(("$", ""), EndOfDocument),
|
||||||
VimCommand::new(("%", ""), EndOfDocument),
|
VimCommand::new(("%", ""), EndOfDocument),
|
||||||
VimCommand::new(("0", ""), StartOfDocument),
|
VimCommand::new(("0", ""), StartOfDocument),
|
||||||
|
VimCommand::new(("e", "dit"), editor::actions::ReloadFile)
|
||||||
|
.bang(editor::actions::ReloadFile),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue