| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- use ansiterm::Style;
- use ansiterm::Colour::*;
- use crate::theme::ColourScale;
- use crate::theme::ui_styles::*;
- impl UiStyles {
- pub fn default_theme(scale: ColourScale) -> Self {
- Self {
- colourful: true,
- filekinds: FileKinds {
- normal: Style::default(),
- directory: Blue.bold(),
- symlink: Cyan.normal(),
- pipe: Yellow.normal(),
- block_device: Yellow.bold(),
- char_device: Yellow.bold(),
- socket: Red.bold(),
- special: Yellow.normal(),
- executable: Green.bold(),
- mount_point: Blue.bold().underline(),
- },
- perms: Permissions {
- user_read: Yellow.bold(),
- user_write: Red.bold(),
- user_execute_file: Green.bold().underline(),
- user_execute_other: Green.bold(),
- group_read: Yellow.normal(),
- group_write: Red.normal(),
- group_execute: Green.normal(),
- other_read: Yellow.normal(),
- other_write: Red.normal(),
- other_execute: Green.normal(),
- special_user_file: Purple.normal(),
- special_other: Purple.normal(),
- attribute: Style::default(),
- },
- size: Size::colourful(scale),
- users: Users {
- user_you: Yellow.bold(),
- user_someone_else: Style::default(),
- group_yours: Yellow.bold(),
- group_not_yours: Style::default(),
- },
- links: Links {
- normal: Red.bold(),
- multi_link_file: Red.on(Yellow),
- },
- git: Git {
- new: Green.normal(),
- modified: Blue.normal(),
- deleted: Red.normal(),
- renamed: Yellow.normal(),
- typechange: Purple.normal(),
- ignored: Style::default().dimmed(),
- conflicted: Red.normal(),
- },
- security_context: SecurityContext {
- none: Style::default(),
- selinux: SELinuxContext {
- colon: Style::default().dimmed(),
- user: Blue.normal(),
- role: Green.normal(),
- typ: Yellow.normal(),
- range: Cyan.normal(),
- },
- },
- punctuation: Black.bold(),
- date: Blue.normal(),
- inode: Purple.normal(),
- blocks: Cyan.normal(),
- octal: Purple.normal(),
- header: Style::default().underline(),
- symlink_path: Cyan.normal(),
- control_char: Red.normal(),
- broken_symlink: Red.normal(),
- broken_path_overlay: Style::default().underline(),
- }
- }
- }
- impl Size {
- pub fn colourful(scale: ColourScale) -> Self {
- match scale {
- ColourScale::Gradient => Self::colourful_gradient(),
- ColourScale::Fixed => Self::colourful_fixed(),
- }
- }
- fn colourful_fixed() -> Self {
- Self {
- major: Green.bold(),
- minor: Green.normal(),
- number_byte: Green.bold(),
- number_kilo: Green.bold(),
- number_mega: Green.bold(),
- number_giga: Green.bold(),
- number_huge: Green.bold(),
- unit_byte: Green.normal(),
- unit_kilo: Green.normal(),
- unit_mega: Green.normal(),
- unit_giga: Green.normal(),
- unit_huge: Green.normal(),
- }
- }
- fn colourful_gradient() -> Self {
- Self {
- major: Green.bold(),
- minor: Green.normal(),
- number_byte: Green.normal(),
- number_kilo: Green.bold(),
- number_mega: Yellow.normal(),
- number_giga: Red.normal(),
- number_huge: Purple.normal(),
- unit_byte: Green.normal(),
- unit_kilo: Green.bold(),
- unit_mega: Yellow.normal(),
- unit_giga: Red.normal(),
- unit_huge: Purple.normal(),
- }
- }
- }
|