147 lines
8.7 KiB
Plaintext
147 lines
8.7 KiB
Plaintext
#compdef neofetch
|
|
# ------------------------------------------------------------------------------
|
|
# Description
|
|
# -----------
|
|
#
|
|
# Completion script for neofetch (https://github.com/dylanaraps/neofetch)
|
|
#
|
|
# ------------------------------------------------------------------------------
|
|
# Authors
|
|
# -------
|
|
#
|
|
# * Wu Zhenyu <wuzhenyu@ustc.edu>
|
|
#
|
|
# ------------------------------------------------------------------------------
|
|
|
|
_neofetch_files_none() {
|
|
_alternative 'none:none:((none\:"Launch the script without a config file"))' 'files:file:_files'
|
|
}
|
|
_neofetch_sources() {
|
|
_alternative 'choices:choices:(auto ascii wallpaper "command output")' 'files: :_files'
|
|
}
|
|
local func_names=(
|
|
title underline os distro model kernel uptime packages shell resolution de wm
|
|
wm_theme icons term term_font cpu gpu memory gpu_driver cpu_usage disk battery
|
|
font song local_ip public_ip users locale cols
|
|
)
|
|
local colors=(black blue cyan default gray green magenta orange red white)
|
|
local distros=(
|
|
AIX Alpine AlterLinux Anarchy Android Antergos antiX
|
|
"AOSC OS" "AOSC OS/Retro" Apricity ArcoLinux ArchBox
|
|
ARCHlabs ArchStrike XFerience ArchMerge Arch Artix Arya
|
|
Bedrock Bitrig BlackArch BLAG BlankOn BlueLight bonsai BSD
|
|
BunsenLabs Calculate Carbs CentOS Chakra ChaletOS Chapeau
|
|
Chrom Cleanjaro ClearOS Clear_Linux Clover Condres
|
|
Container_Linux CRUX Cucumber Debian Deepin DesaOS Devuan
|
|
DracOS DarkOs DragonFly Drauger Elementary EndeavourOS Endless
|
|
EuroLinux Exherbo Fedora Feren FreeBSD FreeMiNT Frugalware
|
|
Funtoo GalliumOS Garuda Gentoo Pentoo gNewSense GNOME GNU
|
|
GoboLinux Grombyang Guix Haiku Huayra Hyperbola janus Kali
|
|
KaOS KDE_neon Kibojoe Kogaion Korora KSLinux Kubuntu LEDE
|
|
LFS Linux_Lite LMDE Lubuntu Lunar macos Mageia MagpieOS
|
|
Mandriva Manjaro Maui Mer Minix LinuxMint MX_Linux Namib
|
|
Neptune NetBSD Netrunner Nitrux NixOS Nurunner NuTyX
|
|
OBRevenge OpenBSD openEuler OpenIndiana openmamba OpenMandriva
|
|
OpenStage OpenWrt osmc Oracle OS Elbrus PacBSD Parabola
|
|
Pardus Parrot Parsix TrueOS PCLinuxOS Peppermint popos
|
|
Porteus PostMarketOS Proxmox Puppy PureOS Qubes Radix
|
|
Raspbian Reborn_OS Redstar Redcore Redhat Refracted_Devuan
|
|
Regata Rosa sabotage Sabayon Sailfish SalentOS Scientific
|
|
Septor SereneLinux SharkLinux Siduction Slackware SliTaz
|
|
SmartOS Solus Source_Mage Sparky Star SteamOS SunOS
|
|
openSUSE_Leap openSUSE_Tumbleweed openSUSE SwagArch Tails
|
|
Trisquel Ubuntu-Budgie Ubuntu-GNOME Ubuntu-MATE Ubuntu-Studio
|
|
Ubuntu Venom Void Obarun windows10 Windows7 Xubuntu Zorin IRIX
|
|
)
|
|
local options=(
|
|
--disable"[Allows you to disable an info line from appearing in the output]:func_name:($func_names)"
|
|
--title_fqdn"[Hide/Show Fully Qualified Domain Name in title]:on/off:(on off)"
|
|
--package_managers"[Hide/Show Package Manager names]:on/off:(on tiny off)"
|
|
--os_arch"[Hide/Show OS architecture]:on/off:(on off)"
|
|
--speed_type"[Change the type of cpu speed to display]:type:(current min max bios scaling_current scaling_min scaling_max cpufreq)"
|
|
--speed_shorthand"[Whether or not to show decimals in CPU speed]:on/off:(on off)"
|
|
--cpu_brand"[Enable/Disable CPU brand in output]:on/off:(on off)"
|
|
--cpu_cores"[Whether or not to display the number of CPU cores]:type:(logical physical off)"
|
|
--cpu_speed"[Hide/Show cpu speed]:on/off:(on off)"
|
|
--cpu_temp"[Hide/Show cpu temperature]:C/F/off:(C F off)"
|
|
--distro_shorthand"[Shorten the output of distro]:on/off:(on tiny off)"
|
|
--kernel_shorthand"[Shorten the output of kernel]:on/off:(on off)"
|
|
--uptime_shorthand"[Shorten the output of uptime]:on/off:(on tiny off)"
|
|
--refresh_rate"[Whether to display the refresh rate of each monitor]:on/off:(on off)"
|
|
--gpu_brand"[Enable/Disable GPU brand in output]:on/off:(on off)"
|
|
--gpu_type"[Which GPU to display]:type:(all dedicated integrated)"
|
|
--de_version"[Show/Hide Desktop Environment version]:on/off:(on off)"
|
|
--gtk_shorthand"[Shorten output of gtk theme/icons]:on/off:(on off)"
|
|
--gtk2"[Enable/Disable gtk2 theme/font/icons output]:on/off:(on off)"
|
|
--gtk3"[Enable/Disable gtk3 theme/font/icons output]:on/off:(on off)"
|
|
--shell_path"[Enable/Disable showing $SHELL path]:on/off:(on off)"
|
|
--shell_version"[Enable/Disable showing $SHELL version]:on/off:(on off)"
|
|
--disk_show"[Which disks to display]:value:('/' '/dev/sdXX' '/path/to/mount point')"
|
|
--disk_subtitle"[What information to append to the Disk subtitle]:type:(name mount dir none)"
|
|
--disk_percent"[Hide/Show disk percent]:on/off:(on off)"
|
|
--ip_host"[URL to query for public IP]:url:_urls"
|
|
--ip_timeout"[Public IP timeout (in seconds)]:int"
|
|
--song_format"[Print the song data in a specific format]:format:(%artist% %album% %title%)"
|
|
--song_shorthand"[Print the Artist/Album/Title on separate lines]:on/off:(on off)"
|
|
--memory_percent"[Display memory percentage]:on/off:(on off)"
|
|
--memory_unit"[Memory output unit]:kib/mib/gib:(kib mib gib)"
|
|
--music_player"[Manually specify a player to use]:player-name"
|
|
--colors"[Changes the text colors]:title color:($colors):@ color:($colors):underline color:($colors):subtitle color:($colors):colon color:($colors):info color:($colors)"
|
|
--underline"[Enable/Disable the underline]:on/off:(on off)"
|
|
--underline_char"[Character to use when underlining title]:char"
|
|
--bold"[Enable/Disable bold text]:on/off:(on off)"
|
|
--separator"[Changes the default ':' separator to the specified string]:string"
|
|
--color_blocks"[Enable/Disable the color blocks]:on/off:(on off)"
|
|
--col_offset"[Left-padding of color blocks]:auto/num"
|
|
--block_width"[Width of color blocks in spaces]:num"
|
|
--block_height"[Height of color blocks in lines]:num"
|
|
--block_range"[Range of colors to print as blocks]:num::num"
|
|
--bar_char"[Characters to use when drawing bars]:elapsed char::total char"
|
|
--bar_border"[Whether or not to surround the bar with '\\[\\]']:on/off:(on off)"
|
|
--bar_length"[Length in spaces to make the bars]:num"
|
|
--bar_colors"[Colors to make the bar in elapsed, total]:num::num"
|
|
--cpu_display"[Bar mode]:mode:(bar infobar barinfo off)"
|
|
--memory_display"[Bar mode]:mode:(bar infobar barinfo off)"
|
|
--battery_display"[Bar mode]:mode:(bar infobar barinfo off)"
|
|
--disk_display"[Bar mode]:mode:(bar infobar barinfo off)"
|
|
--backend"[Which image backend to use]:backend:(ascii caca chafa jp2a iterm2 off sixel tycat w3m kitty)"
|
|
--source"[Which image or ascii file to use]:source:_neofetch_sources"
|
|
--ascii"[Shortcut to use 'ascii' backend]:source:_neofetch_sources"
|
|
--caca"[Shortcut to use 'caca' backend]:source:_neofetch_sources"
|
|
--chafa"[Shortcut to use 'chafa' backend]:source:_neofetch_sources"
|
|
--iterm2"[Shortcut to use 'iterm2' backend]:source:_neofetch_sources"
|
|
--jp2a"[Shortcut to use 'jp2a' backend]:source:_neofetch_sources"
|
|
--kitty"[Shortcut to use 'kitty' backend]:source:_neofetch_sources"
|
|
--pot"[Shortcut to use 'pot' backend]:source:_neofetch_sources"
|
|
--pixterm"[Shortcut to use 'pixterm' backend]:source:_neofetch_sources"
|
|
--sixel"[Shortcut to use 'sixel' backend]:source:_neofetch_sources"
|
|
--termpix"[Shortcut to use 'termpix' backend]:source:_neofetch_sources"
|
|
--tycat"[Shortcut to use 'tycat' backend]:source:_neofetch_sources"
|
|
--w3m"[Shortcut to use 'w3m' backend]:source:_neofetch_sources"
|
|
--off"[Shortcut to use off backend (Disable ascii art)]"
|
|
--ascii_colors"[Colors to print the ascii art]:title color:($colors):@ color:($colors):underline color:($colors):subtitle color:($colors):colon color:($colors):info color:($colors)"
|
|
--ascii_distro"[Which Distro's ascii art to print]:distro:($distros)"
|
|
--ascii_bold"[Whether or not to bold the ascii logo]:on/off:(on off)"
|
|
{-L,--logo}"[Hide the info text and only show the ascii logo]"
|
|
--loop"[Redraw the image constantly until Ctrl+C is used]"
|
|
--size"[How to size the image]:00px or 00%:(auto none)"
|
|
--crop_mode"[Which crop mode to use]:mode:(normal fit fill)"
|
|
--crop_offset"[Change the crop offset for normal mode]:value:(northwest north northeast west center east southwest south southeast)"
|
|
--xoffset"[How close the image will be to the left edge of the]:px"
|
|
--yoffset"[How close the image will be to the top edge of the]:px"
|
|
--bg_color"[Background color to display behind transparent image]:color:($colors)"
|
|
--gap"[Gap between image and text]:num"
|
|
--clean"[Delete cached files and thumbnails]"
|
|
--config"[Specify a path to a custom config file]:files or none:_neofetch_files_none"
|
|
--no_config"[Don't create the user config file]"
|
|
'(- : *)'--print_config"[Print the default config file to stdout]"
|
|
--stdout"[Turn off all colors and disables any ASCII/image backend]"
|
|
'(- : *)'--help"[Print this text and exit]"
|
|
'(- : *)'--version"[Show neofetch version]"
|
|
-v"[Display error messages]"
|
|
-vv"[Display a verbose log for error reporting]"
|
|
'(- : *)'--gen-man"[Generate a manpage for Neofetch in your PWD]"
|
|
)
|
|
|
|
_arguments $options "*::func_name:($func_names)"
|