Fix warnings from clippy (#7013)

* Fix warnings from clippy

* revert MAIN_SEPARATOR_STR
This commit is contained in:
ZJPzjp 2023-05-11 13:44:52 +08:00 committed by GitHub
parent 1e5997dc98
commit 3b8c15618f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 29 additions and 32 deletions

View file

@ -397,15 +397,10 @@ mod test {
let selections: SmallVec<[Range; 1]> = spec let selections: SmallVec<[Range; 1]> = spec
.match_indices('^') .match_indices('^')
.into_iter()
.map(|(i, _)| Range::point(i)) .map(|(i, _)| Range::point(i))
.collect(); .collect();
let expectations: Vec<usize> = spec let expectations: Vec<usize> = spec.match_indices('_').map(|(i, _)| i).collect();
.match_indices('_')
.into_iter()
.map(|(i, _)| i)
.collect();
(rope, Selection::new(selections, 0), expectations) (rope, Selection::new(selections, 0), expectations)
} }

View file

@ -187,9 +187,12 @@ impl<'de> Deserialize<'de> for FileType {
M: serde::de::MapAccess<'de>, M: serde::de::MapAccess<'de>,
{ {
match map.next_entry::<String, String>()? { match map.next_entry::<String, String>()? {
Some((key, suffix)) if key == "suffix" => Ok(FileType::Suffix( Some((key, suffix)) if key == "suffix" => Ok(FileType::Suffix({
suffix.replace('/', &std::path::MAIN_SEPARATOR.to_string()), // FIXME: use `suffix.replace('/', std::path::MAIN_SEPARATOR_STR)`
)), // if MSRV is updated to 1.68
let mut seperator = [0; 1];
suffix.replace('/', std::path::MAIN_SEPARATOR.encode_utf8(&mut seperator))
})),
Some((key, _value)) => Err(serde::de::Error::custom(format!( Some((key, _value)) => Err(serde::de::Error::custom(format!(
"unknown key in `file-types` list: {}", "unknown key in `file-types` list: {}",
key key

View file

@ -209,6 +209,24 @@ pub fn merge_toml_values(left: toml::Value, right: toml::Value, merge_depth: usi
} }
} }
/// Finds the current workspace folder.
/// Used as a ceiling dir for LSP root resolution, the filepicker and potentially as a future filewatching root
///
/// This function starts searching the FS upward from the CWD
/// and returns the first directory that contains either `.git` or `.helix`.
/// If no workspace was found returns (CWD, true).
/// Otherwise (workspace, false) is returned
pub fn find_workspace() -> (PathBuf, bool) {
let current_dir = std::env::current_dir().expect("unable to determine current directory");
for ancestor in current_dir.ancestors() {
if ancestor.join(".git").exists() || ancestor.join(".helix").exists() {
return (ancestor.to_owned(), false);
}
}
(current_dir, true)
}
#[cfg(test)] #[cfg(test)]
mod merge_toml_tests { mod merge_toml_tests {
use std::str; use std::str;
@ -281,21 +299,3 @@ mod merge_toml_tests {
) )
} }
} }
/// Finds the current workspace folder.
/// Used as a ceiling dir for LSP root resolution, the filepicker and potentially as a future filewatching root
///
/// This function starts searching the FS upward from the CWD
/// and returns the first directory that contains either `.git` or `.helix`.
/// If no workspace was found returns (CWD, true).
/// Otherwise (workspace, false) is returned
pub fn find_workspace() -> (PathBuf, bool) {
let current_dir = std::env::current_dir().expect("unable to determine current directory");
for ancestor in current_dir.ancestors() {
if ancestor.join(".git").exists() || ancestor.join(".helix").exists() {
return (ancestor.to_owned(), false);
}
}
(current_dir, true)
}

View file

@ -103,7 +103,7 @@ impl EditorView {
// Set DAP highlights, if needed. // Set DAP highlights, if needed.
if let Some(frame) = editor.current_stack_frame() { if let Some(frame) = editor.current_stack_frame() {
let dap_line = frame.line.saturating_sub(1) as usize; let dap_line = frame.line.saturating_sub(1);
let style = theme.get("ui.highlight.frameline"); let style = theme.get("ui.highlight.frameline");
let line_decoration = move |renderer: &mut TextRenderer, pos: LinePos| { let line_decoration = move |renderer: &mut TextRenderer, pos: LinePos| {
if pos.doc_line != dap_line { if pos.doc_line != dap_line {

View file

@ -442,7 +442,7 @@ impl Buffer {
let mut x_offset = x as usize; let mut x_offset = x as usize;
let max_offset = min(self.area.right(), width.saturating_add(x)); let max_offset = min(self.area.right(), width.saturating_add(x));
let mut start_index = self.index_of(x, y); let mut start_index = self.index_of(x, y);
let mut index = self.index_of(max_offset as u16, y); let mut index = self.index_of(max_offset, y);
let content_width = spans.width(); let content_width = spans.width();
let truncated = content_width > width as usize; let truncated = content_width > width as usize;

View file

@ -68,7 +68,7 @@ macro_rules! command_provider {
#[cfg(windows)] #[cfg(windows)]
pub fn get_clipboard_provider() -> Box<dyn ClipboardProvider> { pub fn get_clipboard_provider() -> Box<dyn ClipboardProvider> {
Box::new(provider::WindowsProvider::default()) Box::<provider::WindowsProvider>::default()
} }
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]

View file

@ -728,12 +728,11 @@ mod test {
tree.focus = l0; tree.focus = l0;
let view = View::new(DocumentId::default(), GutterConfig::default()); let view = View::new(DocumentId::default(), GutterConfig::default());
tree.split(view, Layout::Vertical); tree.split(view, Layout::Vertical);
let l2 = tree.focus;
// Tree in test // Tree in test
// | L0 | L2 | | // | L0 | L2 | |
// | L1 | R0 | // | L1 | R0 |
tree.focus = l2; let l2 = tree.focus;
assert_eq!(Some(l0), tree.find_split_in_direction(l2, Direction::Left)); assert_eq!(Some(l0), tree.find_split_in_direction(l2, Direction::Left));
assert_eq!(Some(l1), tree.find_split_in_direction(l2, Direction::Down)); assert_eq!(Some(l1), tree.find_split_in_direction(l2, Direction::Down));
assert_eq!(Some(r0), tree.find_split_in_direction(l2, Direction::Right)); assert_eq!(Some(r0), tree.find_split_in_direction(l2, Direction::Right));