Skip to content

Add Edit::cursor_position #615

Add Edit::cursor_position

Add Edit::cursor_position #615

GitHub Actions / clippy succeeded Jun 10, 2024 in 0s

clippy

36 warnings

Details

Results

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

Versions

  • rustc 1.78.0 (9b00956e5 2024-04-29)
  • cargo 1.78.0 (54d8815d0 2024-03-26)
  • clippy 0.1.78 (9b00956 2024-04-29)

Annotations

Check warning on line 36 in src/shape_run_cache.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/shape_run_cache.rs:36:61
   |
36 |     /// Remove anything in the cache with an age older than keep_ages
   |                                                             ^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
36 |     /// Remove anything in the cache with an age older than `keep_ages`
   |                                                             ~~~~~~~~~~~

Check warning on line 379 in src/shape.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

manual saturating arithmetic

warning: manual saturating arithmetic
   --> src/shape.rs:377:19
    |
377 |           let end = min(attrs_range.end, end_run)
    |  ___________________^
378 | |             .checked_sub(start_run)
379 | |             .unwrap_or(0);
    | |_________________________^ help: consider using `saturating_sub`: `min(attrs_range.end, end_run).saturating_sub(start_run)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic

Check warning on line 376 in src/shape.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

manual saturating arithmetic

warning: manual saturating arithmetic
   --> src/shape.rs:374:21
    |
374 |           let start = max(attrs_range.start, start_run)
    |  _____________________^
375 | |             .checked_sub(start_run)
376 | |             .unwrap_or(0);
    | |_________________________^ help: consider using `saturating_sub`: `max(attrs_range.start, start_run).saturating_sub(start_run)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_saturating_arithmetic
    = note: `#[warn(clippy::manual_saturating_arithmetic)]` on by default

Check warning on line 66 in src/line_ending.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

single-character string constant used as pattern

warning: single-character string constant used as pattern
  --> src/line_ending.rs:66:45
   |
66 |                 } else if after.starts_with("\r") {
   |                                             ^^^^ help: consider using a `char`: `'\r'`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern

Check warning on line 64 in src/line_ending.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

single-character string constant used as pattern

warning: single-character string constant used as pattern
  --> src/line_ending.rs:64:45
   |
64 |                 } else if after.starts_with("\n") {
   |                                             ^^^^ help: consider using a `char`: `'\n'`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
   = note: `#[warn(clippy::single_char_pattern)]` on by default

Check warning on line 55 in src/line_ending.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

the borrowed expression implements the required traits

warning: the borrowed expression implements the required traits
  --> src/line_ending.rs:55:49
   |
55 |         match self.string[start..self.end].find(&['\r', '\n']) {
   |                                                 ^^^^^^^^^^^^^ help: change this to: `['\r', '\n']`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
   = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default

Check warning on line 61 in src/layout.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/layout.rs:61:25
   |
61 |     /// Cache key, see [CacheKey]
   |                         ^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
61 |     /// Cache key, see [`CacheKey`]
   |                         ~~~~~~~~~~

Check warning on line 31 in src/layout.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/layout.rs:31:17
   |
31 |     /// Unicode BiDi embedding level, character is left-to-right if `level` is divisible by 2
   |                 ^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
31 |     /// Unicode `BiDi` embedding level, character is left-to-right if `level` is divisible by 2
   |                 ~~~~~~

Check warning on line 251 in src/font/fallback/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`

warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`
   --> src/font/fallback/mod.rs:251:67
    |
251 |             if let Some(fallback_info) = self.monospace_fallbacks.pop_first() {
    |                                                                   ^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv

Check warning on line 148 in src/font/fallback/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`

warning: current MSRV (Minimum Supported Rust Version) is `1.65.0` but this item is stable since `1.66.0`
   --> src/font/fallback/mod.rs:148:63
    |
148 |         if let Some(fallback_info) = self.monospace_fallbacks.pop_first() {
    |                                                               ^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
    = note: `#[warn(clippy::incompatible_msrv)]` on by default

Check warning on line 293 in src/edit/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
   --> src/edit/mod.rs:293:56
    |
293 |     /// Insert text at specified cursor with specified attrs_list
    |                                                        ^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
    |
293 |     /// Insert text at specified cursor with specified `attrs_list`
    |                                                        ~~~~~~~~~~~~

Check warning on line 190 in src/edit/mod.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

consider adding a `;` to the last statement for consistent formatting

warning: consider adding a `;` to the last statement for consistent formatting
   --> src/edit/mod.rs:190:9
    |
190 |         self.with_buffer_mut(|buffer| buffer.set_redraw(redraw))
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `self.with_buffer_mut(|buffer| buffer.set_redraw(redraw));`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned

Check warning on line 1175 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:1171:5
     |
1171 | /     pub fn load_text<P: AsRef<std::path::Path>>(
1172 | |         &mut self,
1173 | |         path: P,
1174 | |         attrs: crate::Attrs,
1175 | |     ) -> 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 1138 in src/edit/vi.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

manual implementation of `Option::map`

warning: manual implementation of `Option::map`
    --> src/edit/vi.rs:1132:37
     |
1132 | / ...                   if let Some(last) = layout_runs.last() {
1133 | | ...                       Some(Action::Motion(Motion::GotoLine(
1134 | | ...                           (last.line_i + first.line_i) / 2,
1135 | | ...                       )))
1136 | | ...                   } else {
1137 | | ...                       None
1138 | | ...                   }
     | |_______________________^
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map
     = note: `#[warn(clippy::manual_map)]` on by default
help: try
     |
1132 ~                                     layout_runs.last().map(|last| Action::Motion(Motion::GotoLine(
1133 +                                             (last.line_i + first.line_i) / 2,
1134 +                                         )))
     |

Check warning on line 1022 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:1005:37
     |
1005 | / ...                   match text[..cursor.index]
1006 | | ...                       .char_indices()
1007 | | ...                       .filter_map(|(i, c)| {
1008 | | ...                           if c == find_c {
...    |
1021 | | ...                       None => {}
1022 | | ...                   }
     | |_______________________^
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
     |
1005 ~                                     if let Some(i) = text[..cursor.index]
1006 +                                         .char_indices()
1007 +                                         .filter_map(|(i, c)| {
1008 +                                             if c == find_c {
1009 +                                                 let end = i + c.len_utf8();
1010 +                                                 if end < cursor.index {
1011 +                                                     return Some(end);
1012 +                                                 }
1013 +                                             }
1014 +                                             None
1015 +                                         })
1016 +                                         .last() {
1017 +                                         cursor.index = i;
1018 +                                     }
     |

Check warning on line 994 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:985:37
    |
985 | / ...                   match text[..cursor.index]
986 | | ...                       .char_indices()
987 | | ...                       .filter(|&(_, c)| c == find_c)
988 | | ...                       .last()
...   |
993 | | ...                       None => {}
994 | | ...                   }
    | |_______________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
    |
985 ~                                     if let Some((i, _)) = text[..cursor.index]
986 +                                         .char_indices()
987 +                                         .filter(|&(_, c)| c == find_c)
988 +                                         .last() {
989 +                                         cursor.index = i;
990 +                                     }
    |

Check warning on line 882 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:879:43
    |
879 |   ...                   match text[cursor.index..]
    |  _____________________________^
880 | | ...                       .char_indices()
881 | | ...                       .filter(|&(i, c)| i > 0 && c == find_c)
882 | | ...                       .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
    |
879 ~                                     match text[cursor.index..]
880 +                                         .char_indices().find(|&(i, c)| i > 0 && c == find_c)
    |

Check warning on line 888 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:879:37
    |
879 | / ...                   match text[cursor.index..]
880 | | ...                       .char_indices()
881 | | ...                       .filter(|&(i, c)| i > 0 && c == find_c)
882 | | ...                       .next()
...   |
887 | | ...                       None => {}
888 | | ...                   }
    | |_______________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match
help: try
    |
879 ~                                     if let Some((i, _)) = text[cursor.index..]
880 +                                         .char_indices()
881 +                                         .filter(|&(i, c)| i > 0 && c == find_c)
882 +                                         .next() {
883 +                                         cursor.index += i;
884 +                                     }
    |

Check warning on line 648 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:645:29
    |
645 |           let has_selection = match editor.selection() {
    |  _____________________________^
646 | |             Selection::None => false,
647 | |             _ => true,
648 | |         };
    | |_________^ 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 218 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:213:5
    |
213 | /     pub fn load_text<P: AsRef<std::path::Path>>(
214 | |         &mut self,
215 | |         font_system: &mut FontSystem,
216 | |         path: P,
217 | |         attrs: crate::Attrs,
218 | |     ) -> 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 128 in src/edit/syntect.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

consider adding a `;` to the last statement for consistent formatting

warning: consider adding a `;` to the last statement for consistent formatting
   --> src/edit/syntect.rs:128:13
    |
128 |             buffer.set_text(font_system, &text, attrs, Shaping::Advanced)
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add a `;` here: `buffer.set_text(font_system, &text, attrs, Shaping::Advanced);`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#semicolon_if_nothing_returned
note: the lint level is defined here
   --> src/lib.rs:90:9
    |
90  | #![warn(clippy::semicolon_if_nothing_returned)]
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Check warning on line 540 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:530:9
    |
530 | /         match self.change.take() {
531 | |             Some(pending) => {
532 | |                 if !pending.items.is_empty() {
533 | |                     //TODO: is this a good idea?
...   |
539 | |             None => {}
540 | |         }
    | |_________^
    |
    = 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
    |
530 ~         if let Some(pending) = self.change.take() {
531 +             if !pending.items.is_empty() {
532 +                 //TODO: is this a good idea?
533 +                 log::warn!("pending change caused apply_change to be ignored!");
534 +                 self.change = Some(pending);
535 +                 return false;
536 +             }
537 +         }
    |

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

See this annotation in the file changed.

@github-actions github-actions / clippy

this function has too many arguments (8/7)

warning: this function has too many arguments (8/7)
   --> src/edit/editor.rs:112:5
    |
112 | /     pub fn draw<F>(
113 | |         &self,
114 | |         font_system: &mut FontSystem,
115 | |         cache: &mut crate::SwashCache,
...   |
120 | |         mut f: F,
121 | |     ) where
    | |_____^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments

Check warning on line 92 in src/cursor.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/cursor.rs:92:63
   |
92 |     /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL)
   |                                                               ^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
92 |     /// Move cursor to next character ([Self::Right] in LTR, [`Self::Left`] in RTL)
   |                                                               ~~~~~~~~~~~~

Check warning on line 92 in src/cursor.rs

See this annotation in the file changed.

@github-actions github-actions / clippy

item in documentation is missing backticks

warning: item in documentation is missing backticks
  --> src/cursor.rs:92:41
   |
92 |     /// Move cursor to next character ([Self::Right] in LTR, [Self::Left] in RTL)
   |                                         ^^^^^^^^^^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_markdown
help: try
   |
92 |     /// Move cursor to next character ([`Self::Right`] in LTR, [Self::Left] in RTL)
   |                                         ~~~~~~~~~~~~~