Skip to content

ViEditor: Implement put/yank registers

Sign in for the full log view
GitHub Actions / clippy succeeded Nov 30, 2023 in 0s

clippy

17 warnings

Details

Results

Message level Amount
Internal compiler error 0
Error 0
Warning 17
Note 0
Help 0

Versions

  • rustc 1.74.0 (79e9716c9 2023-11-13)
  • cargo 1.74.0 (ecb9851af 2023-10-18)
  • clippy 0.1.74 (79e9716 2023-11-13)

Annotations

Check warning on line 989 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function returning `Result` missing `# Errors` section

warning: docs for function returning `Result` missing `# Errors` section
   --> src/edit/vi.rs:985:5
    |
985 | /     pub fn load_text<P: AsRef<std::path::Path>>(
986 | |         &mut self,
987 | |         path: P,
988 | |         attrs: crate::Attrs,
989 | |     ) -> std::io::Result<()> {
    | |____________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc

Check warning on line 656 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
   --> src/edit/vi.rs:638:33
    |
638 | / ...                   match text[..cursor.index]
639 | | ...                       .char_indices()
640 | | ...                       .filter_map(|(i, c)| {
641 | | ...                           if c == find_c {
...   |
655 | | ...                       None => {}
656 | | ...                   }
    | |_______________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
    |
638 ~                                 if let Some(i) = text[..cursor.index]
639 +                                     .char_indices()
640 +                                     .filter_map(|(i, c)| {
641 +                                         if c == find_c {
642 +                                             let end = i + c.len_utf8();
643 +                                             if end < cursor.index {
644 +                                                 return Some(end);
645 +                                             }
646 +                                         }
647 +                                         None
648 +                                     })
649 +                                     .last() {
650 +                                     cursor.index = i;
651 +                                     editor.set_cursor(cursor);
652 +                                 }
    |

Check warning on line 629 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
   --> src/edit/vi.rs:619:33
    |
619 | / ...                   match text[..cursor.index]
620 | | ...                       .char_indices()
621 | | ...                       .filter(|&(_, c)| c == find_c)
622 | | ...                       .last()
...   |
628 | | ...                       None => {}
629 | | ...                   }
    | |_______________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
    |
619 ~                                 if let Some((i, _)) = text[..cursor.index]
620 +                                     .char_indices()
621 +                                     .filter(|&(_, c)| c == find_c)
622 +                                     .last() {
623 +                                     cursor.index = i;
624 +                                     editor.set_cursor(cursor);
625 +                                 }
    |

Check warning on line 524 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead

warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
   --> src/edit/vi.rs:521:39
    |
521 |   ...                   match text[cursor.index..]
    |  _____________________________^
522 | | ...                       .char_indices()
523 | | ...                       .filter(|&(i, c)| i > 0 && c == find_c)
524 | | ...                       .next()
    | |_________________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
    = note: `#[warn(clippy::filter_next)]` on by default
help: try
    |
521 ~                                 match text[cursor.index..]
522 +                                     .char_indices().find(|&(i, c)| i > 0 && c == find_c)
    |

Check warning on line 531 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
   --> src/edit/vi.rs:521:33
    |
521 | / ...                   match text[cursor.index..]
522 | | ...                       .char_indices()
523 | | ...                       .filter(|&(i, c)| i > 0 && c == find_c)
524 | | ...                       .next()
...   |
530 | | ...                       None => {}
531 | | ...                   }
    | |_______________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
    |
521 ~                                 if let Some((i, _)) = text[cursor.index..]
522 +                                     .char_indices()
523 +                                     .filter(|&(i, c)| i > 0 && c == find_c)
524 +                                     .next() {
525 +                                     cursor.index += i;
526 +                                     editor.set_cursor(cursor);
527 +                                 }
    |

Check warning on line 365 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

match expression looks like `matches!` macro

warning: match expression looks like `matches!` macro
   --> src/edit/vi.rs:362:29
    |
362 |           let has_selection = match editor.selection() {
    |  _____________________________^
363 | |             Selection::None => false,
364 | |             _ => true,
365 | |         };
    | |_________^ help: try: `!matches!(editor.selection(), Selection::None)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
    = note: `#[warn(clippy::match_like_matches_macro)]` on by default

Check warning on line 189 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function returning `Result` missing `# Errors` section

warning: docs for function returning `Result` missing `# Errors` section
   --> src/edit/vi.rs:184:5
    |
184 | /     pub fn load_text<P: AsRef<std::path::Path>>(
185 | |         &mut self,
186 | |         font_system: &mut FontSystem,
187 | |         path: P,
188 | |         attrs: crate::Attrs,
189 | |     ) -> std::io::Result<()> {
    | |____________________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_errors_doc
note: the lint level is defined here
   --> src/lib.rs:86:9
    |
86  | #![warn(clippy::missing_errors_doc)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 41 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
  --> src/edit/vi.rs:33:5
   |
33 | /     match editor.finish_change() {
34 | |         Some(change) => {
35 | |             if !change.items.is_empty() {
36 | |                 commands.push(change);
...  |
40 | |         None => {}
41 | |     }
   | |_____^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
   |
33 ~     if let Some(change) = editor.finish_change() {
34 +         if !change.items.is_empty() {
35 +             commands.push(change);
36 +             *changed = true;
37 +         }
38 +     }
   |

Check warning on line 355 in src/edit/editor.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`

warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`
   --> src/edit/editor.rs:345:9
    |
345 | /         match self.change.take() {
346 | |             Some(pending) => {
347 | |                 if !pending.items.is_empty() {
348 | |                     //TODO: is this a good idea?
...   |
354 | |             None => {}
355 | |         }
    | |_________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
    = note: `#[warn(clippy::single_match)]` on by default
help: try
    |
345 ~         if let Some(pending) = self.change.take() {
346 +             if !pending.items.is_empty() {
347 +                 //TODO: is this a good idea?
348 +                 log::warn!("pending change caused apply_change to be ignored!");
349 +                 self.change = Some(pending);
350 +                 return false;
351 +             }
352 +         }
    |

Check warning on line 225 in src/buffer_line.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/buffer_line.rs:218:5
    |
218 | /     pub fn layout_in_buffer(
219 | |         &mut self,
220 | |         scratch: &mut ShapeBuffer,
221 | |         font_system: &mut FontSystem,
...   |
224 | |         wrap: Wrap,
225 | |     ) -> &[LayoutLine] {
    | |______________________^
    |
note: first possible panic found here
   --> src/buffer_line.rs:234:9
    |
234 |         self.layout_opt.as_ref().expect("layout not found")
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 206 in src/buffer_line.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/buffer_line.rs:200:5
    |
200 | /     pub fn layout(
201 | |         &mut self,
202 | |         font_system: &mut FontSystem,
203 | |         font_size: f32,
204 | |         width: f32,
205 | |         wrap: Wrap,
206 | |     ) -> &[LayoutLine] {
    | |______________________^
    |
note: first possible panic found here
   --> src/buffer_line.rs:214:9
    |
214 |         self.layout_opt.as_ref().expect("layout not found")
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 180 in src/buffer_line.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/buffer_line.rs:176:5
    |
176 | /     pub fn shape_in_buffer(
177 | |         &mut self,
178 | |         scratch: &mut ShapeBuffer,
179 | |         font_system: &mut FontSystem,
180 | |     ) -> &ShapeLine {
    | |___________________^
    |
note: first possible panic found here
   --> src/buffer_line.rs:191:9
    |
191 |         self.shape_opt.as_ref().expect("shape not found")
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 486 in src/buffer.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/buffer.rs:486:5
    |
486 |     pub fn layout_cursor(&self, cursor: &Cursor) -> LayoutCursor {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: first possible panic found here
   --> src/buffer.rs:490:22
    |
490 |         let layout = line.layout_opt().as_ref().expect("layout not found");
    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 129 in src/buffer.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/buffer.rs:129:5
    |
129 |     pub fn highlight(&self, cursor_start: Cursor, cursor_end: Cursor) -> Option<(f32, f32)> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: first possible panic found here
   --> src/buffer.rs:151:25
    |
151 |             let x_end = x_end.expect("end of cursor not found");
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc

Check warning on line 272 in src/attrs.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

docs for function which may panic missing `# Panics` section

warning: docs for function which may panic missing `# Panics` section
   --> src/attrs.rs:272:5
    |
272 |     pub fn split_off(&mut self, index: usize) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
note: first possible panic found here
   --> src/attrs.rs:288:34
    |
288 |               let (range, attrs) = self
    |  __________________________________^
289 | |                 .spans
290 | |                 .get_key_value(&key.start)
291 | |                 .map(|v| (v.0.clone(), v.1.clone()))
292 | |                 .expect("attrs span not found");
    | |_______________________________________________^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_panics_doc
note: the lint level is defined here
   --> src/lib.rs:88:9
    |
88  | #![warn(clippy::missing_panics_doc)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 388 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused variable: `selection`

warning: unused variable: `selection`
   --> src/edit/vi.rs:388:34
    |
388 |                     if let Some((selection, data)) = self.registers.get(&register) {
    |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selection`

Check warning on line 387 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

unused variable: `after`

warning: unused variable: `after`
   --> src/edit/vi.rs:387:40
    |
387 |                 Event::Put { register, after } => {
    |                                        ^^^^^ help: try ignoring the field: `after: _`
    |
    = note: `#[warn(unused_variables)]` on by default