homes/nightfox_palette/lscolors.py

1105 lines
24 KiB
Python
Raw Permalink Normal View History

2023-10-18 00:45:39 +02:00
objects = {
"lc": "",
"rc": "", # right of sequence
"ec": "\033[39m\033[49m\033[0m", # end color
"cl": "\033[K", # clear to end of line
"rs": "\033[39m\033[49m\033[0m", # reset to ordinary
"mh": "\033[39m\033[49m\033[0m", # disabled by default
"ca": "\033[39m\033[49m\033[0m", # disabled by default
"bd": "🖴 \033[38;2;234;198;255m\033[1m\033[3m", # block device
"cd": "\033[38;2;157;121;214m\033[1m\033[3m", # char device
"di": "\033[38;2;151;194;252m\033[1m\033[3m\033[4m", # dirs
"do": "󰠚 \033[38;2;219;192;116m\033[1m\033[3m", # door
"ex": "\033[38;2;255;200;135m\033[1m", # executable
"fi": "󰡯 \033[38;2;174;175;176m", # file
"ln": "󰌹 \033[38;2;99;205;207m\033[3m\033[4m", # links
"mi": "\033[38;2;201;79;109m\033[3m\033[9m", # missing file
"no": "\033[38;2;174;175;176m", # normal
"or": "󰌺 \033[38;2;201;79;109m\033[3m\033[9m", # orphaned symlink
"ow": "󱇧 \033[38;2;174;175;176m", # other writable
"pi": "󰟥 \033[38;2;219;192;116m\033[1m\033[3m", # pipe
"sg": "\033[38;2;206;124;59m\033[1m", # setgid
"so": "󱄈 \033[38;2;255;230;154m\033[1m\033[3m", # socket
"st": " 󱍥 \033[38;2;113;156;214m\033[1m\033[4m", # sticky
"su": "\033[38;2;244;162;97m\033[1m", # setuid
"tw": " 󱍬 \033[38;2;75;118;176m\033[1m\033[4m\033[3m", # other with sticky
}
categories = {
"archives": {
"color": "\033[38;2;214;122;210m",
"files": [
"*.7z",
"*.CramFS",
"*.Z",
"*.ace",
"*.alz",
"*.apfs",
"*.ar",
"*.arc",
"*.arj",
"*.bz",
"*.bz2",
"*.bzip2",
"*.cab",
"*.chm",
"*.cpio",
"*.dmg",
"*.dz",
"*.ear",
"*.ext",
"*.fat",
"*.gpt",
"*.gta",
"*.gtar",
"*.gtz",
"*.gz",
"*.gzip",
"*.hfs",
"*.ihex",
"*.iso",
"*.jar",
"*.lha",
"*.lrz",
"*.lz",
"*.lz4",
"*.lzh",
"*.lzma",
"*.lzo",
"*.lzx",
"*.mbr",
"*.msi",
"*.nsis",
"*.ntfs",
"*.qcow2",
"*.rar",
"*.rz",
"*.sar",
"*.squashfs",
"*.swm",
"*.t7z",
"*.tar",
"*.taz",
"*.tbz",
"*.tbz2",
"*.tlz",
"*.txz",
"*.tz",
"*.tzo",
"*.tzst",
"*.udf",
"*.uefi",
"*.vdi",
"*.vhd",
"*.vhdx",
"*.vmdk",
"*.war",
"*.wim",
"*.xar",
"*.xpi",
"*.xz",
"*.z",
"*.zip",
"*.zoo",
"*.zst",
]
},
"audio": {
"color": "󰝚 \033[38;2;155;204;180m",
"files": [
"*.726",
"*.AMR",
"*.AWB",
"*.QCP",
"*.aa3",
"*.aac",
"*.aal",
"*.ac3",
"*.acn",
"*.adts",
"*.aif",
"*.aifc",
"*.aiff",
"*.amr",
"*.ass",
"*.at3",
"*.atx",
"*.au",
"*.awb",
"*.axa",
"*.csd",
"*.dls",
"*.dts",
"*.dtshd",
"*.ecelp4800",
"*.ecelp7470",
"*.ecelp9600",
"*.enw",
"*.eol",
"*.evb",
"*.evc",
"*.evw",
"*.flac",
"*.gsm",
"*.hmf",
"*.hvd",
"*.hvp",
"*.hvs",
"*.kar",
"*.koz",
"*.l16",
"*.lbc",
"*.loas",
"*.lvp",
"*.ly",
"*.m3u",
"*.m4a",
"*.mhas",
"*.mid",
"*.midi",
"*.mka",
"*.mlp",
"*.mp1",
"*.mp2",
"*.mp3",
"*.mpega",
"*.mpga",
"*.mscx",
"*.mscz",
"*.multitrack",
"*.mus",
"*.musd",
"*.musicxml",
"*.mxl",
"*.mxmf",
"*.oga",
"*.ogg",
"*.omg",
"*.opus",
"*.orc",
"*.osf",
"*.plj",
"*.pls",
"*.psid",
"*.pya",
"*.qcp",
"*.ra",
"*.ram",
"*.rip",
"*.rm",
"*.s1m",
"*.sco",
"*.sd2",
"*.sid",
"*.sly",
"*.smp",
"*.smp3",
"*.smv",
"*.snd",
"*.sofa",
"*.spx",
"*.uva",
"*.uvva",
"*.vbk",
"*.vpm",
"*.wav",
"*.wax",
"*.wma",
"*.xhe",
"*.xspf",
]
},
"chemical": {
"color": "\033[38;2;91;140;116m",
"files": [
"*.alc",
"*.asn",
"*.asn",
"*.aso",
"*.b",
"*.bsd",
"*.c3d",
"*.cac",
"*.cache",
"*.cascii",
"*.cbin",
"*.cdx",
"*.cef",
"*.chm",
"*.cif",
"*.cmdf",
"*.cml",
"*.cpa",
"*.csf",
"*.csm",
"*.csml",
"*.ctab",
"*.ctx",
"*.cub",
"*.cxf",
"*.dx",
"*.emb",
"*.embl",
"*.fch",
"*.fchk",
"*.gal",
"*.gau",
"*.gcg",
"*.gen",
"*.gjc",
"*.gjf",
"*.gpt",
"*.hin",
"*.ist",
"*.istr",
"*.jdx",
"*.kin",
"*.mcif",
"*.mcm",
"*.mif",
"*.mmod",
"*.mol",
"*.moo",
"*.mop",
"*.mopcrt",
"*.mpc",
"*.mvb",
"*.pdb",
"*.prt",
"*.rd",
"*.ros",
"*.rxn",
"*.sd",
"*.sdf",
"*.smi",
"*.spc",
"*.sw",
"*.tgf",
"*.val",
"*.vmd",
"*.vms",
"*.xtel",
"*.xyz",
"*.zmt",
]
},
"config": {
"color": "\033[38;2;214;122;210m",
"files": [
"*.conf",
"*.ini",
"*.ppd",
"*.toml",
"*.yaml",
"*.yml",
"*config",
]
},
"database": {
"color": "\033[38;2;234;198;255m",
"files": [
"*.bdb",
"*.csv",
"*.csvs",
"*.db",
"*.geojson",
"*.json",
"*.json?patch",
"*.jsonld",
"*.jsontd",
"*.jsontm",
"*.mdb",
"*.qgs",
"*.rdf",
"*.rdf?crypt",
"*.rss",
"*.shp",
"*.shx",
"*.sql",
"*.sqlite",
"*.sqlite3",
"*.xml",
]
},
"document": {
"color": "󰉺 \033[38;2;255;255;255m",
"files": [
"*.abw",
"*.ai",
"*.apkg",
"*.book",
"*.cbr",
"*.cbz",
"*.chrt",
"*.doc",
"*.docx",
"*.dotx",
"*.dvi",
"*.eps",
"*.eps2",
"*.eps3",
"*.epsf",
"*.epsi",
"*.epub",
"*.fb",
"*.fbdoc",
"*.flw",
"*.gan",
"*.ggb",
"*.ggs",
"*.ggt",
"*.gnumeric",
"*.karbon",
"*.kfo",
"*.kon",
"*.kpr",
"*.kpt",
"*.mm",
"*.odb",
"*.odc",
"*.odf",
"*.odg",
"*.odi",
"*.odm",
"*.odp",
"*.ods",
"*.odt",
"*.osm",
"*.otc",
"*.otg",
"*.oth",
"*.oti",
"*.otm",
"*.otp",
"*.ots",
"*.ott",
"*.oxt",
"*.pdf",
"*.potm",
"*.potx",
"*.ppam",
"*.pps",
"*.ppsm",
"*.ppsx",
"*.ppt",
"*.pptm",
"*.pptx",
"*.ps",
"*.rtf",
"*.sda",
"*.sdc",
"*.sdd",
"*.sdp",
"*.sds",
"*.sdw",
"*.sgl",
"*.sldx",
"*.sm",
"*.smf",
"*.smzip",
"*.stc",
"*.std",
"*.sti",
"*.stw",
"*.sxc",
"*.sxd",
"*.sxg",
"*.sxi",
"*.sxm",
"*.sxw",
"*.vsd",
"*.vsf",
"*.vss",
"*.vst",
"*.vsw",
"*.wpd",
"*.xhtm",
"*.xhtml",
"*.xla",
"*.xlam",
"*.xlc",
"*.xlm",
"*.xls",
"*.xlsb",
"*.xlsm",
"*.xlsx",
"*.xlt",
"*.xltm",
"*.xltx",
"*.xlw",
"*.xodp",
"*.xods",
"*.xodt",
"*.xotp",
"*.xots",
"*.xott",
"*.xsl",
"*.xslt",
]
},
"electronics": {
"color": "\033[38;2;255;230;154m",
"files": [
"*.brd",
"*.cpa",
"*.csa",
"*.dwm",
"*.kicad_pro",
"*.pro",
"*.sch",
]
},
"encryption": {
"color": "\033[38;2;239;117;147m",
"files": [
"*.ac",
"*.cer",
"*.crl",
"*.crt",
"*.gpg",
"*.kbx",
"*.kdbx",
"*.key",
"*.p10",
"*.p12",
"*.p21",
"*.p7c",
"*.p7m",
"*.p7r",
"*.p7s",
"*.p7z",
"*.p8",
"*.p8e",
"*.pem",
"*.pgp",
"*.pki",
"*.pkipath",
]
},
"exec": {
"color": "󱓞 \033[38;2;244;162;97m",
"files": [
"*.bash",
"*.bat",
"*.bin",
"*.com",
"*.csh",
"*.dll",
"*.exe",
"*.fish",
"*.jnlp",
"*.o",
"*.pyc",
"*.pyo",
"*.sh",
"*.so",
"*.zsh",
]
},
"font": {
"color": "\033[38;2;185;185;186m\033[3m",
"files": [
"*.gsf",
"*.otf",
"*.pfa",
"*.pfb",
"*.ttc",
"*.ttf",
"*.woff",
"*.woff2",
]
},
"game": {
"color": "\033[38;2;206;124;59m",
"files": [
"*.32x",
"*.3ds",
"*.3dz",
"*.Z1",
"*.Z2",
"*.Z3",
"*.Z4",
"*.Z5",
"*.Z6",
"*.Z7",
"*.Z8",
"*.a26",
"*.a52",
"*.a78",
"*.amgp",
"*.atr",
"*.atx",
"*.bas",
"*.cas",
"*.ccd",
"*.cdi",
"*.chd",
"*.cso",
"*.cso",
"*.cue",
"*.esc",
"*.fam",
"*.fds",
"*.gam",
"*.gamin",
"*.gb",
"*.gba",
"*.gbc",
"*.gd",
"*.gdi",
"*.gdnlib",
"*.gdns",
"*.gdscript",
"*.gen",
"*.gg",
"*.godot",
"*.inp",
"*.jcd",
"*.lnx",
"*.mdf",
"*.mds",
"*.n64",
"*.ndd",
"*.nds",
"*.nds",
"*.nes",
"*.nez",
"*.nrg",
"*.obg",
"*.obgx",
"*.pdn",
"*.pgn",
"*.pgn",
"*.ptrom",
"*.rom",
"*.sbi",
"*.sc",
"*.sf7",
"*.sfc",
"*.sg",
"*.sgf",
"*.smc",
"*.smd",
"*.smk",
"*.sms",
"*.srm",
"*.sub",
"*.swc",
"*.tres",
"*.tscn",
"*.v64",
"*.vpk",
"*.wad",
"*.wbfs",
"*.z1",
"*.z2",
"*.z3",
"*.z4",
"*.z5",
"*.z6",
"*.z7",
"*.z8",
]
},
"image": {
"color": "\033[38;2;91;140;116m",
"files": [
"*.J2C",
"*.J2K",
"*.PGB",
"*.apng",
"*.art",
"*.avci",
"*.avcs",
"*.avif",
"*.azv",
"*.b16",
"*.bmp",
"*.btf",
"*.btif",
"*.cdr",
"*.cdt",
"*.cgm",
"*.cpt",
"*.cr2",
"*.crw",
"*.djv",
"*.djvu",
"*.dpx",
"*.drle",
"*.dwg",
"*.dxf",
"*.emf",
"*.erf",
"*.exr",
"*.fbs",
"*.fig",
"*.fit",
"*.fits",
"*.fpx",
"*.fst",
"*.fts",
"*.gif",
"*.hdr",
"*.heic",
"*.heics",
"*.heif",
"*.heifs",
"*.hej2",
"*.hif",
"*.hsj2",
"*.ico",
"*.ief",
"*.j2c",
"*.j2k",
"*.jfif",
"*.jhc",
"*.jls",
"*.jng",
"*.jp2",
"*.jpe",
"*.jpeg",
"*.jpf",
"*.jpg",
"*.jpg2",
"*.jpgm",
"*.jph",
"*.jphc",
"*.jpm",
"*.jpx",
"*.jxl",
"*.jxr",
"*.jxra",
"*.jxrs",
"*.jxs",
"*.jxsc",
"*.jxsi",
"*.jxss",
"*.kra",
"*.ktx",
"*.ktx2",
"*.mdi",
"*.mmr",
"*.nef",
"*.ora",
"*.orf",
"*.pat",
"*.pbm",
"*.pcx",
"*.pgb",
"*.pgm",
"*.png",
"*.pnm",
"*.ppm",
"*.psd",
"*.pti",
"*.ras",
"*.rgb",
"*.rgbe",
"*.rlc",
"*.s1g",
"*.s1j",
"*.s1n",
"*.sgi",
"*.sgif",
"*.sjp",
"*.sjpg",
"*.smil",
"*.sml",
"*.spn",
"*.spng",
"*.svg",
"*.svgz",
"*.tap",
"*.tfx",
"*.tif",
"*.tiff",
"*.uvg",
"*.uvi",
"*.uvvg",
"*.uvvi",
"*.vtf",
"*.wbmp",
"*.webp",
"*.wmf",
"*.xbm",
"*.xcf",
"*.xif",
"*.xpm",
"*.xwd",
"*.xyze",
]
},
"mail": {
"color": "\033[38;2;113;131;155m",
"files": [
"*.art",
"*.eml",
"*.mail",
"*.mbox",
"*.oeb",
"*.sieve",
"*.u8dsn",
"*.u8hdr",
"*.u8mdn",
"*.u8msg",
]
},
"model": {
"color": "󰹜 \033[38;2;113;156;214m",
"files": [
"*.3ds",
"*.3mf",
"*.FCMacro",
"*.FCMat",
"*.FCParam",
"*.FCScript",
"*.FCStd",
"*.amf",
"*.bary",
"*.blend",
"*.brep",
"*.brp",
"*.bsp",
"*.cam",
"*.cld",
"*.cnc",
"*.csg",
"*.dae",
"*.dib",
"*.dor",
"*.dwf",
"*.gcode",
"*.gdl",
"*.glb",
"*.gltf",
"*.gsm",
"*.gtw",
"*.ifc",
"*.ifcJSON",
"*.iges",
"*.igs",
"*.ism",
"*.jt",
"*.lmp",
"*.mesh",
"*.moml",
"*.msh",
"*.msm",
"*.mtl",
"*.mts",
"*.nc",
"*.ncc",
"*.ngc",
"*.obj",
"*.ogex",
"*.poly",
"*.pov",
"*.prc",
"*.pyox",
"*.rsm",
"*.scad",
"*.silo",
"*.step",
"*.stl",
"*.stp",
"*.stpx",
"*.stpxz",
"*.stpz",
"*.tooltable",
"*.u3d",
"*.usda",
"*.usdz",
"*.vds",
"*.vrm",
"*.vrml",
"*.vtu",
"*.win",
"*.wrl",
"*.x3d",
"*.x3db",
"*.x3dv",
"*.x3dvz",
"*.x3dz",
"*.x_b",
"*.x_t",
"*.xmt_bin",
"*.xmt_txt",
]
},
"pkg": {
"color": "󰏖 \033[38;2;163;41;71m",
"files": [
"*.apk",
"*.cpkg",
"*.ddeb",
"*.deb",
"*.dpkg",
"*.ebuild",
"*.eclass",
"*.gpkg",
"*.mpkg",
"*.onepkg",
"*.pkg",
"*.portpkg",
"*.ppkg",
"*.rpm",
"*.xpak",
]
},
"science": {
"color": "\033[38;2;75;118;176m",
"files": [
"*.2bit",
"*.dna",
"*.fa",
"*.mseq",
"*.sce",
"*.scf",
"*.sci",
]
},
"temp": {
"color": "󰃢 \033[38;2;115;128;145m",
"files": [
"*#",
"*.%",
"*.bak",
"*.bk",
"*.dl",
"*.dpkg-dist",
"*.dpkg-old",
"*.old",
"*.orig",
"*.part",
"*.rej",
"*.rpmnew",
"*.rpmorig",
"*.rpmsave",
"*.swp",
"*.tmp",
"*tmp",
"*~",
]
},
"text": {
"color": "\033[38;2;129;178;154m",
"files": [
"*.3dm",
"*.3dml",
"*.CQL",
"*.VFK",
"*.a",
"*.abc",
"*.appcache",
"*.ascii",
"*.bib",
"*.boo",
"*.brf",
"*.brl",
"*.c",
"*.c++",
"*.cc",
"*.ccc",
"*.cls",
"*.cnd",
"*.coffee",
"*.copyright",
"*.cpp",
"*.css",
"*.curl",
"*.cxx",
"*.d",
"*.dart",
"*.diff",
"*.dms",
"*.dot",
"*.dsc",
"*.dxg",
"*.es",
"*.etx",
"*.flt",
"*.flx",
"*.fly",
"*.gcd",
"*.ged",
"*.gff3",
"*.gv",
"*.h",
"*.h++",
"*.hans",
"*.hgl",
"*.hh",
"*.hpp",
"*.hs",
"*.htc",
"*.htm",
"*.html",
"*.hxx",
"*.ics",
"*.ifb",
"*.jad",
"*.java",
"*.js",
"*.jtd",
"*.latex",
"*.lhs",
"*.ltx",
"*.ly",
"*.lyx",
"*.manifest",
"*.markdown",
"*.mc2",
"*.md",
"*.miz",
"*.mjs",
"*.moc",
"*.mpf",
"*.n3",
"*.p",
"*.pas",
"*.patch",
"*.php",
"*.pl",
"*.pm",
"*.pot",
"*.provn",
"*.py",
"*.rb",
"*.roff",
"*.rs",
"*.rst",
"*.scala",
"*.sfv",
"*.sgm",
"*.sgml",
"*.shaclc",
"*.shc",
"*.shex",
"*.shtml",
"*.si",
"*.sl",
"*.soa",
"*.sos",
"*.spdx",
"*.spo",
"*.spot",
"*.srt",
"*.sty",
"*.t",
"*.tag",
"*.tcl",
"*.tex",
"*.text",
"*.tk",
"*.tm",
"*.tr",
"*.ts",
"*.tsv",
"*.ttl",
"*.txt",
"*.uri",
"*.uris",
"*.vcard",
"*.vcf",
"*.vcs",
"*.vtt",
"*.wgsl",
"*.wml",
"*.wmls",
"*.zone",
"*README",
]
},
"video": {
"color": "\033[38;2;119;83;176m",
"files": [
"*.asf",
"*.avi",
"*.axv",
"*.dif",
"*.dv",
"*.dvb",
"*.flc",
"*.fli",
"*.flv",
"*.fvt",
"*.gl",
"*.lsf",
"*.lsx",
"*.m1v",
"*.m2v",
"*.m4s",
"*.m4u",
"*.m4v",
"*.mj2",
"*.mjp2",
"*.mjpeg",
"*.mjpg",
"*.mkv",
"*.mng",
"*.mov",
"*.movie",
"*.mp4",
"*.mp4v",
"*.mpe",
"*.mpeg",
"*.mpg",
"*.mpg4",
"*.mpv",
"*.mxu",
"*.nim",
"*.nuv",
"*.ogm",
"*.ogv",
"*.ogx",
"*.pyv",
"*.qt",
"*.rmvb",
"*.s11",
"*.s14",
"*.s1q",
"*.scs",
"*.smo",
"*.smov",
"*.smpg",
"*.ssw",
"*.sswf",
"*.ucf",
"*.ucf-dist",
"*.ucf-new",
"*.ucf-old",
"*.uvh",
"*.uvm",
"*.uvp",
"*.uvs",
"*.uvu",
"*.uvv",
"*.uvvh",
"*.uvvm",
"*.uvvp",
"*.uvvs",
"*.uvvu",
"*.uvvv",
"*.viv",
"*.vob",
"*.webm",
"*.wm",
"*.wmv",
"*.wmx",
"*.wvx",
"*.yt",
"*.yuv",
]
},
}
ls_colors = ":".join(f"{obj}={objects[obj]}" for obj in objects)
for category in categories.values():
cat_txt = ":".join(
f"{ext}={category['color']}" for ext in category["files"]
)
ls_colors += ":" + cat_txt
print(ls_colors)