mirror of
https://github.com/eza-community/eza
synced 2024-10-06 16:09:06 +00:00
refactor: Rename FileType::Immediate to more obvious FileType::Build
This commit is contained in:
parent
5ab83febde
commit
1c29142831
|
@ -25,9 +25,7 @@ files; setting `EXA_COLORS="reset"` will highlight nothing.
|
|||
|
||||
- eza now supports bright colours! As supported by most modern 256\-colour terminals, you can now choose from `bright` colour codes when selecting your custom colours in your `#EXA_COLORS` environment variable.
|
||||
|
||||
"Immediate" files are the files you should look at when downloading and building a project for the first time: READMEs, Makefiles, Cargo.toml, and others.
|
||||
They are highlighted in _yellow_ and _underlined_.
|
||||
|
||||
- Build (Makefile, Cargo.toml, package.json) are yellow and underlined.
|
||||
- Images (png, jpeg, gif) are purple.
|
||||
- Videos (mp4, ogv, m2ts) are a slightly purpler purple.
|
||||
- Music (mp3, m4a, ogg) is a deeper purple.
|
||||
|
|
|
@ -224,34 +224,34 @@ LIST OF CODES
|
|||
: a mount point
|
||||
|
||||
`im`
|
||||
: image files
|
||||
: a regular file that is an image
|
||||
|
||||
`vi`
|
||||
: video files
|
||||
: a regular file that is a video
|
||||
|
||||
`mu`
|
||||
: music files
|
||||
: a regular file that is lossy music
|
||||
|
||||
`lo`
|
||||
: lossless music files
|
||||
: a regular file that is lossless music
|
||||
|
||||
`cr`
|
||||
: cryptographic files
|
||||
: a regular file that is related to cryptography (ex: key or certificate)
|
||||
|
||||
`do`
|
||||
: document files
|
||||
: a regular file that is a document (ex: office suite document or PDF)
|
||||
|
||||
`co`
|
||||
: compressed files
|
||||
: a regular file this is compressed
|
||||
|
||||
`tm`
|
||||
: temporary files
|
||||
: a regular file that is temporary (ex: a text editor's backup file)
|
||||
|
||||
`cm`
|
||||
: compiled files
|
||||
: a regular file that is a compilation artifact (ex: Java class file)
|
||||
|
||||
`ie`
|
||||
: immediate files
|
||||
`bu`
|
||||
: a regular file that is used to build a project (ex: Makefile)
|
||||
|
||||
Values in `EXA_COLORS` override those given in `LS_COLORS`, so you don’t need to re-write an existing `LS_COLORS` variable with proprietary extensions.
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ pub enum FileType {
|
|||
Compressed,
|
||||
Temp,
|
||||
Compiled,
|
||||
Immediate // An “immediate” file is something that can be run or activated somehow in order to
|
||||
Build // A “build file is something that can be run or activated somehow in order to
|
||||
// kick off the build of a project. It’s usually only present in directories full of
|
||||
// source code.
|
||||
}
|
||||
|
@ -30,47 +30,47 @@ pub enum FileType {
|
|||
/// Mapping from full filenames to file type.
|
||||
const FILENAME_TYPES: Map<&'static str, FileType> = phf_map! {
|
||||
/* Immediate file - kick off the build of a project */
|
||||
"Brewfile" => FileType::Immediate,
|
||||
"bsconfig.json" => FileType::Immediate,
|
||||
"BUILD" => FileType::Immediate,
|
||||
"BUILD.bazel" => FileType::Immediate,
|
||||
"build.gradle" => FileType::Immediate,
|
||||
"build.sbt" => FileType::Immediate,
|
||||
"build.xml" => FileType::Immediate,
|
||||
"Cargo.toml" => FileType::Immediate,
|
||||
"CMakeLists.txt" => FileType::Immediate,
|
||||
"composer.json" => FileType::Immediate,
|
||||
"configure" => FileType::Immediate,
|
||||
"Containerfile" => FileType::Immediate,
|
||||
"Dockerfile" => FileType::Immediate,
|
||||
"Earthfile" => FileType::Immediate,
|
||||
"flake.nix" => FileType::Immediate,
|
||||
"Gemfile" => FileType::Immediate,
|
||||
"GNUmakefile" => FileType::Immediate,
|
||||
"Gruntfile.coffee" => FileType::Immediate,
|
||||
"Gruntfile.js" => FileType::Immediate,
|
||||
"jsconfig.json" => FileType::Immediate,
|
||||
"Justfile" => FileType::Immediate,
|
||||
"justfile" => FileType::Immediate,
|
||||
"Makefile" => FileType::Immediate,
|
||||
"makefile" => FileType::Immediate,
|
||||
"meson.build" => FileType::Immediate,
|
||||
"mix.exs" => FileType::Immediate,
|
||||
"package.json" => FileType::Immediate,
|
||||
"Pipfile" => FileType::Immediate,
|
||||
"PKGBUILD" => FileType::Immediate,
|
||||
"Podfile" => FileType::Immediate,
|
||||
"pom.xml" => FileType::Immediate,
|
||||
"Procfile" => FileType::Immediate,
|
||||
"pyproject.toml" => FileType::Immediate,
|
||||
"Rakefile" => FileType::Immediate,
|
||||
"RoboFile.php" => FileType::Immediate,
|
||||
"SConstruct" => FileType::Immediate,
|
||||
"tsconfig.json" => FileType::Immediate,
|
||||
"Vagrantfile" => FileType::Immediate,
|
||||
"webpack.config.cjs" => FileType::Immediate,
|
||||
"webpack.config.js" => FileType::Immediate,
|
||||
"WORKSPACE" => FileType::Immediate,
|
||||
"Brewfile" => FileType::Build,
|
||||
"bsconfig.json" => FileType::Build,
|
||||
"BUILD" => FileType::Build,
|
||||
"BUILD.bazel" => FileType::Build,
|
||||
"build.gradle" => FileType::Build,
|
||||
"build.sbt" => FileType::Build,
|
||||
"build.xml" => FileType::Build,
|
||||
"Cargo.toml" => FileType::Build,
|
||||
"CMakeLists.txt" => FileType::Build,
|
||||
"composer.json" => FileType::Build,
|
||||
"configure" => FileType::Build,
|
||||
"Containerfile" => FileType::Build,
|
||||
"Dockerfile" => FileType::Build,
|
||||
"Earthfile" => FileType::Build,
|
||||
"flake.nix" => FileType::Build,
|
||||
"Gemfile" => FileType::Build,
|
||||
"GNUmakefile" => FileType::Build,
|
||||
"Gruntfile.coffee" => FileType::Build,
|
||||
"Gruntfile.js" => FileType::Build,
|
||||
"jsconfig.json" => FileType::Build,
|
||||
"Justfile" => FileType::Build,
|
||||
"justfile" => FileType::Build,
|
||||
"Makefile" => FileType::Build,
|
||||
"makefile" => FileType::Build,
|
||||
"meson.build" => FileType::Build,
|
||||
"mix.exs" => FileType::Build,
|
||||
"package.json" => FileType::Build,
|
||||
"Pipfile" => FileType::Build,
|
||||
"PKGBUILD" => FileType::Build,
|
||||
"Podfile" => FileType::Build,
|
||||
"pom.xml" => FileType::Build,
|
||||
"Procfile" => FileType::Build,
|
||||
"pyproject.toml" => FileType::Build,
|
||||
"Rakefile" => FileType::Build,
|
||||
"RoboFile.php" => FileType::Build,
|
||||
"SConstruct" => FileType::Build,
|
||||
"tsconfig.json" => FileType::Build,
|
||||
"Vagrantfile" => FileType::Build,
|
||||
"webpack.config.cjs" => FileType::Build,
|
||||
"webpack.config.js" => FileType::Build,
|
||||
"WORKSPACE" => FileType::Build,
|
||||
/* Cryptology files */
|
||||
"id_dsa" => FileType::Crypto,
|
||||
"id_ecdsa" => FileType::Crypto,
|
||||
|
@ -84,7 +84,7 @@ const FILENAME_TYPES: Map<&'static str, FileType> = phf_map! {
|
|||
/// extension is added also update the extension icon map.
|
||||
const EXTENSION_TYPES: Map<&'static str, FileType> = phf_map! {
|
||||
/* Immediate file - kick off the build of a project */
|
||||
"ninja" => FileType::Immediate,
|
||||
"ninja" => FileType::Build,
|
||||
/* Image files */
|
||||
"arw" => FileType::Image,
|
||||
"avif" => FileType::Image,
|
||||
|
@ -270,7 +270,7 @@ impl FileType {
|
|||
pub(crate) fn get_file_type(file: &File<'_>) -> Option<FileType> {
|
||||
// Case-insensitive readme is checked first for backwards compatibility.
|
||||
if file.name.to_lowercase().starts_with("readme") {
|
||||
return Some(Self::Immediate)
|
||||
return Some(Self::Build)
|
||||
}
|
||||
if let Some(file_type) = FILENAME_TYPES.get(&file.name) {
|
||||
return Some(file_type.clone())
|
||||
|
|
|
@ -88,7 +88,7 @@ impl UiStyles {
|
|||
compressed: Red.normal(),
|
||||
temp: White.normal(),
|
||||
compiled: Yellow.normal(),
|
||||
immediate: Yellow.bold().underline()
|
||||
build: Yellow.bold().underline()
|
||||
},
|
||||
|
||||
punctuation: DarkGray.bold(),
|
||||
|
|
|
@ -143,7 +143,7 @@ impl Definitions {
|
|||
}
|
||||
|
||||
|
||||
pub trait FileColours: std::marker::Sync {
|
||||
pub trait FileColours: Sync {
|
||||
fn colour_file(&self, file: &File<'_>, theme: &Theme) -> Option<Style>;
|
||||
}
|
||||
|
||||
|
@ -211,7 +211,7 @@ impl FileColours for FileTypes {
|
|||
Some(FileType::Compressed) => Some(theme.ui.file_type.compressed),
|
||||
Some(FileType::Temp) => Some(theme.ui.file_type.temp),
|
||||
Some(FileType::Compiled) => Some(theme.ui.file_type.compiled),
|
||||
Some(FileType::Immediate) => Some(theme.ui.file_type.immediate),
|
||||
Some(FileType::Build) => Some(theme.ui.file_type.build),
|
||||
None => None
|
||||
}
|
||||
}
|
||||
|
@ -337,12 +337,12 @@ impl render::UserColours for Theme {
|
|||
}
|
||||
|
||||
impl FileNameColours for Theme {
|
||||
fn symlink_path(&self) -> Style { self.ui.symlink_path }
|
||||
fn normal_arrow(&self) -> Style { self.ui.punctuation }
|
||||
fn broken_symlink(&self) -> Style { self.ui.broken_symlink }
|
||||
fn broken_filename(&self) -> Style { apply_overlay(self.ui.broken_symlink, self.ui.broken_path_overlay) }
|
||||
fn broken_control_char(&self) -> Style { apply_overlay(self.ui.control_char, self.ui.broken_path_overlay) }
|
||||
fn control_char(&self) -> Style { self.ui.control_char }
|
||||
fn symlink_path(&self) -> Style { self.ui.symlink_path }
|
||||
fn broken_control_char(&self) -> Style { apply_overlay(self.ui.control_char, self.ui.broken_path_overlay) }
|
||||
fn executable_file(&self) -> Style { self.ui.filekinds.executable }
|
||||
fn mount_point(&self) -> Style { self.ui.filekinds.mount_point }
|
||||
|
||||
|
@ -563,7 +563,7 @@ mod customs_test {
|
|||
test!(exa_co: ls "", exa "co=38;5;134" => colours c -> { c.file_type.compressed = Fixed(134).normal(); });
|
||||
test!(exa_tm: ls "", exa "tm=38;5;135" => colours c -> { c.file_type.temp = Fixed(135).normal(); });
|
||||
test!(exa_cm: ls "", exa "cm=38;5;136" => colours c -> { c.file_type.compiled = Fixed(136).normal(); });
|
||||
test!(exa_ie: ls "", exa "ie=38;5;137" => colours c -> { c.file_type.immediate = Fixed(137).normal(); });
|
||||
test!(exa_ie: ls "", exa "bu=38;5;137" => colours c -> { c.file_type.build = Fixed(137).normal(); });
|
||||
|
||||
// All the while, LS_COLORS treats them as filenames:
|
||||
test!(ls_uu: ls "uu=38;5;117", exa "" => exts [ ("uu", Fixed(117).normal()) ]);
|
||||
|
|
|
@ -133,7 +133,7 @@ pub struct FileType {
|
|||
pub compressed: Style,
|
||||
pub temp: Style,
|
||||
pub compiled: Style,
|
||||
pub immediate: Style,
|
||||
pub build: Style,
|
||||
}
|
||||
|
||||
impl UiStyles {
|
||||
|
@ -237,7 +237,7 @@ impl UiStyles {
|
|||
"co" => self.file_type.compressed = pair.to_style(),
|
||||
"tm" => self.file_type.temp = pair.to_style(),
|
||||
"cm" => self.file_type.compiled = pair.to_style(),
|
||||
"ie" => self.file_type.immediate = pair.to_style(),
|
||||
"bu" => self.file_type.build = pair.to_style(),
|
||||
|
||||
_ => return false,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue