mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 01:26:46 +00:00
initial commit
This commit is contained in:
318
yazi/flavors/dracula.yazi/flavor.toml
Normal file
318
yazi/flavors/dracula.yazi/flavor.toml
Normal file
@@ -0,0 +1,318 @@
|
||||
# Theme Configuration
|
||||
[theme]
|
||||
# Theme metadata
|
||||
name = "Dracula Pro"
|
||||
author = "Enhanced Dracula Theme"
|
||||
version = "2.0.0"
|
||||
description = "A sophisticated dark theme based on Dracula color scheme"
|
||||
|
||||
# Color palette definition
|
||||
[theme.colors]
|
||||
background = "#282a36"
|
||||
current_line = "#44475a"
|
||||
foreground = "#f8f8f2"
|
||||
comment = "#6272a4"
|
||||
purple = "#bd93f9"
|
||||
green = "#50fa7b"
|
||||
orange = "#ffb86c"
|
||||
red = "#ff5555"
|
||||
pink = "#ff79c6"
|
||||
cyan = "#8be9fd"
|
||||
yellow = "#f1fa8c"
|
||||
|
||||
# Animation settings
|
||||
[theme.animation]
|
||||
frames_per_second = 60
|
||||
duration = 0.2
|
||||
easing = "easeInOutCubic"
|
||||
|
||||
# Manager
|
||||
[manager]
|
||||
# Enhanced preview options
|
||||
preview = { tab_size = 2, max_width = 100, max_height = 50, cache_size = 50, scroll_offset = 5 }
|
||||
preview_ratios = [1, 4, 4]
|
||||
preview_shown = true
|
||||
preview_service = { image = "ueberzug", video = "ffmpegthumbnailer", pdf = "pdftoppm" }
|
||||
|
||||
# Sophisticated hover effects
|
||||
hovered = { fg = "#f8f8f2", bg = "#44475a", italic = true }
|
||||
|
||||
# Enhanced markers with animations
|
||||
marker_copied = { fg = "#282a36", bg = "#50fa7b" }
|
||||
|
||||
# Dynamic loading indicators
|
||||
loading_indicator_frames = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
||||
loading_style = { fg = "#bd93f9", bold = true }
|
||||
|
||||
# Enhanced folder icons
|
||||
folder_icons = { default = " ", open = " ", empty = " ", empty_open = " ", symlink = " ", symlink_open = " ", error = " " }
|
||||
|
||||
file_size_units = ["B", "KB", "MB", "GB", "TB", "PB", "EB"]
|
||||
|
||||
# Status
|
||||
[status]
|
||||
# Dynamic status bar
|
||||
refresh_rate = 1000
|
||||
separator_open = ""
|
||||
separator_close = ""
|
||||
|
||||
# Progress bar styling
|
||||
progress_bar_style = { fg = "#bd93f9", bg = "#44475a" }
|
||||
|
||||
# Enhanced modes
|
||||
mode_normal = { fg = "#282a36", bg = "#bd93f9", bold = true }
|
||||
|
||||
# Input
|
||||
[input]
|
||||
# Advanced input styling
|
||||
cursor_style = { fg = "#f8f8f2", bg = "#6272a4", blink = true, blink_interval = 500 }
|
||||
|
||||
# History features
|
||||
history_size = 100
|
||||
history_unique = true
|
||||
|
||||
# Completion styling
|
||||
completion_style = { selected_bg = "#44475a", selected_fg = "#f8f8f2", selected_bold = true, selected_italic = true }
|
||||
|
||||
# Notify
|
||||
[notify]
|
||||
# Enhanced notification system
|
||||
position = "top-right"
|
||||
timeout = 5000
|
||||
max_width = 400
|
||||
max_height = 200
|
||||
margin = 10
|
||||
padding = 8
|
||||
|
||||
[notify.levels]
|
||||
info = { fg = "#50fa7b", bg = "#282a36", icon = " ", timeout = 3000 }
|
||||
warn = { fg = "#f1fa8c", bg = "#282a36", icon = " ", timeout = 5000 }
|
||||
error = { fg = "#ff5555", bg = "#282a36", icon = " ", timeout = 7000 }
|
||||
debug = { fg = "#6272a4", bg = "#282a36", icon = " ", timeout = 2000 }
|
||||
|
||||
[notify.animation]
|
||||
enabled = true
|
||||
duration = 200
|
||||
slide_in = "right"
|
||||
fade_out = true
|
||||
|
||||
[notify.border]
|
||||
fg = "#bd93f9"
|
||||
bg = "#282a36"
|
||||
style = "rounded"
|
||||
|
||||
[notify.overlay]
|
||||
bg = "#282a36"
|
||||
blend = 0.8
|
||||
|
||||
# File-specific styles
|
||||
[filetype]
|
||||
rules = [
|
||||
# Development Environment
|
||||
{ name = ".env*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = ".git*", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = ".docker*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Configuration Files
|
||||
{ name = "*.{json,yaml,yml,toml,xml}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{ini,conf,cfg}", fg = "#6272a4", italic = true, prefix = " " },
|
||||
|
||||
# Web Development
|
||||
{ name = "*.{html,htm}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{css,scss,sass,less}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{jsx,tsx}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.{js,ts}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.vue", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.svelte", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Backend Development
|
||||
{ name = "*.{py,pyc}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{rb,erb}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.{php,phar}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{java,jar}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "*.go", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
{ name = "*.rs", fg = "#ff7043", italic = true, prefix = " " },
|
||||
|
||||
# System Programming
|
||||
{ name = "*.{c,h}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{cpp,hpp}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{asm,s}", fg = "#ff5555", italic = true, prefix = " " },
|
||||
|
||||
# Build Systems
|
||||
{ name = "*Makefile", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*CMakeLists.txt", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "*.gradle", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Package Managers
|
||||
{ name = "package.json", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "package-lock.json", fg = "#ff5555", italic = true, prefix = " " },
|
||||
{ name = "composer.json", fg = "#ff79c6", bold = true, prefix = " " },
|
||||
{ name = "Cargo.toml", fg = "#ff7043", bold = true, prefix = " " },
|
||||
|
||||
# Documentation
|
||||
{ name = "*.{md,mdx}", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.rst", fg = "#f1fa8c", italic = true, prefix = " " },
|
||||
{ name = "*.pdf", fg = "#ff5555", bold = true, prefix = " " },
|
||||
{ name = "LICENSE*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
{ name = "README*", fg = "#50fa7b", bold = true, prefix = " " },
|
||||
|
||||
# Media with size categories
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Video files with duration indicator
|
||||
{ name = "*.{mp4,mkv}", duration = "< 10:00", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "< 1:00:00", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv}", duration = "> 1:00:00", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Archives with compression ratio
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.5", fg = "#50fa7b", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "< 0.7", fg = "#f1fa8c", prefix = " " },
|
||||
{ name = "*.{zip,gz,tar}", ratio = "> 0.7", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Special Directories
|
||||
{ name = "node_modules", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".git", fg = "#ff5555", prefix = " " },
|
||||
{ name = ".github", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "dist", fg = "#6272a4", prefix = " " },
|
||||
{ name = "build", fg = "#6272a4", prefix = " " },
|
||||
|
||||
# Additional file types
|
||||
# Audio files
|
||||
{ name = "*.{mp3,flac,m4a,wav,ogg}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Font files
|
||||
{ name = "*.{ttf,otf,woff,woff2}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
|
||||
# Database files
|
||||
{ name = "*.{sql,sqlite,db}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Shell scripts
|
||||
{ name = "*.{sh,bash,zsh,fish}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# Virtual environments
|
||||
{ name = "venv", fg = "#6272a4", prefix = " " },
|
||||
{ name = ".env", fg = "#50fa7b", prefix = " " },
|
||||
|
||||
# Container files
|
||||
{ name = "*.dockerfile", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "docker-compose*.{yml,yaml}", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Security files
|
||||
{ name = "*.{pem,crt,ca,key}", fg = "#ff5555", bold = true, prefix = " " },
|
||||
|
||||
# Improved size-based rules for media
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 100KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 1MB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Default Fallbacks
|
||||
{ name = "*", fg = "#f8f8f2" },
|
||||
{ name = "*/", fg = "#bd93f9", bold = true, prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{proto}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
{ name = "*.{graphql,gql}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{tf,tfvars}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# Container and Cloud
|
||||
{ name = "*.{yaml,yml}", pattern = "^k8s|^kubernetes", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
{ name = "*.{yaml,yml}", pattern = "^helm", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# Data Files
|
||||
{ name = "*.{csv,tsv}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*.{parquet,avro}", fg = "#bd93f9", italic = true, prefix = " " },
|
||||
|
||||
# Size-based rules for documents
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 1MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "< 10MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{pdf,epub,mobi}", size = "> 10MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Additional Development Files
|
||||
{ name = "*.{sol}", fg = "#bd93f9", italic = true, prefix = " " }, # Solidity files
|
||||
{ name = "*.{ex,exs}", fg = "#bd93f9", italic = true, prefix = " " }, # Elixir files
|
||||
{ name = "*.{kt,kts}", fg = "#ff79c6", italic = true, prefix = " " }, # Kotlin files
|
||||
{ name = "*.{swift}", fg = "#ff5555", italic = true, prefix = " " }, # Swift files
|
||||
|
||||
# Config Files
|
||||
{ name = "*.{nginx,nginx.conf}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
{ name = "*{webpack}*", fg = "#8be9fd", bold = true, prefix = " " },
|
||||
|
||||
# ML/Data Science
|
||||
{ name = "*.{ipynb}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{pkl,pickle}", fg = "#50fa7b", italic = true, prefix = " " },
|
||||
|
||||
# 3D/Graphics
|
||||
{ name = "*.{blend}", fg = "#ff79c6", italic = true, prefix = " " },
|
||||
{ name = "*.{fbx,obj,stl}", fg = "#8be9fd", italic = true, prefix = " " },
|
||||
|
||||
# More granular size-based rules for media files
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 50KB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 500KB", fg = "#bd93f9", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 2MB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "< 20MB", fg = "#ff7043", prefix = " " },
|
||||
{ name = "*.{jpg,jpeg,png,gif}", size = "> 20MB", fg = "#ff5555", prefix = " " },
|
||||
|
||||
# Size categories for video files
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 100MB", fg = "#8be9fd", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "< 1GB", fg = "#ffb86c", prefix = " " },
|
||||
{ name = "*.{mp4,mkv,avi,mov}", size = "> 1GB", fg = "#ff5555", prefix = " " },
|
||||
]
|
||||
|
||||
# Keybindings
|
||||
[keys]
|
||||
# Visual key hints
|
||||
show_hints = true
|
||||
hint_style = { fg = "#6272a4", bg = "#44475a", italic = true }
|
||||
|
||||
# Command palette
|
||||
command_palette = { bg = "#282a36", fg = "#f8f8f2", selected_bg = "#44475a", selected_fg = "#f8f8f2", border = "#bd93f9" }
|
||||
|
||||
# Preview
|
||||
[preview]
|
||||
tab_size = 2
|
||||
max_width = 120
|
||||
max_height = 60
|
||||
cache_dir = "/tmp/yazi"
|
||||
|
||||
[preview.image]
|
||||
enabled = true
|
||||
format = "rgb"
|
||||
max_width = 1920
|
||||
max_height = 1080
|
||||
quality = 90
|
||||
animate = true
|
||||
cache = true
|
||||
|
||||
[preview.preview_service]
|
||||
image = "ueberzug"
|
||||
video = "ffmpegthumbnailer"
|
||||
pdf = "pdftoppm"
|
||||
epub = "epub-thumbnailer"
|
||||
office = "libreoffice --headless --convert-to pdf"
|
||||
markdown = "glow"
|
||||
|
||||
[preview.syntax]
|
||||
theme = "Dracula"
|
||||
background = "#282a36"
|
||||
|
||||
# Opener
|
||||
[opener]
|
||||
edit = [
|
||||
{ exec = 'nvim "$@"', desc = "Edit with Neovim" },
|
||||
{ exec = 'code "$@"', desc = "Edit with VS Code" }
|
||||
]
|
||||
open = [
|
||||
{ exec = 'xdg-open "$@"', desc = "Open with system default" },
|
||||
{ exec = 'firefox "$@"', desc = "Open in Firefox" }
|
||||
]
|
||||
reveal = [
|
||||
{ exec = 'nautilus "$@"', desc = "Reveal in file manager" }
|
||||
]
|
||||
|
||||
# Enhanced preview features
|
||||
max_preview_size = 10485760 # 10MB limit for preview
|
||||
scroll_offset = 5
|
||||
scroll_smooth = true
|
||||
Reference in New Issue
Block a user