Added custom zsh prompt

This commit is contained in:
2021-12-12 14:38:24 -05:00
parent e282a1c4d1
commit e80374ac96
6 changed files with 378 additions and 263 deletions

View File

@@ -1,4 +1,4 @@
#files: 1080 version: 5.8
#files: 1077 version: 5.8
_comps=(
'-' '_precommand'
@@ -492,6 +492,7 @@ _comps=(
'fc' '_fc'
'fc-list' '_xft_fonts'
'fc-match' '_xft_fonts'
'fd' '_fd'
'feh' '_feh'
'fetch' '_fetch'
'fetchmail' '_fetchmail'
@@ -1327,6 +1328,7 @@ _comps=(
'restart' '_initctl'
'retawq' '_webbrowser'
'rfkill' '_rfkill'
'rg' '_rg'
'rgview' '_vim'
'rgvim' '_vim'
'ri' '_ri'
@@ -1984,192 +1986,193 @@ autoload -Uz _afew _android _archlinux-java _artisan _atach \
_udisksctl _ufw _vagrant _virtualbox _vnstat \
_wemux _wg-quick _xinput _xsel _yaourt \
_yarn _zcash-cli _zinit _brew _brew_services \
_packer _SUSEconfig _a2ps _a2utils _aap \
_abcde _absolute_command_paths _ack _acpi _acpitool \
_acroread _adb _add-zle-hook-widget _add-zsh-hook _alias \
_aliases _all_labels _all_matches _alsa-utils _alternative \
_analyseplugin _ansible _ant _antiword _apachectl \
_apm _approximate _apt _apt-file _apt-move \
_apt-show-versions _aptitude _arch_archives _arch_namespace _arg_compile \
_arguments _arp _arping _arrays _asciidoctor \
_asciinema _assign _at _attr _augeas \
_auto-apt _autocd _avahi _awk _axi-cache \
_base64 _basename _bash _bash_completions _baudrates \
_baz _be_name _beadm _beep _bibtex \
_bind_addresses _bindkey _bison _bittorrent _bogofilter \
_bpf_filters _bpython _brace_parameter _brctl _bsd_disks \
_bsd_pkg _bsdconfig _bsdinstall _btrfs _bts \
_bug _builtin _bzip2 _bzr _cabal \
_cache_invalid _caffeinate _cal _calendar _call_function \
_canonical_paths _cat _ccal _cd _cdbs-edit-patch \
_cdcd _cdr _cdrdao _cdrecord _chattr \
_chcon _chflags _chkconfig _chmod _chown \
_chroot _chrt _chsh _cksum _clay \
_cmdambivalent _cmdstring _cmp _code _column \
_combination _comm _command _command_names _comp_locale \
_compadd _compdef _complete _complete_debug _complete_help \
_complete_help_generic _complete_tag _completers _composer _compress \
_condition _configure _coreadm _correct _correct_filename \
_correct_word _cowsay _cp _cpio _cplay \
_cpupower _crontab _cryptsetup _cscope _cssh \
_csup _ctags_tags _cu _curl _cut \
_cvs _cvsup _cygcheck _cygpath _cygrunsrv \
_cygserver _cygstart _dak _darcs _date \
_date_formats _dates _dbus _dchroot _dchroot-dsa \
_dconf _dcop _dcut _dd _deb_architectures \
_deb_codenames _deb_files _deb_packages _debbugs_bugnumber _debchange \
_debcheckout _debdiff _debfoster _deborphan _debsign \
_debuild _default _defaults _delimiters _describe \
_description _devtodo _df _dhclient _dhcpinfo \
_dict _dict_words _diff _diff3 _diff_options \
_diffstat _dig _dir_list _directories _directory_stack \
_dirs _disable _dispatch _django _dkms \
_dladm _dlocate _dmesg _dmidecode _dnf \
_dns_types _doas _domains _dos2unix _dpatch-edit-patch \
_dpkg _dpkg-buildpackage _dpkg-cross _dpkg-repack _dpkg_source \
_dput _drill _dsh _dtrace _dtruss \
_du _dumpadm _dumper _dupload _dvi \
_dynamic_directory_name _e2label _ecasound _echotc _echoti \
_ed _elfdump _elinks _email_addresses _emulate \
_enable _enscript _entr _env _eog \
_equal _espeak _etags _ethtool _evince \
_exec _expand _expand_alias _expand_word _extensions \
_external_pwds _fakeroot _fbsd_architectures _fbsd_device_types _fc \
_feh _fetch _fetchmail _ffmpeg _figlet \
_file_descriptors _file_flags _file_modes _file_systems _files \
_find _find_net_interfaces _findmnt _finger _fink \
_first _flac _flex _floppy _flowadm \
_fmadm _fmt _fold _fortune _free \
_freebsd-update _fs_usage _fsh _fstat _functions \
_fuse_arguments _fuse_values _fuser _fusermount _fw_update \
_gcc _gcore _gdb _geany _gem \
_generic _genisoimage _getclip _getconf _getent \
_getfacl _getmail _getopt _ghostscript _git \
_git-buildpackage _global _global_tags _globflags _globqual_delims \
_globquals _gnome-gv _gnu_generic _gnupod _gnutls \
_go _gpasswd _gpg _gphoto2 _gprof \
_gqview _gradle _graphicsmagick _grep _grep-excuses \
_groff _groups _growisofs _gsettings _gstat \
_guard _guilt _gv _gzip _hash \
_have_glob_qual _hdiutil _head _hexdump _history \
_history_complete_word _history_modifiers _host _hostname _hosts \
_htop _hwinfo _iconv _iconvconfig _id \
_ifconfig _iftop _ignored _imagemagick _in_vared \
_inetadm _init_d _initctl _install _invoke-rc.d \
_ionice _iostat _ip _ipadm _ipsec \
_ipset _iptables _irssi _ispell _iwconfig \
_jail _jails _java _java_class _jexec \
_jls _jobs _jobs_bg _jobs_builtin _jobs_fg \
_joe _join _jot _jq _kdeconnect \
_kfmclient _kill _killall _kld _knock \
_kpartx _kvno _last _ld_debug _ldap \
_ldconfig _ldd _less _lha _libvirt \
_lighttpd _limit _limits _links _lintian \
_list _list_files _lldb _ln _loadkeys \
_locale _localedef _locales _locate _logical_volumes \
_look _losetup _lp _ls _lsattr \
_lsblk _lscfg _lsdev _lslv _lsof \
_lspv _lsusb _lsvg _ltrace _lua \
_luarocks _lynx _lz4 _lzop _mac_applications \
_mac_files_for_application _madison _mail _mailboxes _main_complete \
_make _make-kpkg _man _match _math \
_math_params _matlab _md5sum _mdadm _mdfind \
_mdls _mdutil _members _mencal _menu \
_mere _mergechanges _message _mh _mii-tool \
_mime_types _mixerctl _mkdir _mkfifo _mknod \
_mkshortcut _mktemp _mkzsh _module _module-assistant \
_module_math_func _modutils _mondo _monotone _moosic \
_mosh _most_recent_file _mount _mozilla _mpc \
_mplayer _mt _mtools _mtr _multi_parts \
_mupdf _mutt _mv _my_accounts _myrepos \
_mysql_utils _mysqldiff _nautilus _nbsd_architectures _ncftp \
_nedit _net_interfaces _netcat _netscape _netstat \
_networkmanager _networksetup _newsgroups _next_label _next_tags \
_nginx _ngrep _nice _nkf _nl \
_nm _nmap _normal _nothing _npm \
_nslookup _numfmt _nvram _objdump _object_classes \
_object_files _obsd_architectures _od _okular _oldlist \
_open _openstack _opkg _options _options_set \
_options_unset _osascript _osc _other_accounts _otool \
_pack _pandoc _parameter _parameters _paste \
_patch _patchutils _path_commands _path_files _pax \
_pbcopy _pbm _pbuilder _pdf _pdftk \
_perforce _perl _perl_basepods _perl_modules _perldoc \
_pfctl _pfexec _pgrep _php _physical_volumes \
_pick_variant _picocom _pidof _pids _pine \
_ping _piuparts _pkg-config _pkg5 _pkg_instance \
_pkgadd _pkgin _pkginfo _pkgrm _pkgtool \
_plutil _pmap _pon _portaudit _portlint \
_portmaster _ports _portsnap _postfix _postgresql \
_postscript _powerd _precommand _prefix _print \
_printenv _printers _process_names _procstat _prompt \
_prove _prstat _ps _ps1234 _pscp \
_pspdf _psutils _ptree _pump _putclip \
_pv _pwgen _pydoc _python _python_modules \
_qdbus _qemu _qiv _qtplay _quilt \
_rake _ranlib _rar _rcctl _rclone \
_rcs _rdesktop _read _read_comp _readelf \
_readlink _readshortcut _rebootin _redirect _regex_arguments \
_regex_words _remote_files _renice _reprepro _requested \
_retrieve_cache _retrieve_mac_apps _ri _rlogin _rm \
_rmdir _route _rpm _rrdtool _rsync \
_rubber _ruby _run-help _runit _samba \
_savecore _say _sbuild _sc_usage _sccs \
_sched _schedtool _schroot _scl _scons \
_screen _script _scselect _scutil _seafile \
_sed _selinux_contexts _selinux_roles _selinux_types _selinux_users \
_sep_parts _seq _sequence _service _services \
_set _set_command _setfacl _setopt _setsid \
_setup _setxkbmap _sh _shasum _showmount \
_shred _shuf _shutdown _signals _signify \
_sisu _slabtop _slrn _smartmontools _smit \
_snoop _socket _sockstat _softwareupdate _sort \
_source _spamassassin _split _sqlite _sqsh \
_ss _ssh _ssh_hosts _sshfs _stat \
_stdbuf _stgit _store_cache _stow _strace \
_strftime _strings _strip _stty _su \
_sub_commands _sublimetext _subscript _subversion _sudo \
_suffix_alias_files _surfraw _svcadm _svccfg _svcprop \
_svcs _svcs_fmri _svn-buildpackage _sw_vers _swaks \
_swanctl _swift _sys_calls _sysctl _sysrc \
_sysstat _systat _system_profiler _tac _tags \
_tail _tar _tar_archive _tardy _tcpdump \
_tcpsys _tcptraceroute _tee _telnet _terminals \
_tex _texi _texinfo _tidy _tiff \
_tilde _tilde_files _time_zone _timeout _tin \
_tla _tload _tmux _todo.sh _toilet \
_toolchain-source _top _topgit _totd _touch \
_tpb _tput _tr _tracepath _transmission \
_trap _trash _tree _truss _tty \
_ttyctl _ttys _tune2fs _twidge _twisted \
_typeset _ulimit _uml _umountable _unace \
_uname _unexpand _unhash _uniq _unison \
_units _update-alternatives _update-rc.d _uptime _urls \
_urpmi _urxvt _uscan _user_admin _user_at_host \
_user_expand _user_math_func _users _users_on _valgrind \
_value _values _vared _vars _vcsh \
_vim _vim-addons _visudo _vmctl _vmstat \
_vnc _volume_groups _vorbis _vpnc _vserver \
_w _w3m _wait _wajig _wakeup_capable_devices \
_wanna-build _wanted _watch _watch-snoop _wc \
_webbrowser _wget _whereis _which _who \
_whois _widgets _wiggle _wipefs _wpa_cli \
_x_arguments _x_borderwidth _x_color _x_colormapid _x_cursor \
_x_display _x_extension _x_font _x_geometry _x_keysym \
_x_locale _x_modifier _x_name _x_resource _x_selection_timeout \
_x_title _x_utils _x_visual _x_window _xargs \
_xauth _xautolock _xclip _xcode-select _xdvi \
_xfig _xft_fonts _xloadimage _xmlsoft _xmlstarlet \
_xmms2 _xmodmap _xournal _xpdf _xrandr \
_xscreensaver _xset _xt_arguments _xt_session_id _xterm \
_xv _xwit _xxd _xz _yafc \
_yast _yodl _yp _yum _zargs \
_zattr _zcalc _zcalc_line _zcat _zcompile \
_zdump _zeal _zed _zfs _zfs_dataset \
_zfs_keysource_props _zfs_pool _zftp _zip _zle \
_zlogin _zmodload _zmv _zoneadm _zones \
_zparseopts _zpool _zpty _zsh _zsh-mime-handler \
_zsocket _zstyle _ztodo _zypper
_fd _git _packer _rg _SUSEconfig \
_a2ps _a2utils _aap _abcde _absolute_command_paths \
_ack _acpi _acpitool _acroread _adb \
_add-zle-hook-widget _add-zsh-hook _alias _aliases _all_labels \
_all_matches _alsa-utils _alternative _analyseplugin _ansible \
_ant _antiword _apachectl _apm _approximate \
_apt _apt-file _apt-move _apt-show-versions _aptitude \
_arch_archives _arch_namespace _arg_compile _arguments _arp \
_arping _arrays _asciidoctor _asciinema _assign \
_at _attr _augeas _auto-apt _autocd \
_avahi _awk _axi-cache _base64 _basename \
_bash _bash_completions _baudrates _baz _be_name \
_beadm _beep _bibtex _bind_addresses _bindkey \
_bison _bittorrent _bogofilter _bpf_filters _bpython \
_brace_parameter _brctl _bsd_disks _bsd_pkg _bsdconfig \
_bsdinstall _btrfs _bts _bug _builtin \
_bzip2 _bzr _cabal _cache_invalid _caffeinate \
_cal _calendar _call_function _canonical_paths _cat \
_ccal _cd _cdbs-edit-patch _cdcd _cdr \
_cdrdao _cdrecord _chattr _chcon _chflags \
_chkconfig _chmod _chown _chroot _chrt \
_chsh _cksum _clay _cmdambivalent _cmdstring \
_cmp _code _column _combination _comm \
_command _command_names _comp_locale _compadd _compdef \
_complete _complete_debug _complete_help _complete_help_generic _complete_tag \
_completers _composer _compress _condition _configure \
_coreadm _correct _correct_filename _correct_word _cowsay \
_cp _cpio _cplay _cpupower _crontab \
_cryptsetup _cscope _cssh _csup _ctags_tags \
_cu _curl _cut _cvs _cvsup \
_cygcheck _cygpath _cygrunsrv _cygserver _cygstart \
_dak _darcs _date _date_formats _dates \
_dbus _dchroot _dchroot-dsa _dconf _dcop \
_dcut _dd _deb_architectures _deb_codenames _deb_files \
_deb_packages _debbugs_bugnumber _debchange _debcheckout _debdiff \
_debfoster _deborphan _debsign _debuild _default \
_defaults _delimiters _describe _description _devtodo \
_df _dhclient _dhcpinfo _dict _dict_words \
_diff _diff3 _diff_options _diffstat _dig \
_dir_list _directories _directory_stack _dirs _disable \
_dispatch _django _dkms _dladm _dlocate \
_dmesg _dmidecode _dnf _dns_types _doas \
_domains _dos2unix _dpatch-edit-patch _dpkg _dpkg-buildpackage \
_dpkg-cross _dpkg-repack _dpkg_source _dput _drill \
_dsh _dtrace _dtruss _du _dumpadm \
_dumper _dupload _dvi _dynamic_directory_name _e2label \
_ecasound _echotc _echoti _ed _elfdump \
_elinks _email_addresses _emulate _enable _enscript \
_entr _env _eog _equal _espeak \
_etags _ethtool _evince _exec _expand \
_expand_alias _expand_word _extensions _external_pwds _fakeroot \
_fbsd_architectures _fbsd_device_types _fc _feh _fetch \
_fetchmail _ffmpeg _figlet _file_descriptors _file_flags \
_file_modes _file_systems _files _find _find_net_interfaces \
_findmnt _finger _fink _first _flac \
_flex _floppy _flowadm _fmadm _fmt \
_fold _fortune _free _freebsd-update _fs_usage \
_fsh _fstat _functions _fuse_arguments _fuse_values \
_fuser _fusermount _fw_update _gcc _gcore \
_gdb _geany _gem _generic _genisoimage \
_getclip _getconf _getent _getfacl _getmail \
_getopt _ghostscript _git _git-buildpackage _global \
_global_tags _globflags _globqual_delims _globquals _gnome-gv \
_gnu_generic _gnupod _gnutls _go _gpasswd \
_gpg _gphoto2 _gprof _gqview _gradle \
_graphicsmagick _grep _grep-excuses _groff _groups \
_growisofs _gsettings _gstat _guard _guilt \
_gv _gzip _hash _have_glob_qual _hdiutil \
_head _hexdump _history _history_complete_word _history_modifiers \
_host _hostname _hosts _htop _hwinfo \
_iconv _iconvconfig _id _ifconfig _iftop \
_ignored _imagemagick _in_vared _inetadm _init_d \
_initctl _install _invoke-rc.d _ionice _iostat \
_ip _ipadm _ipsec _ipset _iptables \
_irssi _ispell _iwconfig _jail _jails \
_java _java_class _jexec _jls _jobs \
_jobs_bg _jobs_builtin _jobs_fg _joe _join \
_jot _jq _kdeconnect _kfmclient _kill \
_killall _kld _knock _kpartx _kvno \
_last _ld_debug _ldap _ldconfig _ldd \
_less _lha _libvirt _lighttpd _limit \
_limits _links _lintian _list _list_files \
_lldb _ln _loadkeys _locale _localedef \
_locales _locate _logical_volumes _look _losetup \
_lp _ls _lsattr _lsblk _lscfg \
_lsdev _lslv _lsof _lspv _lsusb \
_lsvg _ltrace _lua _luarocks _lynx \
_lz4 _lzop _mac_applications _mac_files_for_application _madison \
_mail _mailboxes _main_complete _make _make-kpkg \
_man _match _math _math_params _matlab \
_md5sum _mdadm _mdfind _mdls _mdutil \
_members _mencal _menu _mere _mergechanges \
_message _mh _mii-tool _mime_types _mixerctl \
_mkdir _mkfifo _mknod _mkshortcut _mktemp \
_mkzsh _module _module-assistant _module_math_func _modutils \
_mondo _monotone _moosic _mosh _most_recent_file \
_mount _mozilla _mpc _mplayer _mt \
_mtools _mtr _multi_parts _mupdf _mutt \
_mv _my_accounts _myrepos _mysql_utils _mysqldiff \
_nautilus _nbsd_architectures _ncftp _nedit _net_interfaces \
_netcat _netscape _netstat _networkmanager _networksetup \
_newsgroups _next_label _next_tags _nginx _ngrep \
_nice _nkf _nl _nm _nmap \
_normal _nothing _npm _nslookup _numfmt \
_nvram _objdump _object_classes _object_files _obsd_architectures \
_od _okular _oldlist _open _openstack \
_opkg _options _options_set _options_unset _osascript \
_osc _other_accounts _otool _pack _pandoc \
_parameter _parameters _paste _patch _patchutils \
_path_commands _path_files _pax _pbcopy _pbm \
_pbuilder _pdf _pdftk _perforce _perl \
_perl_basepods _perl_modules _perldoc _pfctl _pfexec \
_pgrep _php _physical_volumes _pick_variant _picocom \
_pidof _pids _pine _ping _piuparts \
_pkg-config _pkg5 _pkg_instance _pkgadd _pkgin \
_pkginfo _pkgrm _pkgtool _plutil _pmap \
_pon _portaudit _portlint _portmaster _ports \
_portsnap _postfix _postgresql _postscript _powerd \
_precommand _prefix _print _printenv _printers \
_process_names _procstat _prompt _prove _prstat \
_ps _ps1234 _pscp _pspdf _psutils \
_ptree _pump _putclip _pv _pwgen \
_pydoc _python _python_modules _qdbus _qemu \
_qiv _qtplay _quilt _rake _ranlib \
_rar _rcctl _rclone _rcs _rdesktop \
_read _read_comp _readelf _readlink _readshortcut \
_rebootin _redirect _regex_arguments _regex_words _remote_files \
_renice _reprepro _requested _retrieve_cache _retrieve_mac_apps \
_ri _rlogin _rm _rmdir _route \
_rpm _rrdtool _rsync _rubber _ruby \
_run-help _runit _samba _savecore _say \
_sbuild _sc_usage _sccs _sched _schedtool \
_schroot _scl _scons _screen _script \
_scselect _scutil _seafile _sed _selinux_contexts \
_selinux_roles _selinux_types _selinux_users _sep_parts _seq \
_sequence _service _services _set _set_command \
_setfacl _setopt _setsid _setup _setxkbmap \
_sh _shasum _showmount _shred _shuf \
_shutdown _signals _signify _sisu _slabtop \
_slrn _smartmontools _smit _snoop _socket \
_sockstat _softwareupdate _sort _source _spamassassin \
_split _sqlite _sqsh _ss _ssh \
_ssh_hosts _sshfs _stat _stdbuf _stgit \
_store_cache _stow _strace _strftime _strings \
_strip _stty _su _sub_commands _sublimetext \
_subscript _subversion _sudo _suffix_alias_files _surfraw \
_svcadm _svccfg _svcprop _svcs _svcs_fmri \
_svn-buildpackage _sw_vers _swaks _swanctl _swift \
_sys_calls _sysctl _sysrc _sysstat _systat \
_system_profiler _tac _tags _tail _tar \
_tar_archive _tardy _tcpdump _tcpsys _tcptraceroute \
_tee _telnet _terminals _tex _texi \
_texinfo _tidy _tiff _tilde _tilde_files \
_time_zone _timeout _tin _tla _tload \
_tmux _todo.sh _toilet _toolchain-source _top \
_topgit _totd _touch _tpb _tput \
_tr _tracepath _transmission _trap _trash \
_tree _truss _tty _ttyctl _ttys \
_tune2fs _twidge _twisted _typeset _ulimit \
_uml _umountable _unace _uname _unexpand \
_unhash _uniq _unison _units _update-alternatives \
_update-rc.d _uptime _urls _urpmi _urxvt \
_uscan _user_admin _user_at_host _user_expand _user_math_func \
_users _users_on _valgrind _value _values \
_vared _vars _vcsh _vim _vim-addons \
_visudo _vmctl _vmstat _vnc _volume_groups \
_vorbis _vpnc _vserver _w _w3m \
_wait _wajig _wakeup_capable_devices _wanna-build _wanted \
_watch _watch-snoop _wc _webbrowser _wget \
_whereis _which _who _whois _widgets \
_wiggle _wipefs _wpa_cli _x_arguments _x_borderwidth \
_x_color _x_colormapid _x_cursor _x_display _x_extension \
_x_font _x_geometry _x_keysym _x_locale _x_modifier \
_x_name _x_resource _x_selection_timeout _x_title _x_utils \
_x_visual _x_window _xargs _xauth _xautolock \
_xclip _xcode-select _xdvi _xfig _xft_fonts \
_xloadimage _xmlsoft _xmlstarlet _xmms2 _xmodmap \
_xournal _xpdf _xrandr _xscreensaver _xset \
_xt_arguments _xt_session_id _xterm _xv _xwit \
_xxd _xz _yafc _yast _yodl \
_yp _yum _zargs _zattr _zcalc \
_zcalc_line _zcat _zcompile _zdump _zeal \
_zed _zfs _zfs_dataset _zfs_keysource_props _zfs_pool \
_zftp _zip _zle _zlogin _zmodload \
_zmv _zoneadm _zones _zparseopts _zpool \
_zpty _zsh _zsh-mime-handler _zsocket _zstyle \
_ztodo _zypper
autoload -Uz +X _call_program
typeset -gUa _comp_assocs

View File

@@ -12,11 +12,30 @@ setopt incappendhistory
# Allow useful scripts in ~/.bin to be in the search path.
export PATH=~/.bin:$PATH
autoload -Uz compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
# compinit
_comp_options+=(globdots) # Include hidden files.
autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
# Colors
autoload -Uz colors && colors
# Load Useful Functions
source "$ZDOTDIR/zsh-functions"
zsh_add_file "zsh-aliases"
zsh_add_file "zsh-zinit"
zsh_add_file "zsh-prompt"
#zsh_add_file "zsh-zinit"
# Plugins
zsh_add_plugin "zsh-users/zsh-autosuggestions"
zsh_add_plugin "zsh-users/zsh-syntax-highlighting"
export EDITOR="nvim"

View File

@@ -2,3 +2,30 @@
function zsh_add_file() {
[ -f "$ZDOTDIR/$1" ] && source "$ZDOTDIR/$1"
}
function zsh_add_plugin() {
PLUGIN_NAME=$(echo $1 | cut -d "/" -f 2)
if [ -d "$ZDOTDIR/plugins/$PLUGIN_NAME" ]; then
# For plugins
zsh_add_file "plugins/$PLUGIN_NAME/$PLUGIN_NAME.plugin.zsh" || \
zsh_add_file "plugins/$PLUGIN_NAME/$PLUGIN_NAME.zsh"
else
git clone "https://github.com/$1.git" "$ZDOTDIR/plugins/$PLUGIN_NAME"
fi
}
function zsh_add_completion() {
PLUGIN_NAME=$(echo $1 | cut -d "/" -f 2)
if [ -d "$ZDOTDIR/plugins/$PLUGIN_NAME" ]; then
# For completions
completion_file_path=$(ls $ZDOTDIR/plugins/$PLUGIN_NAME/_*)
fpath+="$(dirname "${completion_file_path}")"
zsh_add_file "plugins/$PLUGIN_NAME/$PLUGIN_NAME.plugin.zsh"
else
git clone "https://github.com/$1.git" "$ZDOTDIR/plugins/$PLUGIN_NAME"
fpath+=$(ls $ZDOTDIR/plugins/$PLUGIN_NAME/_*)
[ -f $ZDOTDIR/.zccompdump ] && $ZDOTDIR/.zccompdump
fi
completion_file="$(basename "${completion_file_path}")"
if [ "$2" = true ] && compinit "${completion_file:1}"
}

View File

@@ -0,0 +1,42 @@
#!/bin/sh
## autoload vcs and colors
autoload -Uz vcs_info
autoload -U colors && colors
# enable only git
zstyle ':vcs_info:*' enable git
# setup a hook that runs before every ptompt.
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
# add a function to check for untracked files in the directory.
# from https://github.com/zsh-users/zsh/blob/master/Misc/vcs_info-examples
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
#
+vi-git-untracked(){
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
git status --porcelain | grep '??' &> /dev/null ; then
# This will show the marker if there are any untracked files in repo.
# If instead you want to show the marker only if there are untracked
# files in $PWD, use:
#[[ -n $(git ls-files --others --exclude-standard) ]] ; then
hook_com[staged]+='!' # signify new files with a bang
fi
}
zstyle ':vcs_info:*' check-for-changes true
# zstyle ':vcs_info:git:*' formats " %r/%S %b %m%u%c "
zstyle ':vcs_info:git:*' formats " %{$fg[blue]%}(%{$fg[red]%}%m%u%c%{$fg[yellow]%}%{$fg[magenta]%} %b%{$fg[blue]%})"
# format our main prompt for hostname current folder, and permissions.
PROMPT="%B%{$fg[blue]%}[%{$fg[white]%}%n%{$fg[red]%}@%{$fg[white]%}%m%{$fg[blue]%}] %(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )%{$fg[cyan]%}%c%{$reset_color%}"
# PROMPT="%{$fg[green]%}%n@%m %~ %{$reset_color%}%#> "
PROMPT+="\$vcs_info_msg_0_ "
PROMPT+=$'\n > '
RPROMPT="%{$fg[blue]%}%w%k %T%{$reset_color%}"
# TODO look into this for more colors
# https://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/
# also ascii escape codes