@@ -2059,7 +2059,7 @@ impl Editor {
}
});
if active {
- editor.show_mouse_cursor();
+ editor.show_mouse_cursor(cx);
}
}),
],
@@ -2312,12 +2312,15 @@ impl Editor {
key_context
}
- fn show_mouse_cursor(&mut self) {
- self.mouse_cursor_hidden = false;
+ fn show_mouse_cursor(&mut self, cx: &mut Context<Self>) {
+ if self.mouse_cursor_hidden {
+ self.mouse_cursor_hidden = false;
+ cx.notify();
+ }
}
- pub fn hide_mouse_cursor(&mut self, origin: &HideMouseCursorOrigin) {
- self.mouse_cursor_hidden = match origin {
+ pub fn hide_mouse_cursor(&mut self, origin: HideMouseCursorOrigin, cx: &mut Context<Self>) {
+ let hide_mouse_cursor = match origin {
HideMouseCursorOrigin::TypingAction => {
matches!(
self.hide_mouse_mode,
@@ -2328,6 +2331,10 @@ impl Editor {
matches!(self.hide_mouse_mode, HideMouseMode::OnTypingAndMovement)
}
};
+ if self.mouse_cursor_hidden != hide_mouse_cursor {
+ self.mouse_cursor_hidden = hide_mouse_cursor;
+ cx.notify();
+ }
}
pub fn edit_prediction_in_conflict(&self) -> bool {
@@ -3768,7 +3775,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let selections = self.selections.all_adjusted(cx);
let mut bracket_inserted = false;
@@ -4191,7 +4198,7 @@ impl Editor {
}
pub fn newline(&mut self, _: &Newline, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
let (edits_with_flags, selection_info): (Vec<_>, Vec<_>) = {
let selections = this.selections.all::<usize>(cx);
@@ -4463,7 +4470,7 @@ impl Editor {
}
pub fn newline_above(&mut self, _: &NewlineAbove, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let buffer = self.buffer.read(cx);
let snapshot = buffer.snapshot(cx);
@@ -4522,7 +4529,7 @@ impl Editor {
}
pub fn newline_below(&mut self, _: &NewlineBelow, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let buffer = self.buffer.read(cx);
let snapshot = buffer.snapshot(cx);
@@ -5537,7 +5544,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.do_completion(action.item_ix, CompletionIntent::Complete, window, cx)
}
@@ -5547,7 +5554,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.do_completion(None, CompletionIntent::CompleteWithInsert, window, cx)
}
@@ -5557,7 +5564,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.do_completion(None, CompletionIntent::CompleteWithReplace, window, cx)
}
@@ -5567,7 +5574,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.do_completion(action.item_ix, CompletionIntent::Compose, window, cx)
}
@@ -5996,7 +6003,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let actions_menu =
if let CodeContextMenu::CodeActions(menu) = self.hide_context_menu(window, cx)? {
@@ -9362,7 +9369,7 @@ impl Editor {
}
pub fn backspace(&mut self, _: &Backspace, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.select_autoclose_pair(window, cx);
let mut linked_ranges = HashMap::<_, Vec<_>>::default();
@@ -9457,7 +9464,7 @@ impl Editor {
}
pub fn delete(&mut self, _: &Delete, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
@@ -9475,7 +9482,7 @@ impl Editor {
}
pub fn backtab(&mut self, _: &Backtab, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
if self.move_to_prev_snippet_tabstop(window, cx) {
return;
}
@@ -9484,13 +9491,13 @@ impl Editor {
pub fn tab(&mut self, _: &Tab, window: &mut Window, cx: &mut Context<Self>) {
if self.move_to_next_snippet_tabstop(window, cx) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
return;
}
if self.read_only(cx) {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let mut selections = self.selections.all_adjusted(cx);
let buffer = self.buffer.read(cx);
let snapshot = buffer.snapshot(cx);
@@ -9603,7 +9610,7 @@ impl Editor {
if self.read_only(cx) {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let mut selections = self.selections.all::<Point>(cx);
let mut prev_edited_row = 0;
let mut row_delta = 0;
@@ -9708,7 +9715,7 @@ impl Editor {
if self.read_only(cx) {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let selections = self.selections.all::<Point>(cx);
let mut deletion_ranges = Vec::new();
@@ -9782,7 +9789,7 @@ impl Editor {
if self.read_only(cx) {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let selections = self
.selections
.all::<usize>(cx)
@@ -9801,7 +9808,7 @@ impl Editor {
}
pub fn delete_line(&mut self, _: &DeleteLine, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let selections = self.selections.all::<Point>(cx);
@@ -9950,7 +9957,7 @@ impl Editor {
}
pub fn join_lines(&mut self, _: &JoinLines, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.join_lines_impl(true, window, cx);
}
@@ -10012,7 +10019,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let mut buffer_ids = HashSet::default();
let snapshot = self.buffer().read(cx).snapshot(cx);
for selection in self.selections.all::<usize>(cx) {
@@ -10029,7 +10036,7 @@ impl Editor {
}
pub fn git_restore(&mut self, _: &Restore, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let selections = self
.selections
.all(cx)
@@ -10453,7 +10460,7 @@ impl Editor {
) where
Fn: FnMut(&mut Vec<&str>),
{
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = self.buffer.read(cx).snapshot(cx);
@@ -10778,7 +10785,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = &display_map.buffer_snapshot;
@@ -10864,7 +10871,7 @@ impl Editor {
}
pub fn move_line_up(&mut self, _: &MoveLineUp, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = self.buffer.read(cx).snapshot(cx);
@@ -10971,7 +10978,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = self.buffer.read(cx).snapshot(cx);
@@ -11063,7 +11070,7 @@ impl Editor {
}
pub fn transpose(&mut self, _: &Transpose, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.transact(window, cx, |this, window, cx| {
let edits = this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
@@ -11121,7 +11128,7 @@ impl Editor {
}
pub fn rewrap(&mut self, _: &Rewrap, _: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.rewrap_impl(RewrapOptions::default(), cx)
}
@@ -11374,13 +11381,13 @@ impl Editor {
}
pub fn cut(&mut self, _: &Cut, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let item = self.cut_common(window, cx);
cx.write_to_clipboard(item);
}
pub fn kill_ring_cut(&mut self, _: &KillRingCut, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.change_selections(None, window, cx, |s| {
s.move_with(|snapshot, sel| {
if sel.is_empty() {
@@ -11398,7 +11405,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let (text, metadata) = if let Some(KillRing(item)) = cx.try_global() {
if let Some(ClipboardEntry::String(kill_ring)) = item.entries().first() {
(kill_ring.text().to_string(), kill_ring.metadata_json())
@@ -11595,7 +11602,7 @@ impl Editor {
}
pub fn paste(&mut self, _: &Paste, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
if let Some(item) = cx.read_from_clipboard() {
let entries = item.entries();
@@ -11620,7 +11627,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
if let Some(transaction_id) = self.buffer.update(cx, |buffer, cx| buffer.undo(cx)) {
if let Some((selections, _)) =
@@ -11650,7 +11657,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
if let Some(transaction_id) = self.buffer.update(cx, |buffer, cx| buffer.redo(cx)) {
if let Some((_, Some(selections))) =
@@ -11685,7 +11692,7 @@ impl Editor {
}
pub fn move_left(&mut self, _: &MoveLeft, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
let cursor = if selection.is_empty() {
@@ -11699,14 +11706,14 @@ impl Editor {
}
pub fn select_left(&mut self, _: &SelectLeft, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| (movement::left(map, head), SelectionGoal::None));
})
}
pub fn move_right(&mut self, _: &MoveRight, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
let cursor = if selection.is_empty() {
@@ -11720,7 +11727,7 @@ impl Editor {
}
pub fn select_right(&mut self, _: &SelectRight, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| (movement::right(map, head), SelectionGoal::None));
})
@@ -11736,7 +11743,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
let selection_count = self.selections.count();
@@ -11779,7 +11786,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
@@ -11816,7 +11823,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
@@ -11844,7 +11851,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, goal| {
@@ -11859,7 +11866,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, goal| {
@@ -11878,7 +11885,7 @@ impl Editor {
return;
};
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
@@ -11918,7 +11925,7 @@ impl Editor {
return;
};
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let autoscroll = if action.center_cursor {
Autoscroll::center()
@@ -11947,7 +11954,7 @@ impl Editor {
}
pub fn select_up(&mut self, _: &SelectUp, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, goal| {
@@ -11964,7 +11971,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
let selection_count = self.selections.count();
@@ -12002,7 +12009,7 @@ impl Editor {
return;
};
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
@@ -12042,7 +12049,7 @@ impl Editor {
return;
};
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let autoscroll = if action.center_cursor {
Autoscroll::center()
@@ -12070,7 +12077,7 @@ impl Editor {
}
pub fn select_down(&mut self, _: &SelectDown, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, goal| {
@@ -12129,7 +12136,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(
@@ -12146,7 +12153,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(
@@ -12163,7 +12170,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12180,7 +12187,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12197,7 +12204,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.select_autoclose_pair(window, cx);
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
@@ -12222,7 +12229,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.select_autoclose_pair(window, cx);
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
@@ -12243,7 +12250,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(movement::next_word_end(map, head), SelectionGoal::None)
@@ -12257,7 +12264,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(movement::next_subword_end(map, head), SelectionGoal::None)
@@ -12271,7 +12278,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(movement::next_word_end(map, head), SelectionGoal::None)
@@ -12285,7 +12292,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(movement::next_subword_end(map, head), SelectionGoal::None)
@@ -12299,7 +12306,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
@@ -12323,7 +12330,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
@@ -12343,7 +12350,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(
@@ -12365,7 +12372,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12387,7 +12394,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|_, selection| {
@@ -12413,7 +12420,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_cursors_with(|map, head, _| {
(
@@ -12430,7 +12437,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12447,7 +12454,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.select_to_end_of_line(
&SelectToEndOfLine {
@@ -12466,7 +12473,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
this.select_to_end_of_line(
&SelectToEndOfLine {
@@ -12489,7 +12496,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
selection.collapse_to(
@@ -12510,7 +12517,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
selection.collapse_to(
@@ -12531,7 +12538,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12552,7 +12559,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12573,7 +12580,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
selection.collapse_to(
@@ -12623,7 +12630,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
selection.collapse_to(
@@ -12648,7 +12655,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_with(|map, selection| {
selection.collapse_to(
@@ -12673,7 +12680,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12694,7 +12701,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12715,7 +12722,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12736,7 +12743,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_heads_with(|map, head, _| {
(
@@ -12757,7 +12764,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.select_ranges(vec![0..0]);
});
@@ -12771,7 +12778,7 @@ impl Editor {
) {
let mut selection = self.selections.last::<Point>(cx);
selection.set_head(Point::zero(), SelectionGoal::None);
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.select(vec![selection]);
});
@@ -12782,7 +12789,7 @@ impl Editor {
cx.propagate();
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let cursor = self.buffer.read(cx).read(cx).len();
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.select_ranges(vec![cursor..cursor])
@@ -12839,7 +12846,7 @@ impl Editor {
}
pub fn select_to_end(&mut self, _: &SelectToEnd, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let buffer = self.buffer.read(cx).snapshot(cx);
let mut selection = self.selections.first::<usize>(cx);
selection.set_head(buffer.len(), SelectionGoal::None);
@@ -12849,7 +12856,7 @@ impl Editor {
}
pub fn select_all(&mut self, _: &SelectAll, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let end = self.buffer.read(cx).read(cx).len();
self.change_selections(None, window, cx, |s| {
s.select_ranges(vec![0..end]);
@@ -12857,7 +12864,7 @@ impl Editor {
}
pub fn select_line(&mut self, _: &SelectLine, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let mut selections = self.selections.all::<Point>(cx);
let max_point = display_map.buffer_snapshot.max_point();
@@ -12928,7 +12935,7 @@ impl Editor {
}
fn add_selection(&mut self, above: bool, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let all_selections = self.selections.all::<Point>(cx);
@@ -13258,7 +13265,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Result<()> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
@@ -13311,7 +13318,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Result<()> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
self.select_next_match_internal(
&display_map,
@@ -13329,7 +13336,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Result<()> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = &display_map.buffer_snapshot;
let mut selections = self.selections.all::<usize>(cx);
@@ -13522,7 +13529,7 @@ impl Editor {
if self.read_only(cx) {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let text_layout_details = &self.text_layout_details(window);
self.transact(window, cx, |this, window, cx| {
let mut selections = this.selections.all::<MultiBufferPoint>(cx);
@@ -13822,7 +13829,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let buffer = self.buffer.read(cx).snapshot(cx);
let old_selections = self.selections.all::<usize>(cx).into_boxed_slice();
@@ -13885,7 +13892,7 @@ impl Editor {
return;
}
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx));
let buffer = self.buffer.read(cx).snapshot(cx);
@@ -14016,7 +14023,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
if let Some((mut selections, scroll_behavior, is_selection_reversed)) =
self.select_syntax_node_history.pop()
@@ -14290,7 +14297,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.change_selections(Some(Autoscroll::fit()), window, cx, |s| {
s.move_offsets_with(|snapshot, selection| {
let Some(enclosing_bracket_ranges) =
@@ -14347,7 +14354,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
if let Some(entry) = self.selection_history.undo_stack.pop_back() {
self.selection_history.mode = SelectionHistoryMode::Undoing;
self.with_selection_effects_deferred(window, cx, |this, window, cx| {
@@ -14370,7 +14377,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
if let Some(entry) = self.selection_history.redo_stack.pop_back() {
self.selection_history.mode = SelectionHistoryMode::Redoing;
self.with_selection_effects_deferred(window, cx, |this, window, cx| {
@@ -14516,7 +14523,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.go_to_diagnostic_impl(Direction::Next, window, cx)
}
@@ -14526,7 +14533,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
self.go_to_diagnostic_impl(Direction::Prev, window, cx)
}
@@ -14611,7 +14618,7 @@ impl Editor {
}
pub fn go_to_next_hunk(&mut self, _: &GoToHunk, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let snapshot = self.snapshot(window, cx);
let selection = self.selections.newest::<Point>(cx);
self.go_to_hunk_before_or_after_position(
@@ -14672,7 +14679,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::MovementAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::MovementAction, cx);
let snapshot = self.snapshot(window, cx);
let selection = self.selections.newest::<Point>(cx);
self.go_to_hunk_before_or_after_position(
@@ -15679,7 +15686,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let project = match &self.project {
Some(project) => project.clone(),
@@ -15701,7 +15708,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let project = match &self.project {
Some(project) => project.clone(),
@@ -15823,7 +15830,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) -> Option<Task<Result<()>>> {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let project = match &self.project {
Some(project) => project.clone(),
None => return None,
@@ -17175,7 +17182,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let buffers = self.buffer.read(cx).all_buffers();
for branch_buffer in buffers {
@@ -17204,7 +17211,7 @@ impl Editor {
window: &mut Window,
cx: &mut Context<Self>,
) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
let snapshot = self.snapshot(window, cx);
let hunks = snapshot.hunks_for_ranges(self.selections.ranges(cx));
let mut ranges_by_buffer = HashMap::default();
@@ -18236,7 +18243,7 @@ impl Editor {
}
fn insert_uuid(&mut self, version: UuidVersion, window: &mut Window, cx: &mut Context<Self>) {
- self.hide_mouse_cursor(&HideMouseCursorOrigin::TypingAction);
+ self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx);
self.transact(window, cx, |this, window, cx| {
let edits = this
.selections