diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index e436e1cfc..937326f6e 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -795,7 +795,7 @@ fn goto_buffer(editor: &mut Editor, direction: Direction) { let iter = editor.documents.keys(); let mut iter = iter.rev().skip_while(|id| *id != ¤t); iter.next(); // skip current item - iter.next().or_else(|| editor.documents.keys().rev().next()) + iter.next().or_else(|| editor.documents.keys().next_back()) } } .unwrap(); @@ -2789,7 +2789,7 @@ fn buffer_picker(cx: &mut Context) { .editor .documents .values() - .map(|doc| new_meta(doc)) + .map(new_meta) .collect::>(); // mru diff --git a/helix-term/src/commands/dap.rs b/helix-term/src/commands/dap.rs index e9fde4767..dec25cbd9 100644 --- a/helix-term/src/commands/dap.rs +++ b/helix-term/src/commands/dap.rs @@ -78,7 +78,7 @@ fn thread_picker( }) .with_preview(move |editor, thread| { let frames = editor.debugger.as_ref()?.stack_frames.get(&thread.id)?; - let frame = frames.get(0)?; + let frame = frames.first()?; let path = frame.source.as_ref()?.path.clone()?; let pos = Some(( frame.line.saturating_sub(1), @@ -166,7 +166,7 @@ pub fn dap_start_impl( // TODO: avoid refetching all of this... pass a config in let template = match name { Some(name) => config.templates.iter().find(|t| t.name == name), - None => config.templates.get(0), + None => config.templates.first(), } .ok_or_else(|| anyhow!("No debug config with given name"))?; diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs index b13af03a2..eb88e0411 100644 --- a/helix-term/src/commands/typed.rs +++ b/helix-term/src/commands/typed.rs @@ -483,7 +483,7 @@ fn set_indent_style( } // Attempt to parse argument as an indent style. - let style = match args.get(0) { + let style = match args.first() { Some(arg) if "tabs".starts_with(&arg.to_lowercase()) => Some(Tabs), Some(Cow::Borrowed("0")) => Some(Tabs), Some(arg) => arg @@ -535,7 +535,7 @@ fn set_line_ending( } let arg = args - .get(0) + .first() .context("argument missing")? .to_ascii_lowercase(); @@ -2078,7 +2078,7 @@ fn reflow( // - The configured text-width for this language in languages.toml // - The configured text-width in the config.toml let text_width: usize = args - .get(0) + .first() .map(|num| num.parse::()) .transpose()? .or_else(|| doc.language_config().and_then(|config| config.text_width)) diff --git a/helix-term/src/keymap.rs b/helix-term/src/keymap.rs index 598be55b5..d9297e08d 100644 --- a/helix-term/src/keymap.rs +++ b/helix-term/src/keymap.rs @@ -319,7 +319,7 @@ impl Keymaps { self.sticky = None; } - let first = self.state.get(0).unwrap_or(&key); + let first = self.state.first().unwrap_or(&key); let trie_node = match self.sticky { Some(ref trie) => Cow::Owned(KeyTrie::Node(trie.clone())), None => Cow::Borrowed(keymap), diff --git a/helix-term/src/ui/spinner.rs b/helix-term/src/ui/spinner.rs index 68965469d..379c4489f 100644 --- a/helix-term/src/ui/spinner.rs +++ b/helix-term/src/ui/spinner.rs @@ -11,7 +11,7 @@ impl ProgressSpinners { } pub fn get_or_create(&mut self, id: usize) -> &mut Spinner { - self.inner.entry(id).or_insert_with(Spinner::default) + self.inner.entry(id).or_default() } }