|
@@ -1,14 +1,13 @@
|
|
|
use ansi_term::Style;
|
|
use ansi_term::Style;
|
|
|
|
|
|
|
|
-use colours::Colours;
|
|
|
|
|
use file::File;
|
|
use file::File;
|
|
|
-use filetype::file_colour;
|
|
|
|
|
|
|
|
|
|
pub use self::cell::{TextCell, TextCellContents, DisplayWidth};
|
|
pub use self::cell::{TextCell, TextCellContents, DisplayWidth};
|
|
|
|
|
+pub use self::colours::Colours;
|
|
|
pub use self::details::Details;
|
|
pub use self::details::Details;
|
|
|
|
|
+pub use self::grid_details::GridDetails;
|
|
|
pub use self::grid::Grid;
|
|
pub use self::grid::Grid;
|
|
|
pub use self::lines::Lines;
|
|
pub use self::lines::Lines;
|
|
|
-pub use self::grid_details::GridDetails;
|
|
|
|
|
|
|
|
|
|
mod grid;
|
|
mod grid;
|
|
|
pub mod details;
|
|
pub mod details;
|
|
@@ -16,7 +15,7 @@ mod lines;
|
|
|
mod grid_details;
|
|
mod grid_details;
|
|
|
pub mod column;
|
|
pub mod column;
|
|
|
mod cell;
|
|
mod cell;
|
|
|
-
|
|
|
|
|
|
|
+mod colours;
|
|
|
|
|
|
|
|
pub fn filename(file: File, colours: &Colours, links: bool) -> TextCellContents {
|
|
pub fn filename(file: File, colours: &Colours, links: bool) -> TextCellContents {
|
|
|
if links && file.is_link() {
|
|
if links && file.is_link() {
|
|
@@ -49,3 +48,25 @@ fn symlink_filename(file: File, colours: &Colours) -> TextCellContents {
|
|
|
].into(),
|
|
].into(),
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+pub fn file_colour(colours: &Colours, file: &File) -> Style {
|
|
|
|
|
+ use filetype::FileTypes;
|
|
|
|
|
+
|
|
|
|
|
+ match file {
|
|
|
|
|
+ f if f.is_directory() => colours.filetypes.directory,
|
|
|
|
|
+ f if f.is_executable_file() => colours.filetypes.executable,
|
|
|
|
|
+ f if f.is_link() => colours.filetypes.symlink,
|
|
|
|
|
+ f if !f.is_file() => colours.filetypes.special,
|
|
|
|
|
+ f if f.is_immediate() => colours.filetypes.immediate,
|
|
|
|
|
+ f if f.is_image() => colours.filetypes.image,
|
|
|
|
|
+ f if f.is_video() => colours.filetypes.video,
|
|
|
|
|
+ f if f.is_music() => colours.filetypes.music,
|
|
|
|
|
+ f if f.is_lossless() => colours.filetypes.lossless,
|
|
|
|
|
+ f if f.is_crypto() => colours.filetypes.crypto,
|
|
|
|
|
+ f if f.is_document() => colours.filetypes.document,
|
|
|
|
|
+ f if f.is_compressed() => colours.filetypes.compressed,
|
|
|
|
|
+ f if f.is_temp() => colours.filetypes.temp,
|
|
|
|
|
+ f if f.is_compiled() => colours.filetypes.compiled,
|
|
|
|
|
+ _ => colours.filetypes.normal,
|
|
|
|
|
+ }
|
|
|
|
|
+}
|