on master help sign in
Resolve a bunch of upcoming clippy lints
commitc2c1280f02b83a468da67d88350c199915427535 authorBlaž Hrastnik <blaz@mxxn.io> dateFri 4 Nov 2022, 21:01 (4 years ago) parent921d351
22 files changed+113−124
helix-core/src/history.rs+1−1 helix-core/src/increment/number.rs+2−2 helix-core/src/line_ending.rs+1−1 helix-core/src/surround.rs+1−1 helix-core/src/syntax.rs+7−7 helix-dap/src/transport.rs+1−1 helix-dap/src/types.rs+50−50 helix-loader/src/grammar.rs+2−2 helix-lsp/src/jsonrpc.rs+13−13 helix-term/build.rs+1−1 helix-term/src/application.rs+2−2 helix-term/src/commands.rs+6−9 helix-term/src/commands/lsp.rs+3−3 helix-term/src/ui/menu.rs+1−1 helix-term/src/ui/prompt.rs+2−2 helix-tui/src/buffer.rs+2−2 helix-tui/src/layout.rs+1−1 helix-tui/src/text.rs+4−4 helix-tui/src/widgets/block.rs+4−12 helix-tui/src/widgets/table.rs+3−3 helix-view/src/editor.rs+2−2 helix-view/src/graphics.rs+4−4
helix-core/src/history.rs+1−1
@@ -282,7 +282,7 @@ impl History {
282282}
283283
284284/// Whether to undo by a number of edits or a duration of time.
285−#[derive(Debug, PartialEq, Clone, Copy)]
285+#[derive(Debug, PartialEq, Eq, Clone, Copy)]
286286pub enum UndoKind {
287287 Steps(usize),
288288 TimePeriod(std::time::Duration),
helix-core/src/increment/number.rs+2−2
@@ -110,8 +110,8 @@ impl<'a> Increment for NumberIncrementor<'a> {
110110 let (lower_count, upper_count): (usize, usize) =
111111 old_text.chars().skip(2).fold((0, 0), |(lower, upper), c| {
112112 (
113− lower + c.is_ascii_lowercase().then(|| 1).unwrap_or(0),
114− upper + c.is_ascii_uppercase().then(|| 1).unwrap_or(0),
113+ lower + usize::from(c.is_ascii_lowercase()),
114+ upper + usize::from(c.is_ascii_uppercase()),
115115 )
116116 });
117117 if upper_count > lower_count {
helix-core/src/line_ending.rs+1−1
@@ -6,7 +6,7 @@ pub const DEFAULT_LINE_ENDING: LineEnding = LineEnding::Crlf;
66pub const DEFAULT_LINE_ENDING: LineEnding = LineEnding::LF;
77
88/// Represents one of the valid Unicode line endings.
9−#[derive(PartialEq, Copy, Clone, Debug)]
9+#[derive(PartialEq, Eq, Copy, Clone, Debug)]
1010pub enum LineEnding {
1111 Crlf, // CarriageReturn followed by LineFeed
1212 LF, // U+000A -- LineFeed
helix-core/src/surround.rs+1−1
@@ -13,7 +13,7 @@ pub const PAIRS: &[(char, char)] = &[
1313 ('(', ')'),
1414];
1515
16−#[derive(Debug, PartialEq)]
16+#[derive(Debug, PartialEq, Eq)]
1717pub enum Error {
1818 PairNotFound,
1919 CursorOverlap,
helix-core/src/syntax.rs+7−7
@@ -218,7 +218,7 @@ pub struct FormatterConfiguration {
218218 pub args: Vec<String>,
219219}
220220
221−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
221+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
222222#[serde(rename_all = "kebab-case")]
223223pub struct AdvancedCompletion {
224224 pub name: Option<String>,
@@ -226,14 +226,14 @@ pub struct AdvancedCompletion {
226226 pub default: Option<String>,
227227}
228228
229−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
229+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
230230#[serde(rename_all = "kebab-case", untagged)]
231231pub enum DebugConfigCompletion {
232232 Named(String),
233233 Advanced(AdvancedCompletion),
234234}
235235
236−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
236+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
237237#[serde(untagged)]
238238pub enum DebugArgumentValue {
239239 String(String),
@@ -241,7 +241,7 @@ pub enum DebugArgumentValue {
241241 Boolean(bool),
242242}
243243
244−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
244+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
245245#[serde(rename_all = "kebab-case")]
246246pub struct DebugTemplate {
247247 pub name: String,
@@ -250,7 +250,7 @@ pub struct DebugTemplate {
250250 pub args: HashMap<String, DebugArgumentValue>,
251251}
252252
253−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
253+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
254254#[serde(rename_all = "kebab-case")]
255255pub struct DebugAdapterConfig {
256256 pub name: String,
@@ -266,7 +266,7 @@ pub struct DebugAdapterConfig {
266266}
267267
268268// Different workarounds for adapters' differences
269−#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
269+#[derive(Debug, Default, PartialEq, Eq, Clone, Serialize, Deserialize)]
270270pub struct DebuggerQuirks {
271271 #[serde(default)]
272272 pub absolute_paths: bool,
@@ -280,7 +280,7 @@ pub struct IndentationConfiguration {
280280}
281281
282282/// Configuration for auto pairs
283−#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
283+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
284284#[serde(rename_all = "kebab-case", deny_unknown_fields, untagged)]
285285pub enum AutoPairConfig {
286286 /// Enables or disables auto pairing. False means disabled. True means to use the default pairs.
helix-dap/src/transport.rs+1−1
@@ -22,7 +22,7 @@ pub struct Request {
2222 pub arguments: Option<Value>,
2323}
2424
25−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
25+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
2626pub struct Response {
2727 // seq is omitted as unused and is not sent by some implementations
2828 pub request_seq: u64,
helix-dap/src/types.rs+50−50
@@ -22,7 +22,7 @@ pub trait Request {
2222 const COMMAND: &'static str;
2323}
2424
25−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
25+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
2626#[serde(rename_all = "camelCase")]
2727pub struct ColumnDescriptor {
2828 pub attribute_name: String,
@@ -35,7 +35,7 @@ pub struct ColumnDescriptor {
3535 pub width: Option<usize>,
3636}
3737
38−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
38+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
3939#[serde(rename_all = "camelCase")]
4040pub struct ExceptionBreakpointsFilter {
4141 pub filter: String,
@@ -50,7 +50,7 @@ pub struct ExceptionBreakpointsFilter {
5050 pub condition_description: Option<String>,
5151}
5252
53−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
53+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
5454#[serde(rename_all = "camelCase")]
5555pub struct DebuggerCapabilities {
5656 #[serde(skip_serializing_if = "Option::is_none")]
@@ -131,14 +131,14 @@ pub struct DebuggerCapabilities {
131131 pub supported_checksum_algorithms: Option<Vec<String>>,
132132}
133133
134−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
134+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
135135#[serde(rename_all = "camelCase")]
136136pub struct Checksum {
137137 pub algorithm: String,
138138 pub checksum: String,
139139}
140140
141−#[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
141+#[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
142142#[serde(rename_all = "camelCase")]
143143pub struct Source {
144144 #[serde(skip_serializing_if = "Option::is_none")]
@@ -159,7 +159,7 @@ pub struct Source {
159159 pub checksums: Option<Vec<Checksum>>,
160160}
161161
162−#[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
162+#[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
163163#[serde(rename_all = "camelCase")]
164164pub struct SourceBreakpoint {
165165 pub line: usize,
@@ -173,7 +173,7 @@ pub struct SourceBreakpoint {
173173 pub log_message: Option<String>,
174174}
175175
176−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
176+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
177177#[serde(rename_all = "camelCase")]
178178pub struct Breakpoint {
179179 #[serde(skip_serializing_if = "Option::is_none")]
@@ -197,7 +197,7 @@ pub struct Breakpoint {
197197 pub offset: Option<usize>,
198198}
199199
200−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
200+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
201201#[serde(rename_all = "camelCase")]
202202pub struct StackFrameFormat {
203203 #[serde(skip_serializing_if = "Option::is_none")]
@@ -216,7 +216,7 @@ pub struct StackFrameFormat {
216216 pub include_all: Option<bool>,
217217}
218218
219−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
219+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
220220#[serde(rename_all = "camelCase")]
221221pub struct StackFrame {
222222 pub id: usize,
@@ -239,14 +239,14 @@ pub struct StackFrame {
239239 pub presentation_hint: Option<String>,
240240}
241241
242−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
242+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
243243#[serde(rename_all = "camelCase")]
244244pub struct Thread {
245245 pub id: ThreadId,
246246 pub name: String,
247247}
248248
249−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
249+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
250250#[serde(rename_all = "camelCase")]
251251pub struct Scope {
252252 pub name: String,
@@ -270,14 +270,14 @@ pub struct Scope {
270270 pub end_column: Option<usize>,
271271}
272272
273−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
273+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
274274#[serde(rename_all = "camelCase")]
275275pub struct ValueFormat {
276276 #[serde(skip_serializing_if = "Option::is_none")]
277277 pub hex: Option<bool>,
278278}
279279
280−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
280+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
281281#[serde(rename_all = "camelCase")]
282282pub struct VariablePresentationHint {
283283 #[serde(skip_serializing_if = "Option::is_none")]
@@ -288,7 +288,7 @@ pub struct VariablePresentationHint {
288288 pub visibility: Option<String>,
289289}
290290
291−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
291+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
292292#[serde(rename_all = "camelCase")]
293293pub struct Variable {
294294 pub name: String,
@@ -308,7 +308,7 @@ pub struct Variable {
308308 pub memory_reference: Option<String>,
309309}
310310
311−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
311+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
312312#[serde(rename_all = "camelCase")]
313313pub struct Module {
314314 pub id: String, // TODO: || number
@@ -333,7 +333,7 @@ pub struct Module {
333333
334334pub mod requests {
335335 use super::*;
336− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
336+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
337337 #[serde(rename_all = "camelCase")]
338338 pub struct InitializeArguments {
339339 #[serde(rename = "clientID", skip_serializing_if = "Option::is_none")]
@@ -409,7 +409,7 @@ pub mod requests {
409409 const COMMAND: &'static str = "configurationDone";
410410 }
411411
412− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
412+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
413413 #[serde(rename_all = "camelCase")]
414414 pub struct SetBreakpointsArguments {
415415 pub source: Source,
@@ -420,7 +420,7 @@ pub mod requests {
420420 pub source_modified: Option<bool>,
421421 }
422422
423− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
423+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
424424 #[serde(rename_all = "camelCase")]
425425 pub struct SetBreakpointsResponse {
426426 #[serde(skip_serializing_if = "Option::is_none")]
@@ -436,13 +436,13 @@ pub mod requests {
436436 const COMMAND: &'static str = "setBreakpoints";
437437 }
438438
439− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
439+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
440440 #[serde(rename_all = "camelCase")]
441441 pub struct ContinueArguments {
442442 pub thread_id: ThreadId,
443443 }
444444
445− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
445+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
446446 #[serde(rename_all = "camelCase")]
447447 pub struct ContinueResponse {
448448 #[serde(skip_serializing_if = "Option::is_none")]
@@ -458,7 +458,7 @@ pub mod requests {
458458 const COMMAND: &'static str = "continue";
459459 }
460460
461− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
461+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
462462 #[serde(rename_all = "camelCase")]
463463 pub struct StackTraceArguments {
464464 pub thread_id: ThreadId,
@@ -470,7 +470,7 @@ pub mod requests {
470470 pub format: Option<StackFrameFormat>,
471471 }
472472
473− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
473+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
474474 #[serde(rename_all = "camelCase")]
475475 pub struct StackTraceResponse {
476476 #[serde(skip_serializing_if = "Option::is_none")]
@@ -487,7 +487,7 @@ pub mod requests {
487487 const COMMAND: &'static str = "stackTrace";
488488 }
489489
490− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
490+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
491491 #[serde(rename_all = "camelCase")]
492492 pub struct ThreadsResponse {
493493 pub threads: Vec<Thread>,
@@ -502,13 +502,13 @@ pub mod requests {
502502 const COMMAND: &'static str = "threads";
503503 }
504504
505− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
505+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
506506 #[serde(rename_all = "camelCase")]
507507 pub struct ScopesArguments {
508508 pub frame_id: usize,
509509 }
510510
511− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
511+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
512512 #[serde(rename_all = "camelCase")]
513513 pub struct ScopesResponse {
514514 pub scopes: Vec<Scope>,
@@ -523,7 +523,7 @@ pub mod requests {
523523 const COMMAND: &'static str = "scopes";
524524 }
525525
526− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
526+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
527527 #[serde(rename_all = "camelCase")]
528528 pub struct VariablesArguments {
529529 pub variables_reference: usize,
@@ -537,7 +537,7 @@ pub mod requests {
537537 pub format: Option<ValueFormat>,
538538 }
539539
540− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
540+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
541541 #[serde(rename_all = "camelCase")]
542542 pub struct VariablesResponse {
543543 pub variables: Vec<Variable>,
@@ -552,7 +552,7 @@ pub mod requests {
552552 const COMMAND: &'static str = "variables";
553553 }
554554
555− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
555+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
556556 #[serde(rename_all = "camelCase")]
557557 pub struct StepInArguments {
558558 pub thread_id: ThreadId,
@@ -571,7 +571,7 @@ pub mod requests {
571571 const COMMAND: &'static str = "stepIn";
572572 }
573573
574− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
574+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
575575 #[serde(rename_all = "camelCase")]
576576 pub struct StepOutArguments {
577577 pub thread_id: ThreadId,
@@ -588,7 +588,7 @@ pub mod requests {
588588 const COMMAND: &'static str = "stepOut";
589589 }
590590
591− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
591+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
592592 #[serde(rename_all = "camelCase")]
593593 pub struct NextArguments {
594594 pub thread_id: ThreadId,
@@ -605,7 +605,7 @@ pub mod requests {
605605 const COMMAND: &'static str = "next";
606606 }
607607
608− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
608+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
609609 #[serde(rename_all = "camelCase")]
610610 pub struct PauseArguments {
611611 pub thread_id: ThreadId,
@@ -620,7 +620,7 @@ pub mod requests {
620620 const COMMAND: &'static str = "pause";
621621 }
622622
623− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
623+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
624624 #[serde(rename_all = "camelCase")]
625625 pub struct EvaluateArguments {
626626 pub expression: String,
@@ -632,7 +632,7 @@ pub mod requests {
632632 pub format: Option<ValueFormat>,
633633 }
634634
635− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
635+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
636636 #[serde(rename_all = "camelCase")]
637637 pub struct EvaluateResponse {
638638 pub result: String,
@@ -658,7 +658,7 @@ pub mod requests {
658658 const COMMAND: &'static str = "evaluate";
659659 }
660660
661− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
661+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
662662 #[serde(rename_all = "camelCase")]
663663 pub struct SetExceptionBreakpointsArguments {
664664 pub filters: Vec<String>,
@@ -666,7 +666,7 @@ pub mod requests {
666666 // pub exceptionOptions: Option<Vec<ExceptionOptions>>, // needs capability
667667 }
668668
669− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
669+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
670670 #[serde(rename_all = "camelCase")]
671671 pub struct SetExceptionBreakpointsResponse {
672672 #[serde(skip_serializing_if = "Option::is_none")]
@@ -684,7 +684,7 @@ pub mod requests {
684684
685685 // Reverse Requests
686686
687− #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize)]
687+ #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize, Serialize)]
688688 #[serde(rename_all = "camelCase")]
689689 pub struct RunInTerminalResponse {
690690 #[serde(skip_serializing_if = "Option::is_none")]
@@ -693,7 +693,7 @@ pub mod requests {
693693 pub shell_process_id: Option<u32>,
694694 }
695695
696− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
696+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
697697 #[serde(rename_all = "camelCase")]
698698 pub struct RunInTerminalArguments {
699699 #[serde(skip_serializing_if = "Option::is_none")]
@@ -745,7 +745,7 @@ pub mod events {
745745 Memory(Memory),
746746 }
747747
748− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
748+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
749749 #[serde(rename_all = "camelCase")]
750750 pub struct Stopped {
751751 pub reason: String,
@@ -763,7 +763,7 @@ pub mod events {
763763 pub hit_breakpoint_ids: Option<Vec<usize>>,
764764 }
765765
766− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
766+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
767767 #[serde(rename_all = "camelCase")]
768768 pub struct Continued {
769769 pub thread_id: ThreadId,
@@ -771,27 +771,27 @@ pub mod events {
771771 pub all_threads_continued: Option<bool>,
772772 }
773773
774− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
774+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
775775 #[serde(rename_all = "camelCase")]
776776 pub struct Exited {
777777 pub exit_code: usize,
778778 }
779779
780− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
780+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
781781 #[serde(rename_all = "camelCase")]
782782 pub struct Terminated {
783783 #[serde(skip_serializing_if = "Option::is_none")]
784784 pub restart: Option<Value>,
785785 }
786786
787− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
787+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
788788 #[serde(rename_all = "camelCase")]
789789 pub struct Thread {
790790 pub reason: String,
791791 pub thread_id: ThreadId,
792792 }
793793
794− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
794+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
795795 #[serde(rename_all = "camelCase")]
796796 pub struct Output {
797797 pub output: String,
@@ -811,28 +811,28 @@ pub mod events {
811811 pub data: Option<Value>,
812812 }
813813
814− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
814+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
815815 #[serde(rename_all = "camelCase")]
816816 pub struct Breakpoint {
817817 pub reason: String,
818818 pub breakpoint: super::Breakpoint,
819819 }
820820
821− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
821+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
822822 #[serde(rename_all = "camelCase")]
823823 pub struct Module {
824824 pub reason: String,
825825 pub module: super::Module,
826826 }
827827
828− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
828+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
829829 #[serde(rename_all = "camelCase")]
830830 pub struct LoadedSource {
831831 pub reason: String,
832832 pub source: super::Source,
833833 }
834834
835− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
835+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
836836 #[serde(rename_all = "camelCase")]
837837 pub struct Process {
838838 pub name: String,
@@ -846,13 +846,13 @@ pub mod events {
846846 pub pointer_size: Option<usize>,
847847 }
848848
849− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
849+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
850850 #[serde(rename_all = "camelCase")]
851851 pub struct Capabilities {
852852 pub capabilities: super::DebuggerCapabilities,
853853 }
854854
855− // #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
855+ // #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
856856 // #[serde(rename_all = "camelCase")]
857857 // pub struct Invalidated {
858858 // pub areas: Vec<InvalidatedArea>,
@@ -860,7 +860,7 @@ pub mod events {
860860 // pub stack_frame_id: Option<usize>,
861861 // }
862862
863− #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
863+ #[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
864864 #[serde(rename_all = "camelCase")]
865865 pub struct Memory {
866866 pub memory_reference: String,
helix-loader/src/grammar.rs+2−2
@@ -67,7 +67,7 @@ pub fn get_language(name: &str) -> Result<Language> {
6767#[cfg(not(target_arch = "wasm32"))]
6868pub fn get_language(name: &str) -> Result<Language> {
6969 use libloading::{Library, Symbol};
70− let mut library_path = crate::runtime_dir().join("grammars").join(&name);
70+ let mut library_path = crate::runtime_dir().join("grammars").join(name);
7171 library_path.set_extension(DYLIB_EXTENSION);
7272
7373 let library = unsafe { Library::new(&library_path) }
@@ -429,7 +429,7 @@ fn build_tree_sitter_library(
429429
430430 if cfg!(all(windows, target_env = "msvc")) {
431431 command
432− .args(&["/nologo", "/LD", "/I"])
432+ .args(["/nologo", "/LD", "/I"])
433433 .arg(header_path)
434434 .arg("/Od")
435435 .arg("/utf-8");
helix-lsp/src/jsonrpc.rs+13−13
@@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize};
1313use serde_json::Value;
1414
1515// https://www.jsonrpc.org/specification#error_object
16−#[derive(Debug, PartialEq, Clone)]
16+#[derive(Debug, PartialEq, Eq, Clone)]
1717pub enum ErrorCode {
1818 ParseError,
1919 InvalidRequest,
@@ -68,7 +68,7 @@ impl Serialize for ErrorCode {
6868 }
6969}
7070
71−#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
71+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
7272pub struct Error {
7373 pub code: ErrorCode,
7474 pub message: String,
@@ -100,7 +100,7 @@ impl std::error::Error for Error {}
100100// https://www.jsonrpc.org/specification#request_object
101101
102102/// Request ID
103−#[derive(Debug, PartialEq, Clone, Hash, Eq, Deserialize, Serialize)]
103+#[derive(Debug, PartialEq, Eq, Clone, Hash, Deserialize, Serialize)]
104104#[serde(untagged)]
105105pub enum Id {
106106 Null,
@@ -109,7 +109,7 @@ pub enum Id {
109109}
110110
111111/// Protocol Version
112−#[derive(Debug, PartialEq, Clone, Copy, Hash, Eq)]
112+#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash)]
113113pub enum Version {
114114 V2,
115115}
@@ -153,7 +153,7 @@ impl<'de> Deserialize<'de> for Version {
153153 }
154154}
155155
156−#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
156+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
157157#[serde(untagged)]
158158pub enum Params {
159159 None,
@@ -182,7 +182,7 @@ impl From<Params> for Value {
182182 }
183183}
184184
185−#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
185+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
186186#[serde(deny_unknown_fields)]
187187pub struct MethodCall {
188188 pub jsonrpc: Option<Version>,
@@ -192,7 +192,7 @@ pub struct MethodCall {
192192 pub id: Id,
193193}
194194
195−#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
195+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
196196#[serde(deny_unknown_fields)]
197197pub struct Notification {
198198 pub jsonrpc: Option<Version>,
@@ -201,7 +201,7 @@ pub struct Notification {
201201 pub params: Params,
202202}
203203
204−#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
204+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
205205#[serde(deny_unknown_fields)]
206206#[serde(untagged)]
207207pub enum Call {
@@ -235,7 +235,7 @@ impl From<Notification> for Call {
235235 }
236236}
237237
238−#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
238+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
239239#[serde(deny_unknown_fields)]
240240#[serde(untagged)]
241241pub enum Request {
@@ -245,7 +245,7 @@ pub enum Request {
245245
246246// https://www.jsonrpc.org/specification#response_object
247247
248−#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
248+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
249249pub struct Success {
250250 #[serde(skip_serializing_if = "Option::is_none")]
251251 pub jsonrpc: Option<Version>,
@@ -253,7 +253,7 @@ pub struct Success {
253253 pub id: Id,
254254}
255255
256−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
256+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
257257pub struct Failure {
258258 #[serde(skip_serializing_if = "Option::is_none")]
259259 pub jsonrpc: Option<Version>,
@@ -264,7 +264,7 @@ pub struct Failure {
264264// Note that failure comes first because we're not using
265265// #[serde(deny_unknown_field)]: we want a request that contains
266266// both `result` and `error` to be a `Failure`.
267−#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
267+#[derive(Debug, PartialEq, Eq, Clone, Deserialize, Serialize)]
268268#[serde(untagged)]
269269pub enum Output {
270270 Failure(Failure),
@@ -280,7 +280,7 @@ impl From<Output> for Result<Value, Error> {
280280 }
281281}
282282
283−#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
283+#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
284284#[serde(untagged)]
285285pub enum Response {
286286 Single(Output),
helix-term/build.rs+1−1
@@ -6,7 +6,7 @@ const VERSION: &str = include_str!("../VERSION");
66
77fn main() {
88 let git_hash = Command::new("git")
9− .args(&["rev-parse", "HEAD"])
9+ .args(["rev-parse", "HEAD"])
1010 .output()
1111 .ok()
1212 .filter(|output| output.status.success())
helix-term/src/application.rs+2−2
@@ -168,7 +168,7 @@ impl Application {
168168 } else if !args.files.is_empty() {
169169 let first = &args.files[0].0; // we know it's not empty
170170 if first.is_dir() {
171− std::env::set_current_dir(&first).context("set current dir")?;
171+ std::env::set_current_dir(first).context("set current dir")?;
172172 editor.new_file(Action::VerticalSplit);
173173 let picker = ui::file_picker(".".into(), &config.load().editor);
174174 compositor.push(Box::new(overlayed(picker)));
@@ -228,7 +228,7 @@ impl Application {
228228 #[cfg(windows)]
229229 let signals = futures_util::stream::empty();
230230 #[cfg(not(windows))]
231− let signals = Signals::new(&[signal::SIGTSTP, signal::SIGCONT, signal::SIGUSR1])
231+ let signals = Signals::new([signal::SIGTSTP, signal::SIGCONT, signal::SIGUSR1])
232232 .context("build signal handler")?;
233233
234234 let app = Self {
helix-term/src/commands.rs+6−9
@@ -3933,15 +3933,12 @@ pub fn completion(cx: &mut Context) {
39333933 };
39343934
39353935 if !prefix.is_empty() {
3936− items = items
3937− .into_iter()
3938− .filter(|item| {
3939− item.filter_text
3940− .as_ref()
3941− .unwrap_or(&item.label)
3942− .starts_with(&prefix)
3943− })
3944− .collect();
3936+ items.retain(|item| {
3937+ item.filter_text
3938+ .as_ref()
3939+ .unwrap_or(&item.label)
3940+ .starts_with(&prefix)
3941+ });
39453942 }
39463943
39473944 if items.is_empty() {
helix-term/src/commands/lsp.rs+3−3
@@ -57,7 +57,7 @@ impl ui::menu::Item for lsp::Location {
5757 // allocation, for `to_file_path`, else there will be two (2), with `to_string_lossy`.
5858 let mut write_path_to_res = || -> Option<()> {
5959 let path = self.uri.to_file_path().ok()?;
60− res.push_str(&path.strip_prefix(&cwdir).unwrap_or(&path).to_string_lossy());
60+ res.push_str(&path.strip_prefix(cwdir).unwrap_or(&path).to_string_lossy());
6161 Some(())
6262 };
6363 write_path_to_res();
@@ -634,7 +634,7 @@ pub fn apply_document_resource_op(op: &lsp::ResourceOp) -> std::io::Result<()> {
634634 // Create directory if it does not exist
635635 if let Some(dir) = path.parent() {
636636 if !dir.is_dir() {
637− fs::create_dir_all(&dir)?;
637+ fs::create_dir_all(dir)?;
638638 }
639639 }
640640
@@ -910,7 +910,7 @@ pub fn goto_reference(cx: &mut Context) {
910910 );
911911}
912912
913−#[derive(PartialEq)]
913+#[derive(PartialEq, Eq)]
914914pub enum SignatureHelpInvoked {
915915 Manual,
916916 Automatic,
helix-term/src/ui/menu.rs+1−1
@@ -40,7 +40,7 @@ impl Item for PathBuf {
4040 type Data = PathBuf;
4141
4242 fn label(&self, root_path: &Self::Data) -> Spans {
43− self.strip_prefix(&root_path)
43+ self.strip_prefix(root_path)
4444 .unwrap_or(self)
4545 .to_string_lossy()
4646 .into()
helix-term/src/ui/prompt.rs+2−2
@@ -32,7 +32,7 @@ pub struct Prompt {
3232 next_char_handler: Option<PromptCharHandler>,
3333}
3434
35−#[derive(Clone, Copy, PartialEq)]
35+#[derive(Clone, Copy, PartialEq, Eq)]
3636pub enum PromptEvent {
3737 /// The prompt input has been updated.
3838 Update,
@@ -408,7 +408,7 @@ impl Prompt {
408408 surface.set_stringn(
409409 area.x + col * (1 + col_width),
410410 area.y + row,
411− &completion,
411+ completion,
412412 col_width.saturating_sub(1) as usize,
413413 color,
414414 );
helix-tui/src/buffer.rs+2−2
@@ -6,7 +6,7 @@ use unicode_segmentation::UnicodeSegmentation;
66use helix_view::graphics::{Color, Modifier, Rect, Style, UnderlineStyle};
77
88/// A buffer cell
9−#[derive(Debug, Clone, PartialEq)]
9+#[derive(Debug, Clone, PartialEq, Eq)]
1010pub struct Cell {
1111 pub symbol: String,
1212 pub fg: Color,
@@ -119,7 +119,7 @@ impl Default for Cell {
119119/// buf[(5, 0)].set_char('x');
120120/// assert_eq!(buf[(5, 0)].symbol, "x");
121121/// ```
122−#[derive(Debug, Default, Clone, PartialEq)]
122+#[derive(Debug, Default, Clone, PartialEq, Eq)]
123123pub struct Buffer {
124124 /// The area represented by this buffer
125125 pub area: Rect,
helix-tui/src/layout.rs+1−1
@@ -46,7 +46,7 @@ impl Constraint {
4646 }
4747}
4848
49−#[derive(Debug, Clone, Copy, PartialEq)]
49+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5050pub enum Alignment {
5151 Left,
5252 Center,
helix-tui/src/text.rs+4−4
@@ -53,14 +53,14 @@ use std::borrow::Cow;
5353use unicode_segmentation::UnicodeSegmentation;
5454
5555/// A grapheme associated to a style.
56−#[derive(Debug, Clone, PartialEq)]
56+#[derive(Debug, Clone, PartialEq, Eq)]
5757pub struct StyledGrapheme<'a> {
5858 pub symbol: &'a str,
5959 pub style: Style,
6060}
6161
6262/// A string where all graphemes have the same style.
63−#[derive(Debug, Clone, PartialEq)]
63+#[derive(Debug, Clone, PartialEq, Eq)]
6464pub struct Span<'a> {
6565 pub content: Cow<'a, str>,
6666 pub style: Style,
@@ -209,7 +209,7 @@ impl<'a> From<Cow<'a, str>> for Span<'a> {
209209}
210210
211211/// A string composed of clusters of graphemes, each with their own style.
212−#[derive(Debug, Default, Clone, PartialEq)]
212+#[derive(Debug, Default, Clone, PartialEq, Eq)]
213213pub struct Spans<'a>(pub Vec<Span<'a>>);
214214
215215impl<'a> Spans<'a> {
@@ -297,7 +297,7 @@ impl<'a> From<&Spans<'a>> for String {
297297/// text.extend(Text::styled("Some more lines\nnow with more style!", style));
298298/// assert_eq!(6, text.height());
299299/// ```
300−#[derive(Debug, Default, Clone, PartialEq)]
300+#[derive(Debug, Default, Clone, PartialEq, Eq)]
301301pub struct Text<'a> {
302302 pub lines: Vec<Spans<'a>>,
303303}
helix-tui/src/widgets/block.rs+4−12
@@ -7,7 +7,7 @@ use crate::{
77use helix_view::graphics::{Rect, Style};
88
99/// Border render type. Defaults to [`BorderType::Plain`].
10−#[derive(Debug, Clone, Copy, PartialEq)]
10+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
1111pub enum BorderType {
1212 Plain,
1313 Rounded,
@@ -47,7 +47,7 @@ impl Default for BorderType {
4747/// .border_type(BorderType::Rounded)
4848/// .style(Style::default().bg(Color::Black));
4949/// ```
50−#[derive(Debug, Default, Clone, PartialEq)]
50+#[derive(Debug, Default, Clone, PartialEq, Eq)]
5151pub struct Block<'a> {
5252 /// Optional title place on the upper left of the block
5353 title: Option<Spans<'a>>,
@@ -187,16 +187,8 @@ impl<'a> Widget for Block<'a> {
187187 }
188188
189189 if let Some(title) = self.title {
190− let lx = if self.borders.intersects(Borders::LEFT) {
191− 1
192− } else {
193− 0
194− };
195− let rx = if self.borders.intersects(Borders::RIGHT) {
196− 1
197− } else {
198− 0
199− };
190+ let lx = u16::from(self.borders.intersects(Borders::LEFT));
191+ let rx = u16::from(self.borders.intersects(Borders::RIGHT));
200192 let width = area.width.saturating_sub(lx).saturating_sub(rx);
201193 buf.set_spans(area.left() + lx, area.top(), &title, width);
202194 }
helix-tui/src/widgets/table.rs+3−3
@@ -34,7 +34,7 @@ use std::collections::HashMap;
3434///
3535/// You can apply a [`Style`] on the entire [`Cell`] using [`Cell::style`] or rely on the styling
3636/// capabilities of [`Text`].
37−#[derive(Debug, Clone, PartialEq, Default)]
37+#[derive(Debug, Clone, PartialEq, Eq, Default)]
3838pub struct Cell<'a> {
3939 pub content: Text<'a>,
4040 style: Style,
@@ -79,7 +79,7 @@ where
7979/// ```
8080///
8181/// By default, a row has a height of 1 but you can change this using [`Row::height`].
82−#[derive(Debug, Clone, PartialEq, Default)]
82+#[derive(Debug, Clone, PartialEq, Eq, Default)]
8383pub struct Row<'a> {
8484 pub cells: Vec<Cell<'a>>,
8585 height: u16,
@@ -179,7 +179,7 @@ impl<'a> Row<'a> {
179179/// // ...and potentially show a symbol in front of the selection.
180180/// .highlight_symbol(">>");
181181/// ```
182−#[derive(Debug, Clone, PartialEq)]
182+#[derive(Debug, Clone, PartialEq, Eq)]
183183pub struct Table<'a> {
184184 /// A block to wrap the widget in
185185 block: Option<Block<'a>>,
helix-view/src/editor.rs+2−2
@@ -111,7 +111,7 @@ impl Default for FilePickerConfig {
111111 }
112112}
113113
114−#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
114+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
115115#[serde(rename_all = "kebab-case", default, deny_unknown_fields)]
116116pub struct Config {
117117 /// Padding to keep between the edge of the screen and the cursor when scrolling. Defaults to 5.
@@ -346,7 +346,7 @@ pub enum StatusLineElement {
346346
347347// Cursor shape is read and used on every rendered frame and so needs
348348// to be fast. Therefore we avoid a hashmap and use an enum indexed array.
349−#[derive(Debug, Clone, PartialEq)]
349+#[derive(Debug, Clone, PartialEq, Eq)]
350350pub struct CursorShapeConfig([CursorKind; 3]);
351351
352352impl CursorShapeConfig {
helix-view/src/graphics.rs+4−4
@@ -5,7 +5,7 @@ use std::{
55 str::FromStr,
66};
77
8−#[derive(Debug, Clone, Copy, PartialEq, Deserialize, Serialize)]
8+#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
99#[serde(rename_all = "lowercase")]
1010/// UNSTABLE
1111pub enum CursorKind {
@@ -250,7 +250,7 @@ impl Rect {
250250 }
251251}
252252
253−#[derive(Debug, Clone, Copy, PartialEq)]
253+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
254254#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
255255pub enum Color {
256256 Reset,
@@ -303,7 +303,7 @@ impl From<Color> for crossterm::style::Color {
303303 }
304304}
305305
306−#[derive(Debug, Clone, Copy, PartialEq)]
306+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
307307pub enum UnderlineStyle {
308308 Reset,
309309 Line,
@@ -449,7 +449,7 @@ impl FromStr for Modifier {
449449/// buffer[(0, 0)].style(),
450450/// );
451451/// ```
452−#[derive(Debug, Clone, Copy, PartialEq)]
452+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
453453#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
454454pub struct Style {
455455 pub fg: Option<Color>,