Fix a bunch of other low-hanging style lints (#36498)

- **Fix a bunch of low hanging style lints like unnecessary-return**
- **Fix single worktree violation**
- **And the rest**

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2025-08-19 21:26:17 +02:00 committed by GitHub
parent df9c2aefb1
commit 05fc0c432c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
239 changed files with 854 additions and 1015 deletions

View file

@ -13,7 +13,7 @@ use crate::{Editor, SwitchSourceHeader, element::register_action};
use project::lsp_store::clangd_ext::CLANGD_SERVER_NAME;
fn is_c_language(language: &Language) -> bool {
return language.name() == "C++".into() || language.name() == "C".into();
language.name() == "C++".into() || language.name() == "C".into()
}
pub fn switch_source_header(

View file

@ -1111,10 +1111,8 @@ impl CompletionsMenu {
let query_start_doesnt_match_split_words = query_start_lower
.map(|query_char| {
!split_words(&string_match.string).any(|word| {
word.chars()
.next()
.and_then(|c| c.to_lowercase().next())
.map_or(false, |word_char| word_char == query_char)
word.chars().next().and_then(|c| c.to_lowercase().next())
== Some(query_char)
})
})
.unwrap_or(false);

View file

@ -991,7 +991,7 @@ impl DisplaySnapshot {
if let Some(severity) = chunk.diagnostic_severity.filter(|severity| {
self.diagnostics_max_severity
.into_lsp()
.map_or(false, |max_severity| severity <= &max_severity)
.is_some_and(|max_severity| severity <= &max_severity)
}) {
if chunk.is_unnecessary {
diagnostic_highlight.fade_out = Some(editor_style.unnecessary_code_fade);

View file

@ -528,10 +528,7 @@ impl BlockMap {
if let Some(transform) = cursor.item()
&& transform.summary.input_rows > 0
&& cursor.end() == old_start
&& transform
.block
.as_ref()
.map_or(true, |b| !b.is_replacement())
&& transform.block.as_ref().is_none_or(|b| !b.is_replacement())
{
// Preserve the transform (push and next)
new_transforms.push(transform.clone(), &());
@ -539,7 +536,7 @@ impl BlockMap {
// Preserve below blocks at end of edit
while let Some(transform) = cursor.item() {
if transform.block.as_ref().map_or(false, |b| b.place_below()) {
if transform.block.as_ref().is_some_and(|b| b.place_below()) {
new_transforms.push(transform.clone(), &());
cursor.next();
} else {
@ -606,7 +603,7 @@ impl BlockMap {
// Discard below blocks at the end of the edit. They'll be reconstructed.
while let Some(transform) = cursor.item() {
if transform.block.as_ref().map_or(false, |b| b.place_below()) {
if transform.block.as_ref().is_some_and(|b| b.place_below()) {
cursor.next();
} else {
break;
@ -1328,7 +1325,7 @@ impl BlockSnapshot {
let Dimensions(output_start, input_start, _) = cursor.start();
let overshoot = if cursor
.item()
.map_or(false, |transform| transform.block.is_none())
.is_some_and(|transform| transform.block.is_none())
{
start_row.0 - output_start.0
} else {
@ -1358,7 +1355,7 @@ impl BlockSnapshot {
&& transform
.block
.as_ref()
.map_or(false, |block| block.height() > 0))
.is_some_and(|block| block.height() > 0))
{
break;
}
@ -1511,7 +1508,7 @@ impl BlockSnapshot {
pub(super) fn is_block_line(&self, row: BlockRow) -> bool {
let mut cursor = self.transforms.cursor::<Dimensions<BlockRow, WrapRow>>(&());
cursor.seek(&row, Bias::Right);
cursor.item().map_or(false, |t| t.block.is_some())
cursor.item().is_some_and(|t| t.block.is_some())
}
pub(super) fn is_folded_buffer_header(&self, row: BlockRow) -> bool {
@ -1529,11 +1526,11 @@ impl BlockSnapshot {
.make_wrap_point(Point::new(row.0, 0), Bias::Left);
let mut cursor = self.transforms.cursor::<Dimensions<WrapRow, BlockRow>>(&());
cursor.seek(&WrapRow(wrap_point.row()), Bias::Right);
cursor.item().map_or(false, |transform| {
cursor.item().is_some_and(|transform| {
transform
.block
.as_ref()
.map_or(false, |block| block.is_replacement())
.is_some_and(|block| block.is_replacement())
})
}
@ -1653,7 +1650,7 @@ impl BlockChunks<'_> {
if transform
.block
.as_ref()
.map_or(false, |block| block.height() == 0)
.is_some_and(|block| block.height() == 0)
{
self.transforms.next();
} else {
@ -1664,7 +1661,7 @@ impl BlockChunks<'_> {
if self
.transforms
.item()
.map_or(false, |transform| transform.block.is_none())
.is_some_and(|transform| transform.block.is_none())
{
let start_input_row = self.transforms.start().1.0;
let start_output_row = self.transforms.start().0.0;
@ -1774,7 +1771,7 @@ impl Iterator for BlockRows<'_> {
if transform
.block
.as_ref()
.map_or(false, |block| block.height() == 0)
.is_some_and(|block| block.height() == 0)
{
self.transforms.next();
} else {
@ -1786,7 +1783,7 @@ impl Iterator for BlockRows<'_> {
if transform
.block
.as_ref()
.map_or(true, |block| block.is_replacement())
.is_none_or(|block| block.is_replacement())
{
self.input_rows.seek(self.transforms.start().1.0);
}

View file

@ -491,14 +491,14 @@ impl FoldMap {
while folds
.peek()
.map_or(false, |(_, fold_range)| fold_range.start < edit.new.end)
.is_some_and(|(_, fold_range)| fold_range.start < edit.new.end)
{
let (fold, mut fold_range) = folds.next().unwrap();
let sum = new_transforms.summary();
assert!(fold_range.start.0 >= sum.input.len);
while folds.peek().map_or(false, |(next_fold, next_fold_range)| {
while folds.peek().is_some_and(|(next_fold, next_fold_range)| {
next_fold_range.start < fold_range.end
|| (next_fold_range.start == fold_range.end
&& fold.placeholder.merge_adjacent
@ -575,14 +575,14 @@ impl FoldMap {
for mut edit in inlay_edits {
old_transforms.seek(&edit.old.start, Bias::Left);
if old_transforms.item().map_or(false, |t| t.is_fold()) {
if old_transforms.item().is_some_and(|t| t.is_fold()) {
edit.old.start = old_transforms.start().0;
}
let old_start =
old_transforms.start().1.0 + (edit.old.start - old_transforms.start().0).0;
old_transforms.seek_forward(&edit.old.end, Bias::Right);
if old_transforms.item().map_or(false, |t| t.is_fold()) {
if old_transforms.item().is_some_and(|t| t.is_fold()) {
old_transforms.next();
edit.old.end = old_transforms.start().0;
}
@ -590,14 +590,14 @@ impl FoldMap {
old_transforms.start().1.0 + (edit.old.end - old_transforms.start().0).0;
new_transforms.seek(&edit.new.start, Bias::Left);
if new_transforms.item().map_or(false, |t| t.is_fold()) {
if new_transforms.item().is_some_and(|t| t.is_fold()) {
edit.new.start = new_transforms.start().0;
}
let new_start =
new_transforms.start().1.0 + (edit.new.start - new_transforms.start().0).0;
new_transforms.seek_forward(&edit.new.end, Bias::Right);
if new_transforms.item().map_or(false, |t| t.is_fold()) {
if new_transforms.item().is_some_and(|t| t.is_fold()) {
new_transforms.next();
edit.new.end = new_transforms.start().0;
}
@ -709,7 +709,7 @@ impl FoldSnapshot {
.transforms
.cursor::<Dimensions<InlayPoint, FoldPoint>>(&());
cursor.seek(&point, Bias::Right);
if cursor.item().map_or(false, |t| t.is_fold()) {
if cursor.item().is_some_and(|t| t.is_fold()) {
if bias == Bias::Left || point == cursor.start().0 {
cursor.start().1
} else {
@ -788,7 +788,7 @@ impl FoldSnapshot {
let inlay_offset = self.inlay_snapshot.to_inlay_offset(buffer_offset);
let mut cursor = self.transforms.cursor::<InlayOffset>(&());
cursor.seek(&inlay_offset, Bias::Right);
cursor.item().map_or(false, |t| t.placeholder.is_some())
cursor.item().is_some_and(|t| t.placeholder.is_some())
}
pub fn is_line_folded(&self, buffer_row: MultiBufferRow) -> bool {
@ -839,7 +839,7 @@ impl FoldSnapshot {
let inlay_end = if transform_cursor
.item()
.map_or(true, |transform| transform.is_fold())
.is_none_or(|transform| transform.is_fold())
{
inlay_start
} else if range.end < transform_end.0 {
@ -1348,7 +1348,7 @@ impl FoldChunks<'_> {
let inlay_end = if self
.transform_cursor
.item()
.map_or(true, |transform| transform.is_fold())
.is_none_or(|transform| transform.is_fold())
{
inlay_start
} else if range.end < transform_end.0 {
@ -1463,7 +1463,7 @@ impl FoldOffset {
.transforms
.cursor::<Dimensions<FoldOffset, TransformSummary>>(&());
cursor.seek(&self, Bias::Right);
let overshoot = if cursor.item().map_or(true, |t| t.is_fold()) {
let overshoot = if cursor.item().is_none_or(|t| t.is_fold()) {
Point::new(0, (self.0 - cursor.start().0.0) as u32)
} else {
let inlay_offset = cursor.start().1.input.len + self.0 - cursor.start().0.0;

View file

@ -625,7 +625,7 @@ impl InlayMap {
// we can push its remainder.
if buffer_edits_iter
.peek()
.map_or(true, |edit| edit.old.start >= cursor.end().0)
.is_none_or(|edit| edit.old.start >= cursor.end().0)
{
let transform_start = new_transforms.summary().input.len;
let transform_end =

View file

@ -74,10 +74,10 @@ impl WrapRows<'_> {
self.transforms
.seek(&WrapPoint::new(start_row, 0), Bias::Left);
let mut input_row = self.transforms.start().1.row();
if self.transforms.item().map_or(false, |t| t.is_isomorphic()) {
if self.transforms.item().is_some_and(|t| t.is_isomorphic()) {
input_row += start_row - self.transforms.start().0.row();
}
self.soft_wrapped = self.transforms.item().map_or(false, |t| !t.is_isomorphic());
self.soft_wrapped = self.transforms.item().is_some_and(|t| !t.is_isomorphic());
self.input_buffer_rows.seek(input_row);
self.input_buffer_row = self.input_buffer_rows.next().unwrap();
self.output_row = start_row;
@ -603,7 +603,7 @@ impl WrapSnapshot {
.cursor::<Dimensions<WrapPoint, TabPoint>>(&());
transforms.seek(&output_start, Bias::Right);
let mut input_start = TabPoint(transforms.start().1.0);
if transforms.item().map_or(false, |t| t.is_isomorphic()) {
if transforms.item().is_some_and(|t| t.is_isomorphic()) {
input_start.0 += output_start.0 - transforms.start().0.0;
}
let input_end = self
@ -634,7 +634,7 @@ impl WrapSnapshot {
cursor.seek(&WrapPoint::new(row + 1, 0), Bias::Left);
if cursor
.item()
.map_or(false, |transform| transform.is_isomorphic())
.is_some_and(|transform| transform.is_isomorphic())
{
let overshoot = row - cursor.start().0.row();
let tab_row = cursor.start().1.row() + overshoot;
@ -732,10 +732,10 @@ impl WrapSnapshot {
.cursor::<Dimensions<WrapPoint, TabPoint>>(&());
transforms.seek(&WrapPoint::new(start_row, 0), Bias::Left);
let mut input_row = transforms.start().1.row();
if transforms.item().map_or(false, |t| t.is_isomorphic()) {
if transforms.item().is_some_and(|t| t.is_isomorphic()) {
input_row += start_row - transforms.start().0.row();
}
let soft_wrapped = transforms.item().map_or(false, |t| !t.is_isomorphic());
let soft_wrapped = transforms.item().is_some_and(|t| !t.is_isomorphic());
let mut input_buffer_rows = self.tab_snapshot.rows(input_row);
let input_buffer_row = input_buffer_rows.next().unwrap();
WrapRows {
@ -754,7 +754,7 @@ impl WrapSnapshot {
.cursor::<Dimensions<WrapPoint, TabPoint>>(&());
cursor.seek(&point, Bias::Right);
let mut tab_point = cursor.start().1.0;
if cursor.item().map_or(false, |t| t.is_isomorphic()) {
if cursor.item().is_some_and(|t| t.is_isomorphic()) {
tab_point += point.0 - cursor.start().0.0;
}
TabPoint(tab_point)
@ -780,7 +780,7 @@ impl WrapSnapshot {
if bias == Bias::Left {
let mut cursor = self.transforms.cursor::<WrapPoint>(&());
cursor.seek(&point, Bias::Right);
if cursor.item().map_or(false, |t| !t.is_isomorphic()) {
if cursor.item().is_some_and(|t| !t.is_isomorphic()) {
point = *cursor.start();
*point.column_mut() -= 1;
}
@ -901,7 +901,7 @@ impl WrapChunks<'_> {
let output_end = WrapPoint::new(rows.end, 0);
self.transforms.seek(&output_start, Bias::Right);
let mut input_start = TabPoint(self.transforms.start().1.0);
if self.transforms.item().map_or(false, |t| t.is_isomorphic()) {
if self.transforms.item().is_some_and(|t| t.is_isomorphic()) {
input_start.0 += output_start.0 - self.transforms.start().0.0;
}
let input_end = self
@ -993,7 +993,7 @@ impl Iterator for WrapRows<'_> {
self.output_row += 1;
self.transforms
.seek_forward(&WrapPoint::new(self.output_row, 0), Bias::Left);
if self.transforms.item().map_or(false, |t| t.is_isomorphic()) {
if self.transforms.item().is_some_and(|t| t.is_isomorphic()) {
self.input_buffer_row = self.input_buffer_rows.next().unwrap();
self.soft_wrapped = false;
} else {

View file

@ -1429,7 +1429,7 @@ impl SelectionHistory {
if self
.undo_stack
.back()
.map_or(true, |e| e.selections != entry.selections)
.is_none_or(|e| e.selections != entry.selections)
{
self.undo_stack.push_back(entry);
if self.undo_stack.len() > MAX_SELECTION_HISTORY_LEN {
@ -1442,7 +1442,7 @@ impl SelectionHistory {
if self
.redo_stack
.back()
.map_or(true, |e| e.selections != entry.selections)
.is_none_or(|e| e.selections != entry.selections)
{
self.redo_stack.push_back(entry);
if self.redo_stack.len() > MAX_SELECTION_HISTORY_LEN {
@ -2512,9 +2512,7 @@ impl Editor {
.context_menu
.borrow()
.as_ref()
.map_or(false, |context| {
matches!(context, CodeContextMenu::Completions(_))
});
.is_some_and(|context| matches!(context, CodeContextMenu::Completions(_)));
showing_completions
|| self.edit_prediction_requires_modifier()
@ -2545,7 +2543,7 @@ impl Editor {
|| binding
.keystrokes()
.first()
.map_or(false, |keystroke| keystroke.modifiers.modified())
.is_some_and(|keystroke| keystroke.modifiers.modified())
}))
}
@ -2941,7 +2939,7 @@ impl Editor {
return false;
};
scope.override_name().map_or(false, |scope_name| {
scope.override_name().is_some_and(|scope_name| {
settings
.edit_predictions_disabled_in
.iter()
@ -4033,18 +4031,18 @@ impl Editor {
let following_text_allows_autoclose = snapshot
.chars_at(selection.start)
.next()
.map_or(true, |c| scope.should_autoclose_before(c));
.is_none_or(|c| scope.should_autoclose_before(c));
let preceding_text_allows_autoclose = selection.start.column == 0
|| snapshot.reversed_chars_at(selection.start).next().map_or(
true,
|c| {
|| snapshot
.reversed_chars_at(selection.start)
.next()
.is_none_or(|c| {
bracket_pair.start != bracket_pair.end
|| !snapshot
.char_classifier_at(selection.start)
.is_word(c)
},
);
});
let is_closing_quote = if bracket_pair.end == bracket_pair.start
&& bracket_pair.start.len() == 1
@ -4185,7 +4183,7 @@ impl Editor {
if !self.linked_edit_ranges.is_empty() {
let start_anchor = snapshot.anchor_before(selection.start);
let is_word_char = text.chars().next().map_or(true, |char| {
let is_word_char = text.chars().next().is_none_or(|char| {
let classifier = snapshot
.char_classifier_at(start_anchor.to_offset(&snapshot))
.ignore_punctuation(true);
@ -5427,11 +5425,11 @@ impl Editor {
let sort_completions = provider
.as_ref()
.map_or(false, |provider| provider.sort_completions());
.is_some_and(|provider| provider.sort_completions());
let filter_completions = provider
.as_ref()
.map_or(true, |provider| provider.filter_completions());
.is_none_or(|provider| provider.filter_completions());
let trigger_kind = match trigger {
Some(trigger) if buffer.read(cx).completion_triggers().contains(trigger) => {
@ -5537,7 +5535,7 @@ impl Editor {
let skip_digits = query
.as_ref()
.map_or(true, |query| !query.chars().any(|c| c.is_digit(10)));
.is_none_or(|query| !query.chars().any(|c| c.is_digit(10)));
let (mut words, provider_responses) = match &provider {
Some(provider) => {
@ -5971,7 +5969,7 @@ impl Editor {
let show_new_completions_on_confirm = completion
.confirm
.as_ref()
.map_or(false, |confirm| confirm(intent, window, cx));
.is_some_and(|confirm| confirm(intent, window, cx));
if show_new_completions_on_confirm {
self.show_completions(&ShowCompletions { trigger: None }, window, cx);
}
@ -6103,10 +6101,10 @@ impl Editor {
let spawn_straight_away = quick_launch
&& resolved_tasks
.as_ref()
.map_or(false, |tasks| tasks.templates.len() == 1)
.is_some_and(|tasks| tasks.templates.len() == 1)
&& code_actions
.as_ref()
.map_or(true, |actions| actions.is_empty())
.is_none_or(|actions| actions.is_empty())
&& debug_scenarios.is_empty();
editor.update_in(cx, |editor, window, cx| {
@ -6720,9 +6718,9 @@ impl Editor {
let buffer_id = cursor_position.buffer_id;
let buffer = this.buffer.read(cx);
if !buffer
if buffer
.text_anchor_for_position(cursor_position, cx)
.map_or(false, |(buffer, _)| buffer == cursor_buffer)
.is_none_or(|(buffer, _)| buffer != cursor_buffer)
{
return;
}
@ -6972,9 +6970,7 @@ impl Editor {
|| self
.quick_selection_highlight_task
.as_ref()
.map_or(true, |(prev_anchor_range, _)| {
prev_anchor_range != &query_range
})
.is_none_or(|(prev_anchor_range, _)| prev_anchor_range != &query_range)
{
let multi_buffer_visible_start = self
.scroll_manager
@ -7003,9 +6999,7 @@ impl Editor {
|| self
.debounced_selection_highlight_task
.as_ref()
.map_or(true, |(prev_anchor_range, _)| {
prev_anchor_range != &query_range
})
.is_none_or(|(prev_anchor_range, _)| prev_anchor_range != &query_range)
{
let multi_buffer_start = multi_buffer_snapshot
.anchor_before(0)
@ -7140,9 +7134,7 @@ impl Editor {
&& self
.edit_prediction_provider
.as_ref()
.map_or(false, |provider| {
provider.provider.show_completions_in_menu()
});
.is_some_and(|provider| provider.provider.show_completions_in_menu());
let preview_requires_modifier =
all_language_settings(file, cx).edit_predictions_mode() == EditPredictionsMode::Subtle;
@ -7726,7 +7718,7 @@ impl Editor {
|| self
.active_edit_prediction
.as_ref()
.map_or(false, |completion| {
.is_some_and(|completion| {
let invalidation_range = completion.invalidation_range.to_offset(&multibuffer);
let invalidation_range = invalidation_range.start..=invalidation_range.end;
!invalidation_range.contains(&offset_selection.head())
@ -8427,7 +8419,7 @@ impl Editor {
.context_menu
.borrow()
.as_ref()
.map_or(false, |menu| menu.visible())
.is_some_and(|menu| menu.visible())
}
pub fn context_menu_origin(&self) -> Option<ContextMenuOrigin> {
@ -8973,9 +8965,8 @@ impl Editor {
let end_row = start_row + line_count as u32;
visible_row_range.contains(&start_row)
&& visible_row_range.contains(&end_row)
&& cursor_row.map_or(true, |cursor_row| {
!((start_row..end_row).contains(&cursor_row))
})
&& cursor_row
.is_none_or(|cursor_row| !((start_row..end_row).contains(&cursor_row)))
})?;
content_origin
@ -9585,7 +9576,7 @@ impl Editor {
.tabstops
.iter()
.map(|tabstop| {
let is_end_tabstop = tabstop.ranges.first().map_or(false, |tabstop| {
let is_end_tabstop = tabstop.ranges.first().is_some_and(|tabstop| {
tabstop.is_empty() && tabstop.start == snippet.text.len() as isize
});
let mut tabstop_ranges = tabstop
@ -11716,7 +11707,7 @@ impl Editor {
let transpose_start = display_map
.buffer_snapshot
.clip_offset(transpose_offset.saturating_sub(1), Bias::Left);
if edits.last().map_or(true, |e| e.0.end <= transpose_start) {
if edits.last().is_none_or(|e| e.0.end <= transpose_start) {
let transpose_end = display_map
.buffer_snapshot
.clip_offset(transpose_offset + 1, Bias::Right);
@ -16229,23 +16220,21 @@ impl Editor {
if split {
workspace.split_item(SplitDirection::Right, item.clone(), window, cx);
} else {
if PreviewTabsSettings::get_global(cx).enable_preview_from_code_navigation {
let (preview_item_id, preview_item_idx) =
workspace.active_pane().read_with(cx, |pane, _| {
(pane.preview_item_id(), pane.preview_item_idx())
});
} else if PreviewTabsSettings::get_global(cx).enable_preview_from_code_navigation {
let (preview_item_id, preview_item_idx) =
workspace.active_pane().read_with(cx, |pane, _| {
(pane.preview_item_id(), pane.preview_item_idx())
});
workspace.add_item_to_active_pane(item.clone(), preview_item_idx, true, window, cx);
workspace.add_item_to_active_pane(item.clone(), preview_item_idx, true, window, cx);
if let Some(preview_item_id) = preview_item_id {
workspace.active_pane().update(cx, |pane, cx| {
pane.remove_item(preview_item_id, false, false, window, cx);
});
}
} else {
workspace.add_item_to_active_pane(item.clone(), None, true, window, cx);
if let Some(preview_item_id) = preview_item_id {
workspace.active_pane().update(cx, |pane, cx| {
pane.remove_item(preview_item_id, false, false, window, cx);
});
}
} else {
workspace.add_item_to_active_pane(item.clone(), None, true, window, cx);
}
workspace.active_pane().update(cx, |pane, cx| {
pane.set_preview_item_id(Some(item_id), cx);
@ -19010,7 +18999,7 @@ impl Editor {
fn has_blame_entries(&self, cx: &App) -> bool {
self.blame()
.map_or(false, |blame| blame.read(cx).has_generated_entries())
.is_some_and(|blame| blame.read(cx).has_generated_entries())
}
fn newest_selection_head_on_empty_line(&self, cx: &App) -> bool {
@ -19660,7 +19649,7 @@ impl Editor {
pub fn has_background_highlights<T: 'static>(&self) -> bool {
self.background_highlights
.get(&HighlightKey::Type(TypeId::of::<T>()))
.map_or(false, |(_, highlights)| !highlights.is_empty())
.is_some_and(|(_, highlights)| !highlights.is_empty())
}
pub fn background_highlights_in_range(
@ -20582,7 +20571,7 @@ impl Editor {
// For now, don't allow opening excerpts in buffers that aren't backed by
// regular project files.
fn can_open_excerpts_in_file(file: Option<&Arc<dyn language::File>>) -> bool {
file.map_or(true, |file| project::File::from_dyn(Some(file)).is_some())
file.is_none_or(|file| project::File::from_dyn(Some(file)).is_some())
}
fn marked_text_ranges(&self, cx: &App) -> Option<Vec<Range<OffsetUtf16>>> {
@ -21125,7 +21114,7 @@ impl Editor {
pub fn has_visible_completions_menu(&self) -> bool {
!self.edit_prediction_preview_is_active()
&& self.context_menu.borrow().as_ref().map_or(false, |menu| {
&& self.context_menu.borrow().as_ref().is_some_and(|menu| {
menu.visible() && matches!(menu, CodeContextMenu::Completions(_))
})
}
@ -21548,9 +21537,9 @@ fn is_grapheme_whitespace(text: &str) -> bool {
}
fn should_stay_with_preceding_ideograph(text: &str) -> bool {
text.chars().next().map_or(false, |ch| {
matches!(ch, '。' | '、' | '' | '' | '' | '' | '' | '…')
})
text.chars()
.next()
.is_some_and(|ch| matches!(ch, '。' | '、' | '' | '' | '' | '' | '' | '…'))
}
#[derive(PartialEq, Eq, Debug, Clone, Copy)]
@ -21589,11 +21578,11 @@ impl<'a> Iterator for WordBreakingTokenizer<'a> {
} else {
let mut words = self.input[offset..].split_word_bound_indices().peekable();
let mut next_word_bound = words.peek().copied();
if next_word_bound.map_or(false, |(i, _)| i == 0) {
if next_word_bound.is_some_and(|(i, _)| i == 0) {
next_word_bound = words.next();
}
while let Some(grapheme) = iter.peek().copied() {
if next_word_bound.map_or(false, |(i, _)| i == offset) {
if next_word_bound.is_some_and(|(i, _)| i == offset) {
break;
};
if is_grapheme_whitespace(grapheme) != is_whitespace

View file

@ -810,10 +810,8 @@ impl Settings for EditorSettings {
if gutter.line_numbers.is_some() {
old_gutter.line_numbers = gutter.line_numbers
}
} else {
if gutter != GutterContent::default() {
current.gutter = Some(gutter)
}
} else if gutter != GutterContent::default() {
current.gutter = Some(gutter)
}
if let Some(b) = vscode.read_bool("editor.scrollBeyondLastLine") {
current.scroll_beyond_last_line = Some(if b {

View file

@ -919,6 +919,7 @@ impl EditorElement {
{
#[allow(
clippy::collapsible_if,
clippy::needless_return,
reason = "The cfg-block below makes this a false positive"
)]
if !text_hitbox.is_hovered(window) || editor.read_only(cx) {
@ -1126,26 +1127,24 @@ impl EditorElement {
let hovered_diff_hunk_row = if let Some(control_row) = hovered_diff_control {
Some(control_row)
} else {
if text_hovered {
let current_row = valid_point.row();
position_map.display_hunks.iter().find_map(|(hunk, _)| {
if let DisplayDiffHunk::Unfolded {
display_row_range, ..
} = hunk
{
if display_row_range.contains(&current_row) {
Some(display_row_range.start)
} else {
None
}
} else if text_hovered {
let current_row = valid_point.row();
position_map.display_hunks.iter().find_map(|(hunk, _)| {
if let DisplayDiffHunk::Unfolded {
display_row_range, ..
} = hunk
{
if display_row_range.contains(&current_row) {
Some(display_row_range.start)
} else {
None
}
})
} else {
None
}
} else {
None
}
})
} else {
None
};
if hovered_diff_hunk_row != editor.hovered_diff_hunk_row {
@ -1159,11 +1158,11 @@ impl EditorElement {
.inline_blame_popover
.as_ref()
.and_then(|state| state.popover_bounds)
.map_or(false, |bounds| bounds.contains(&event.position));
.is_some_and(|bounds| bounds.contains(&event.position));
let keyboard_grace = editor
.inline_blame_popover
.as_ref()
.map_or(false, |state| state.keyboard_grace);
.is_some_and(|state| state.keyboard_grace);
if mouse_over_inline_blame || mouse_over_popover {
editor.show_blame_popover(blame_entry, event.position, false, cx);
@ -1190,10 +1189,10 @@ impl EditorElement {
let is_visible = editor
.gutter_breakpoint_indicator
.0
.map_or(false, |indicator| indicator.is_active);
.is_some_and(|indicator| indicator.is_active);
let has_existing_breakpoint =
editor.breakpoint_store.as_ref().map_or(false, |store| {
editor.breakpoint_store.as_ref().is_some_and(|store| {
let Some(project) = &editor.project else {
return false;
};
@ -2220,12 +2219,11 @@ impl EditorElement {
cmp::max(padded_line, min_start)
};
let behind_edit_prediction_popover = edit_prediction_popover_origin.as_ref().map_or(
false,
|edit_prediction_popover_origin| {
let behind_edit_prediction_popover = edit_prediction_popover_origin
.as_ref()
.is_some_and(|edit_prediction_popover_origin| {
(pos_y..pos_y + line_height).contains(&edit_prediction_popover_origin.y)
},
);
});
let opacity = if behind_edit_prediction_popover {
0.5
} else {
@ -2291,9 +2289,7 @@ impl EditorElement {
None
}
})
.map_or(false, |source| {
matches!(source, CodeActionSource::Indicator(..))
});
.is_some_and(|source| matches!(source, CodeActionSource::Indicator(..)));
Some(editor.render_inline_code_actions(icon_size, display_point.row(), active, cx))
})?;
@ -2909,7 +2905,7 @@ impl EditorElement {
if multibuffer_row
.0
.checked_sub(1)
.map_or(false, |previous_row| {
.is_some_and(|previous_row| {
snapshot.is_line_folded(MultiBufferRow(previous_row))
})
{
@ -3900,7 +3896,7 @@ impl EditorElement {
for (row, block) in fixed_blocks {
let block_id = block.id();
if focused_block.as_ref().map_or(false, |b| b.id == block_id) {
if focused_block.as_ref().is_some_and(|b| b.id == block_id) {
focused_block = None;
}
@ -3957,7 +3953,7 @@ impl EditorElement {
};
let block_id = block.id();
if focused_block.as_ref().map_or(false, |b| b.id == block_id) {
if focused_block.as_ref().is_some_and(|b| b.id == block_id) {
focused_block = None;
}
@ -4736,7 +4732,7 @@ impl EditorElement {
}
};
let source_included = source_display_point.map_or(true, |source_display_point| {
let source_included = source_display_point.is_none_or(|source_display_point| {
visible_range
.to_inclusive()
.contains(&source_display_point.row())
@ -4916,7 +4912,7 @@ impl EditorElement {
let intersects_menu = |bounds: Bounds<Pixels>| -> bool {
context_menu_layout
.as_ref()
.map_or(false, |menu| bounds.intersects(&menu.bounds))
.is_some_and(|menu| bounds.intersects(&menu.bounds))
};
let can_place_above = {
@ -5101,7 +5097,7 @@ impl EditorElement {
if active_positions
.iter()
.any(|p| p.map_or(false, |p| display_row_range.contains(&p.row())))
.any(|p| p.is_some_and(|p| display_row_range.contains(&p.row())))
{
let y = display_row_range.start.as_f32() * line_height
+ text_hitbox.bounds.top()
@ -5214,7 +5210,7 @@ impl EditorElement {
let intersects_menu = |bounds: Bounds<Pixels>| -> bool {
context_menu_layout
.as_ref()
.map_or(false, |menu| bounds.intersects(&menu.bounds))
.is_some_and(|menu| bounds.intersects(&menu.bounds))
};
let final_origin = if popover_bounds_above.is_contained_within(hitbox)
@ -5299,7 +5295,7 @@ impl EditorElement {
let mut end_row = start_row.0;
while active_rows
.peek()
.map_or(false, |(active_row, has_selection)| {
.is_some_and(|(active_row, has_selection)| {
active_row.0 == end_row + 1
&& has_selection.selection == contains_non_empty_selection.selection
})
@ -6687,25 +6683,23 @@ impl EditorElement {
editor.set_scroll_position(position, window, cx);
}
cx.stop_propagation();
} else {
if minimap_hitbox.is_hovered(window) {
editor.scroll_manager.set_is_hovering_minimap_thumb(
!event.dragging()
&& layout
.thumb_layout
.thumb_bounds
.is_some_and(|bounds| bounds.contains(&event.position)),
cx,
);
} else if minimap_hitbox.is_hovered(window) {
editor.scroll_manager.set_is_hovering_minimap_thumb(
!event.dragging()
&& layout
.thumb_layout
.thumb_bounds
.is_some_and(|bounds| bounds.contains(&event.position)),
cx,
);
// Stop hover events from propagating to the
// underlying editor if the minimap hitbox is hovered
if !event.dragging() {
cx.stop_propagation();
}
} else {
editor.scroll_manager.hide_minimap_thumb(cx);
// Stop hover events from propagating to the
// underlying editor if the minimap hitbox is hovered
if !event.dragging() {
cx.stop_propagation();
}
} else {
editor.scroll_manager.hide_minimap_thumb(cx);
}
mouse_position = event.position;
});
@ -7084,9 +7078,7 @@ impl EditorElement {
let unstaged_hollow = ProjectSettings::get_global(cx)
.git
.hunk_style
.map_or(false, |style| {
matches!(style, GitHunkStyleSetting::UnstagedHollow)
});
.is_some_and(|style| matches!(style, GitHunkStyleSetting::UnstagedHollow));
unstaged == unstaged_hollow
}
@ -8183,7 +8175,7 @@ impl Element for EditorElement {
let is_row_soft_wrapped = |row: usize| {
row_infos
.get(row)
.map_or(true, |info| info.buffer_row.is_none())
.is_none_or(|info| info.buffer_row.is_none())
};
let start_anchor = if start_row == Default::default() {
@ -9718,14 +9710,12 @@ impl PointForPosition {
false
} else if start_row == end_row {
candidate_col >= start_col && candidate_col < end_col
} else if candidate_row == start_row {
candidate_col >= start_col
} else if candidate_row == end_row {
candidate_col < end_col
} else {
if candidate_row == start_row {
candidate_col >= start_col
} else if candidate_row == end_row {
candidate_col < end_col
} else {
true
}
true
}
}
}

View file

@ -415,7 +415,7 @@ impl GitBlame {
let old_end = cursor.end();
if row_edits
.peek()
.map_or(true, |next_edit| next_edit.old.start >= old_end)
.is_none_or(|next_edit| next_edit.old.start >= old_end)
&& let Some(entry) = cursor.item()
{
if old_end > edit.old.end {

View file

@ -271,7 +271,7 @@ impl Editor {
Task::ready(Ok(Navigated::No))
};
self.select(SelectPhase::End, window, cx);
return navigate_task;
navigate_task
}
}
@ -871,7 +871,7 @@ fn surrounding_filename(
.peekable();
while let Some(ch) = forwards.next() {
// Skip escaped whitespace
if ch == '\\' && forwards.peek().map_or(false, |ch| ch.is_whitespace()) {
if ch == '\\' && forwards.peek().is_some_and(|ch| ch.is_whitespace()) {
token_end += ch.len_utf8();
let whitespace = forwards.next().unwrap();
token_end += whitespace.len_utf8();

View file

@ -201,7 +201,7 @@ impl FollowableItem for Editor {
if buffer
.as_singleton()
.and_then(|buffer| buffer.read(cx).file())
.map_or(false, |file| file.is_private())
.is_some_and(|file| file.is_private())
{
return None;
}
@ -715,7 +715,7 @@ impl Item for Editor {
.read(cx)
.as_singleton()
.and_then(|buffer| buffer.read(cx).file())
.map_or(false, |file| file.disk_state() == DiskState::Deleted);
.is_some_and(|file| file.disk_state() == DiskState::Deleted);
h_flex()
.gap_2()

View file

@ -86,9 +86,9 @@ pub(crate) fn should_auto_close(
});
}
if to_auto_edit.is_empty() {
return None;
None
} else {
return Some(to_auto_edit);
Some(to_auto_edit)
}
}
@ -186,7 +186,7 @@ pub(crate) fn generate_auto_close_edits(
let range = node_name.byte_range();
return buffer.text_for_range(range).equals_str(name);
}
return is_empty;
is_empty
};
let tree_root_node = {
@ -227,7 +227,7 @@ pub(crate) fn generate_auto_close_edits(
let has_open_tag_with_same_tag_name = ancestor
.named_child(0)
.filter(|n| n.kind() == config.open_tag_node_name)
.map_or(false, |element_open_tag_node| {
.is_some_and(|element_open_tag_node| {
tag_node_name_equals(&element_open_tag_node, &tag_name)
});
if has_open_tag_with_same_tag_name {
@ -263,8 +263,7 @@ pub(crate) fn generate_auto_close_edits(
}
let is_after_open_tag = |node: &Node| {
return node.start_byte() < open_tag.start_byte()
&& node.end_byte() < open_tag.start_byte();
node.start_byte() < open_tag.start_byte() && node.end_byte() < open_tag.start_byte()
};
// perf: use cursor for more efficient traversal
@ -301,7 +300,7 @@ pub(crate) fn generate_auto_close_edits(
let edit_range = edit_anchor..edit_anchor;
edits.push((edit_range, format!("</{}>", tag_name)));
}
return Ok(edits);
Ok(edits)
}
pub(crate) fn refresh_enabled_in_any_buffer(
@ -367,7 +366,7 @@ pub(crate) fn construct_initial_buffer_versions_map<
initial_buffer_versions.insert(buffer_id, buffer_version);
}
}
return initial_buffer_versions;
initial_buffer_versions
}
pub(crate) fn handle_from(
@ -455,12 +454,9 @@ pub(crate) fn handle_from(
let ensure_no_edits_since_start = || -> Option<()> {
let has_edits_since_start = this
.read_with(cx, |this, cx| {
this.buffer
.read(cx)
.buffer(buffer_id)
.map_or(true, |buffer| {
buffer.read(cx).has_edits_since(&buffer_version_initial)
})
this.buffer.read(cx).buffer(buffer_id).is_none_or(|buffer| {
buffer.read(cx).has_edits_since(&buffer_version_initial)
})
})
.ok()?;

View file

@ -61,13 +61,13 @@ impl MouseContextMenu {
source,
offset: position - (source_position + content_origin),
};
return Some(MouseContextMenu::new(
Some(MouseContextMenu::new(
editor,
menu_position,
context_menu,
window,
cx,
));
))
}
pub(crate) fn new(

View file

@ -89,7 +89,7 @@ impl Editor {
.lsp_task_source()?;
if lsp_settings
.get(&lsp_tasks_source)
.map_or(true, |s| s.enable_lsp_tasks)
.is_none_or(|s| s.enable_lsp_tasks)
{
let buffer_id = buffer.read(cx).remote_id();
Some((lsp_tasks_source, buffer_id))