chore: add rustfmt config
Also adds a Zed editor config for automatic formatting with nightly.
This commit is contained in:
parent
e91a984da9
commit
d5dbcc7677
31 changed files with 349 additions and 420 deletions
139
src/tab.rs
139
src/tab.rs
|
|
@ -1,91 +1,71 @@
|
|||
#[cfg(feature = "desktop")]
|
||||
use cosmic::desktop::fde::{DesktopEntry, get_languages_from_env};
|
||||
use cosmic::{
|
||||
Apply, Element, cosmic_theme, font,
|
||||
iced::core::{mouse::ScrollDelta, widget::tree},
|
||||
iced::{
|
||||
Alignment, Border, Color, ContentFit, Length, Point, Rectangle, Size, Subscription, Vector,
|
||||
advanced::{
|
||||
graphics,
|
||||
text::{self, Paragraph},
|
||||
},
|
||||
alignment::Vertical,
|
||||
clipboard::dnd::DndAction,
|
||||
futures::{self, SinkExt},
|
||||
keyboard::Modifiers,
|
||||
padding, stream,
|
||||
widget::{
|
||||
rule,
|
||||
scrollable::{self, AbsoluteOffset, Viewport},
|
||||
stack,
|
||||
},
|
||||
window,
|
||||
},
|
||||
theme,
|
||||
widget::{
|
||||
self, DndDestination, DndSource, Id, RcElementWrapper, Widget,
|
||||
menu::{action::MenuAction, key_bind::KeyBind},
|
||||
space,
|
||||
},
|
||||
use cosmic::iced::advanced::graphics;
|
||||
use cosmic::iced::advanced::text::{self, Paragraph};
|
||||
use cosmic::iced::alignment::Vertical;
|
||||
use cosmic::iced::clipboard::dnd::DndAction;
|
||||
use cosmic::iced::core::mouse::ScrollDelta;
|
||||
use cosmic::iced::core::widget::tree;
|
||||
use cosmic::iced::futures::{self, SinkExt};
|
||||
use cosmic::iced::keyboard::Modifiers;
|
||||
use cosmic::iced::widget::scrollable::{self, AbsoluteOffset, Viewport};
|
||||
use cosmic::iced::widget::{rule, stack};
|
||||
use cosmic::iced::{
|
||||
Alignment, Border, Color, ContentFit, Length, Point, Rectangle, Size, Subscription, Vector,
|
||||
padding, stream, window,
|
||||
};
|
||||
use cosmic::widget::menu::action::MenuAction;
|
||||
use cosmic::widget::menu::key_bind::KeyBind;
|
||||
use cosmic::widget::{self, DndDestination, DndSource, Id, RcElementWrapper, Widget, space};
|
||||
use cosmic::{Apply, Element, cosmic_theme, font, theme};
|
||||
use i18n_embed::LanguageLoader;
|
||||
use icu::{
|
||||
datetime::{
|
||||
DateTimeFormatter, DateTimeFormatterPreferences, fieldsets, input::DateTime,
|
||||
options::TimePrecision,
|
||||
},
|
||||
locale::preferences::extensions::unicode::keywords::HourCycle,
|
||||
};
|
||||
use icu::datetime::input::DateTime;
|
||||
use icu::datetime::options::TimePrecision;
|
||||
use icu::datetime::{DateTimeFormatter, DateTimeFormatterPreferences, fieldsets};
|
||||
use icu::locale::preferences::extensions::unicode::keywords::HourCycle;
|
||||
use image::{DynamicImage, ImageReader};
|
||||
use jiff_icu::ConvertFrom;
|
||||
use mime_guess::{Mime, mime};
|
||||
use rustc_hash::FxHashMap;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::borrow::Cow;
|
||||
use std::cell::Cell;
|
||||
use std::cmp::{Ordering, Reverse};
|
||||
use std::collections::{BTreeMap, BTreeSet, HashMap};
|
||||
use std::error::Error;
|
||||
use std::fmt::{self, Display};
|
||||
use std::fs::{self, File, Metadata};
|
||||
use std::hash::Hash;
|
||||
use std::io::{BufRead, BufReader};
|
||||
#[cfg(unix)]
|
||||
use std::os::unix::fs::MetadataExt;
|
||||
use std::{
|
||||
borrow::Cow,
|
||||
cell::Cell,
|
||||
cmp::{Ordering, Reverse},
|
||||
collections::{BTreeMap, BTreeSet, HashMap},
|
||||
error::Error,
|
||||
fmt::{self, Display},
|
||||
fs::{self, File, Metadata},
|
||||
hash::Hash,
|
||||
io::{BufRead, BufReader},
|
||||
path::{self, Path, PathBuf},
|
||||
sync::{Arc, LazyLock, RwLock, atomic},
|
||||
time::{Duration, Instant, SystemTime},
|
||||
};
|
||||
use std::path::{self, Path, PathBuf};
|
||||
use std::sync::{Arc, LazyLock, RwLock, atomic};
|
||||
use std::time::{Duration, Instant, SystemTime};
|
||||
use tempfile::NamedTempFile;
|
||||
use tokio::sync::mpsc;
|
||||
use trash::{TrashItem, TrashItemMetadata, TrashItemSize};
|
||||
use walkdir::WalkDir;
|
||||
|
||||
use crate::{
|
||||
FxOrderMap,
|
||||
app::{Action, PreviewItem, PreviewKind},
|
||||
clipboard::{ClipboardCopy, ClipboardKind, ClipboardPaste},
|
||||
config::{
|
||||
ContextActionPreset, DesktopConfig, ICON_SCALE_MAX, ICON_SIZE_GRID, IconSizes, TabConfig,
|
||||
ThumbCfg,
|
||||
},
|
||||
dialog::DialogKind,
|
||||
fl,
|
||||
large_image::{
|
||||
LargeImageManager, decode_large_image, exceeds_memory_limit, should_use_dedicated_worker,
|
||||
should_use_tiling,
|
||||
},
|
||||
localize::{LANGUAGE_SORTER, LOCALE},
|
||||
menu, mime_app,
|
||||
mime_icon::{mime_for_path, mime_icon},
|
||||
mounter::MOUNTERS,
|
||||
mouse_area,
|
||||
operation::{Controller, OperationError},
|
||||
thumbnail_cacher::{CachedThumbnail, ThumbnailCacher, ThumbnailSize},
|
||||
thumbnailer::thumbnailer,
|
||||
trash::{Trash, TrashExt},
|
||||
use crate::app::{Action, PreviewItem, PreviewKind};
|
||||
use crate::clipboard::{ClipboardCopy, ClipboardKind, ClipboardPaste};
|
||||
use crate::config::{
|
||||
ContextActionPreset, DesktopConfig, ICON_SCALE_MAX, ICON_SIZE_GRID, IconSizes, TabConfig,
|
||||
ThumbCfg,
|
||||
};
|
||||
use crate::dialog::DialogKind;
|
||||
use crate::large_image::{
|
||||
LargeImageManager, decode_large_image, exceeds_memory_limit, should_use_dedicated_worker,
|
||||
should_use_tiling,
|
||||
};
|
||||
use crate::localize::{LANGUAGE_SORTER, LOCALE};
|
||||
use crate::mime_icon::{mime_for_path, mime_icon};
|
||||
use crate::mounter::MOUNTERS;
|
||||
use crate::operation::{Controller, OperationError};
|
||||
use crate::thumbnail_cacher::{CachedThumbnail, ThumbnailCacher, ThumbnailSize};
|
||||
use crate::thumbnailer::thumbnailer;
|
||||
use crate::trash::{Trash, TrashExt};
|
||||
use crate::{FxOrderMap, fl, menu, mime_app, mouse_area};
|
||||
|
||||
pub const DOUBLE_CLICK_DURATION: Duration = Duration::from_millis(500);
|
||||
pub const HOVER_DURATION: Duration = Duration::from_millis(1600);
|
||||
|
|
@ -7040,21 +7020,22 @@ fn text_editor_class(
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::{fs, io, path::PathBuf};
|
||||
use std::path::PathBuf;
|
||||
use std::{fs, io};
|
||||
|
||||
use cosmic::{iced::mouse::ScrollDelta, iced::runtime::keyboard::Modifiers, widget};
|
||||
use cosmic::iced::mouse::ScrollDelta;
|
||||
use cosmic::iced::runtime::keyboard::Modifiers;
|
||||
use cosmic::widget;
|
||||
use log::{debug, trace};
|
||||
use tempfile::TempDir;
|
||||
use test_log::test;
|
||||
|
||||
use super::{Location, Message, Tab, respond_to_scroll_direction, scan_path};
|
||||
use crate::{
|
||||
app::test_utils::{
|
||||
NAME_LEN, NUM_DIRS, NUM_FILES, NUM_HIDDEN, NUM_NESTED, assert_eq_tab_path, empty_fs,
|
||||
eq_path_item, filter_dirs, read_dir_sorted, simple_fs, tab_click_new,
|
||||
},
|
||||
config::{IconSizes, TabConfig, ThumbCfg},
|
||||
use crate::app::test_utils::{
|
||||
NAME_LEN, NUM_DIRS, NUM_FILES, NUM_HIDDEN, NUM_NESTED, assert_eq_tab_path, empty_fs,
|
||||
eq_path_item, filter_dirs, read_dir_sorted, simple_fs, tab_click_new,
|
||||
};
|
||||
use crate::config::{IconSizes, TabConfig, ThumbCfg};
|
||||
|
||||
// Boilerplate for tab tests. Checks if simulated clicks selected items.
|
||||
fn tab_selects_item(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue