559 changed files with 5 additions and 47230 deletions
@ -0,0 +1,5 @@ |
|||||||
|
version: '3' |
||||||
|
services: |
||||||
|
oh-my-terminal: |
||||||
|
image: oh-my-terminal:dev |
||||||
|
build: . |
@ -1,8 +0,0 @@ |
|||||||
# adb autocomplete plugin |
|
||||||
|
|
||||||
* Adds autocomplete options for all adb commands. |
|
||||||
* Add autocomplete for `adb -s` |
|
||||||
|
|
||||||
## Requirements |
|
||||||
|
|
||||||
In order to make this work, you will need to have the Android adb tools set up in your path. |
|
@ -1,67 +0,0 @@ |
|||||||
#compdef adb |
|
||||||
#autoload |
|
||||||
|
|
||||||
# in order to make this work, you will need to have the android adb tools |
|
||||||
|
|
||||||
# adb zsh completion, based on homebrew completion |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
'bugreport:return all information from the device that should be included in a bug report.' |
|
||||||
'connect:connect to a device via TCP/IP Port 5555 is default.' |
|
||||||
'devices:list all connected devices' |
|
||||||
'disconnect:disconnect from a TCP/IP device. Port 5555 is default.' |
|
||||||
'emu:run emulator console command' |
|
||||||
'forward:forward socket connections' |
|
||||||
'get-devpath:print the device path' |
|
||||||
'get-serialno:print the serial number of the device' |
|
||||||
'get-state:print the current state of the device: offline | bootloader | device' |
|
||||||
'help:show the help message' |
|
||||||
'install:push this package file to the device and install it' |
|
||||||
'jdwp:list PIDs of processes hosting a JDWP transport' |
|
||||||
'keygen:generate adb public/private key' |
|
||||||
'kill-server:kill the server if it is running' |
|
||||||
'logcat:view device log' |
|
||||||
'pull:copy file/dir from device' |
|
||||||
'push:copy file/dir to device' |
|
||||||
'reboot:reboots the device, optionally into the bootloader or recovery program' |
|
||||||
'reboot-bootloader:reboots the device into the bootloader' |
|
||||||
'remount:remounts the partitions on the device read-write' |
|
||||||
'root:restarts the adbd daemon with root permissions' |
|
||||||
'sideload:push a ZIP to device and install it' |
|
||||||
'shell:run remote shell interactively' |
|
||||||
'sync:copy host->device only if changed (-l means list but dont copy)' |
|
||||||
'start-server:ensure that there is a server running' |
|
||||||
'tcpip:restart host adb in tcpip mode' |
|
||||||
'uninstall:remove this app package from the device' |
|
||||||
'usb:restart the adbd daemon listing on USB' |
|
||||||
'version:show version num' |
|
||||||
'wait-for-device:block until device is online' |
|
||||||
) |
|
||||||
|
|
||||||
local expl |
|
||||||
local -a pkgs installed_pkgs |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'-s[devices]:specify device:->specify_device' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
case "$state" in |
|
||||||
specify_device) |
|
||||||
_values -C 'devices' ${$(adb devices -l|awk 'NR>1&& $1 \ |
|
||||||
{sub(/ +/," ",$0); \ |
|
||||||
gsub(":","\\:",$1); \ |
|
||||||
for(i=1;i<=NF;i++) { |
|
||||||
if($i ~ /model:/) { split($i,m,":") } \ |
|
||||||
else if($i ~ /product:/) { split($i,p,":") } } \ |
|
||||||
printf "%s[%s(%s)] ",$1, p[2], m[2]}'):-""} |
|
||||||
return |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "adb subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
_files |
|
@ -1,34 +0,0 @@ |
|||||||
# ansible plugin |
|
||||||
|
|
||||||
## Introduction |
|
||||||
|
|
||||||
The `ansible plugin` adds several aliases for useful [ansible](https://docs.ansible.com/ansible/latest/index.html) commands and [aliases](#aliases). |
|
||||||
|
|
||||||
To use it, add `ansible` to the plugins array of your zshrc file: |
|
||||||
|
|
||||||
``` |
|
||||||
plugins=(... ansible) |
|
||||||
``` |
|
||||||
|
|
||||||
## Aliases |
|
||||||
|
|
||||||
| Command | Description | |
|
||||||
|:-------------------------------------------|:--------------------------------------------------------------------| |
|
||||||
| `ansible-version` / `aver` | Show the version on ansible installed in this host | |
|
||||||
| `ansible-role-init <role name>` / `arinit` | Creates the Ansible Role as per Ansible Galaxy standard | |
|
||||||
| `a` | command `ansible` | |
|
||||||
| `aconf` | command `ansible-config` | |
|
||||||
| `acon` | command `ansible-console` | |
|
||||||
| `ainv` | command `ansible-inventory` | |
|
||||||
| `aplaybook` | command `ansible-playbook` | |
|
||||||
| `ainv` | command `ansible-inventory` | |
|
||||||
| `adoc` | command `ansible-doc` | |
|
||||||
| `agal` | command `ansible-galaxy` | |
|
||||||
| `apull` | command `ansible-pull` | |
|
||||||
| `aval` | command `ansible-vault` | |
|
||||||
|
|
||||||
## Maintainer |
|
||||||
|
|
||||||
### [Deepankumar](https://github.com/deepan10) |
|
||||||
|
|
||||||
[https://github.com/deepan10/oh-my-zsh/tree/features/ansible-plugin](https://github.com/deepan10/oh-my-zsh/tree/features/ansible-plugin) |
|
@ -1,28 +0,0 @@ |
|||||||
# Functions |
|
||||||
function ansible-version(){ |
|
||||||
ansible --version |
|
||||||
} |
|
||||||
|
|
||||||
function ansible-role-init(){ |
|
||||||
if ! [ -z $1] ; then |
|
||||||
echo "Ansible Role : $1 Creating...." |
|
||||||
ansible-galaxy init $1 |
|
||||||
tree $1 |
|
||||||
else |
|
||||||
echo "Usage : ansible-role-init <role name>" |
|
||||||
echo "Example : ansible-role-init role1" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
# Alias |
|
||||||
alias a='ansible ' |
|
||||||
alias aconf='ansible-config ' |
|
||||||
alias acon='ansible-console ' |
|
||||||
alias aver='ansible-version' |
|
||||||
alias arinit='ansible-role-init' |
|
||||||
alias aplaybook='ansible-playbook ' |
|
||||||
alias ainv='ansible-inventory ' |
|
||||||
alias adoc='ansible-doc ' |
|
||||||
alias agal='ansible-galaxy ' |
|
||||||
alias apull='ansible-pull ' |
|
||||||
alias aval='ansible-vault' |
|
@ -1,12 +0,0 @@ |
|||||||
# Ant |
|
||||||
|
|
||||||
This plugin provides completion for [Ant](https://ant.apache.org/). |
|
||||||
|
|
||||||
To use it add ant to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... ant) |
|
||||||
``` |
|
||||||
|
|
||||||
It caches ant targets in a file named `.ant_targets`, you might want to add that to |
|
||||||
your `.gitignore` file. |
|
@ -1,16 +0,0 @@ |
|||||||
_ant_does_target_list_need_generating () { |
|
||||||
[ ! -f .ant_targets ] && return 0; |
|
||||||
[ build.xml -nt .ant_targets ] && return 0; |
|
||||||
return 1; |
|
||||||
} |
|
||||||
|
|
||||||
_ant () { |
|
||||||
if [ -f build.xml ]; then |
|
||||||
if _ant_does_target_list_need_generating; then |
|
||||||
ant -p | awk -F " " 'NR > 5 { print lastTarget }{lastTarget = $1}' > .ant_targets |
|
||||||
fi |
|
||||||
compadd -- `cat .ant_targets` |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _ant ant |
|
@ -1,19 +0,0 @@ |
|||||||
## APACHE2 MACPORTS PLUGIN |
|
||||||
|
|
||||||
|
|
||||||
--- |
|
||||||
|
|
||||||
### FEATURES |
|
||||||
|
|
||||||
| Alias | Function | Description | |
|
||||||
|:--------------:|:-------------------------------------------------------------------------------|----------------------:| |
|
||||||
| apache2restart | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart | Restart apache daemon | |
|
||||||
| apache2start | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start | Start apache daemon | |
|
||||||
| apache2stop | sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop | Stop apache daemon | |
|
||||||
|
|
||||||
--- |
|
||||||
|
|
||||||
### CONTRIBUTORS |
|
||||||
- Alexander Rinass (alex@rinass.net) |
|
||||||
|
|
||||||
--- |
|
@ -1,6 +0,0 @@ |
|||||||
# commands to control local apache2 server installation |
|
||||||
# paths are for osx installation via macports |
|
||||||
|
|
||||||
alias apache2start='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start' |
|
||||||
alias apache2stop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop' |
|
||||||
alias apache2restart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart' |
|
@ -1,5 +0,0 @@ |
|||||||
## arcanist |
|
||||||
|
|
||||||
**Maintainer:** [@emzar](https://github.com/emzar) |
|
||||||
|
|
||||||
This plugin adds many useful aliases. |
|
@ -1,21 +0,0 @@ |
|||||||
# |
|
||||||
# Aliases |
|
||||||
# (sorted alphabetically) |
|
||||||
# |
|
||||||
|
|
||||||
alias ara='arc amend' |
|
||||||
alias arb='arc branch' |
|
||||||
alias arco='arc cover' |
|
||||||
alias arci='arc commit' |
|
||||||
|
|
||||||
alias ard='arc diff' |
|
||||||
alias ardnu='arc diff --nounit' |
|
||||||
alias ardnupc='arc diff --nounit --plan-changes' |
|
||||||
alias ardpc='arc diff --plan-changes' |
|
||||||
|
|
||||||
alias are='arc export' |
|
||||||
alias arh='arc help' |
|
||||||
alias arl='arc land' |
|
||||||
alias arli='arc lint' |
|
||||||
alias arls='arc list' |
|
||||||
alias arpa='arc patch' |
|
@ -1,146 +0,0 @@ |
|||||||
# Archlinux plugin |
|
||||||
|
|
||||||
## Features |
|
||||||
|
|
||||||
#### YAY |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|---------|------------------------------------|---------------------------------------------------------------------| |
|
||||||
| yaconf | yay -Pg | Print current configuration | |
|
||||||
| yain | yay -S | Install packages from the repositories | |
|
||||||
| yains | yay -U | Install a package from a local file | |
|
||||||
| yainsd | yay -S --asdeps | Install packages as dependencies of another package | |
|
||||||
| yaloc | yay -Qi | Display information about a package in the local database | |
|
||||||
| yalocs | yay -Qs | Search for packages in the local database | |
|
||||||
| yalst | yay -Qe | List installed packages including from AUR (tagged as "local") | |
|
||||||
| yamir | yay -Syy | Force refresh of all package lists after updating mirrorlist | |
|
||||||
| yaorph | yay -Qtd | Remove orphans using yaourt | |
|
||||||
| yare | yay -R | Remove packages, keeping its settings and dependencies | |
|
||||||
| yarem | yay -Rns | Remove packages, including its settings and unneeded dependencies | |
|
||||||
| yarep | yay -Si | Display information about a package in the repositories | |
|
||||||
| yareps | yay -Ss | Search for packages in the repositories | |
|
||||||
| yaupg | yay -Syu | Sync with repositories before upgrading packages | |
|
||||||
| yasu | yay -Syu --no-confirm | Same as `yaupg`, but without confirmation | |
|
||||||
|
|
||||||
#### TRIZEN |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|---------|------------------------------------|---------------------------------------------------------------------| |
|
||||||
| trconf | trizen -C | Fix all configuration files with vimdiff | |
|
||||||
| trin | trizen -S | Install packages from the repositories | |
|
||||||
| trins | trizen -U | Install a package from a local file | |
|
||||||
| trinsd | trizen -S --asdeps | Install packages as dependencies of another package | |
|
||||||
| trloc | trizen -Qi | Display information about a package in the local database | |
|
||||||
| trlocs | trizen -Qs | Search for packages in the local database | |
|
||||||
| trlst | trizen -Qe | List installed packages including from AUR (tagged as "local") | |
|
||||||
| trmir | trizen -Syy | Force refresh of all package lists after updating mirrorlist | |
|
||||||
| trorph | trizen -Qtd | Remove orphans using yaourt | |
|
||||||
| trre | trizen -R | Remove packages, keeping its settings and dependencies | |
|
||||||
| trrem | trizen -Rns | Remove packages, including its settings and unneeded dependencies | |
|
||||||
| trrep | trizen -Si | Display information about a package in the repositories | |
|
||||||
| trreps | trizen -Ss | Search for packages in the repositories | |
|
||||||
| trupd | trizen -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases | |
|
||||||
| trupd | trizen -Sy && sudo abs | Update and refresh the local package and ABS databases | |
|
||||||
| trupd | trizen -Sy && sudo aur | Update and refresh the local package and AUR databases | |
|
||||||
| trupd | trizen -Sy | Update and refresh the local package database | |
|
||||||
| trupg | trizen -Syua | Sync with repositories before upgrading all packages (from AUR too) | |
|
||||||
| trsu | trizen -Syua --no-confirm | Same as `trupg`, but without confirmation | |
|
||||||
| upgrade | trizen -Syu | Sync with repositories before upgrading packages | |
|
||||||
|
|
||||||
#### YAOURT |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|---------|------------------------------------|---------------------------------------------------------------------| |
|
||||||
| yaconf | yaourt -C | Fix all configuration files with vimdiff | |
|
||||||
| yain | yaourt -S | Install packages from the repositories | |
|
||||||
| yains | yaourt -U | Install a package from a local file | |
|
||||||
| yainsd | yaourt -S --asdeps | Install packages as dependencies of another package | |
|
||||||
| yaloc | yaourt -Qi | Display information about a package in the local database | |
|
||||||
| yalocs | yaourt -Qs | Search for packages in the local database | |
|
||||||
| yalst | yaourt -Qe | List installed packages including from AUR (tagged as "local") | |
|
||||||
| yamir | yaourt -Syy | Force refresh of all package lists after updating mirrorlist | |
|
||||||
| yaorph | yaourt -Qtd | Remove orphans using yaourt | |
|
||||||
| yare | yaourt -R | Remove packages, keeping its settings and dependencies | |
|
||||||
| yarem | yaourt -Rns | Remove packages, including its settings and unneeded dependencies | |
|
||||||
| yarep | yaourt -Si | Display information about a package in the repositories | |
|
||||||
| yareps | yaourt -Ss | Search for packages in the repositories | |
|
||||||
| yaupd | yaourt -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases | |
|
||||||
| yaupd | yaourt -Sy && sudo abs | Update and refresh the local package and ABS databases | |
|
||||||
| yaupd | yaourt -Sy && sudo aur | Update and refresh the local package and AUR databases | |
|
||||||
| yaupd | yaourt -Sy | Update and refresh the local package database | |
|
||||||
| yaupg | yaourt -Syua | Sync with repositories before upgrading all packages (from AUR too) | |
|
||||||
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation | |
|
||||||
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages | |
|
||||||
|
|
||||||
#### PACAUR |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|---------|------------------------------------|---------------------------------------------------------------------| |
|
||||||
| pain | pacaur -S | Install packages from the repositories | |
|
||||||
| pains | pacaur -U | Install a package from a local file | |
|
||||||
| painsd | pacaur -S --asdeps | Install packages as dependencies of another package | |
|
||||||
| paloc | pacaur -Qi | Display information about a package in the local database | |
|
||||||
| palocs | pacaur -Qs | Search for packages in the local database | |
|
||||||
| palst | pacaur -Qe | List installed packages including from AUR (tagged as "local") | |
|
||||||
| pamir | pacaur -Syy | Force refresh of all package lists after updating mirrorlist | |
|
||||||
| paorph | pacaur -Qtd | Remove orphans using pacaur | |
|
||||||
| pare | pacaur -R | Remove packages, keeping its settings and dependencies | |
|
||||||
| parem | pacaur -Rns | Remove packages, including its settings and unneeded dependencies | |
|
||||||
| parep | pacaur -Si | Display information about a package in the repositories | |
|
||||||
| pareps | pacaur -Ss | Search for packages in the repositories | |
|
||||||
| paupd | pacaur -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases | |
|
||||||
| paupd | pacaur -Sy && sudo abs | Update and refresh the local package and ABS databases | |
|
||||||
| paupd | pacaur -Sy && sudo aur | Update and refresh the local package and AUR databases | |
|
||||||
| paupd | pacaur -Sy | Update and refresh the local package database | |
|
||||||
| paupg | pacaur -Syua | Sync with repositories before upgrading all packages (from AUR too) | |
|
||||||
| pasu | pacaur -Syua --no-confirm | Same as `paupg`, but without confirmation | |
|
||||||
| upgrade | pacaur -Syu | Sync with repositories before upgrading packages | |
|
||||||
|
|
||||||
#### PACMAN |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|--------------|-----------------------------------------|--------------------------------------------------------------| |
|
||||||
| pacin | sudo pacman -S | Install packages from the repositories | |
|
||||||
| pacins | sudo pacman -U | Install a package from a local file | |
|
||||||
| pacinsd | sudo pacman -S --asdeps | Install packages as dependencies of another package | |
|
||||||
| pacloc | pacman -Qi | Display information about a package in the local database | |
|
||||||
| paclocs | pacman -Qs | Search for packages in the local database | |
|
||||||
| paclsorphans | sudo pacman -Qdt | List all orphaned packages | |
|
||||||
| pacmir | sudo pacman -Syy | Force refresh of all package lists after updating mirrorlist | |
|
||||||
| pacre | sudo pacman -R | Remove packages, keeping its settings and dependencies | |
|
||||||
| pacrem | sudo pacman -Rns | Remove packages, including its settings and dependencies | |
|
||||||
| pacrep | pacman -Si | Display information about a package in the repositories | |
|
||||||
| pacreps | pacman -Ss | Search for packages in the repositories | |
|
||||||
| pacrmorphans | sudo pacman -Rs $(pacman -Qtdq) | Delete all orphaned packages | |
|
||||||
| pacupd | sudo pacman -Sy && sudo abs && sudo aur | Update and refresh the local package, ABS and AUR databases | |
|
||||||
| pacupd | sudo pacman -Sy && sudo abs | Update and refresh the local package and ABS databases | |
|
||||||
| pacupd | sudo pacman -Sy && sudo aur | Update and refresh the local package and AUR databases | |
|
||||||
| pacupd | sudo pacman -Sy | Update and refresh the local package database | |
|
||||||
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages | |
|
||||||
| upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages | |
|
||||||
| pacfileupg | sudo pacman -Fy | Download fresh package databases from the server | |
|
||||||
| pacfiles | pacman -Fs | Search package file names for matching strings | |
|
||||||
| pacls | pacman -Ql | List files in a package | |
|
||||||
| pacown | pacman -Qo | Show which package owns a file | |
|
||||||
|
|
||||||
| Function | Description | |
|
||||||
|----------------|------------------------------------------------------| |
|
||||||
| pacdisowned | List all disowned files in your system | |
|
||||||
| paclist | List all installed packages with a short description | |
|
||||||
| pacmanallkeys | Get all keys for developers and trusted users | |
|
||||||
| pacmansignkeys | Locally trust all keys passed as parameters | |
|
||||||
| pacweb | Open the website of an ArchLinux package | |
|
||||||
|
|
||||||
--- |
|
||||||
|
|
||||||
## Contributors |
|
||||||
|
|
||||||
- Benjamin Boudreau - dreurmail@gmail.com |
|
||||||
- Celso Miranda - contacto@celsomiranda.net |
|
||||||
- KhasMek - Boushh@gmail.com |
|
||||||
- Martin Putniorz - mputniorz@gmail.com |
|
||||||
- MatthR3D - matthr3d@gmail.com |
|
||||||
- ornicar - thibault.duplessis@gmail.com |
|
||||||
- Juraj Fiala - doctorjellyface@riseup.net |
|
||||||
- Majora320 (Moses Miller) - Majora320@gmail.com |
|
||||||
- Ybalrid (Arthur Brainville) - ybalrid@ybalrid.info |
|
@ -1,219 +0,0 @@ |
|||||||
if (( $+commands[trizen] )); then |
|
||||||
alias trconf='trizen -C' |
|
||||||
alias trupg='trizen -Syua' |
|
||||||
alias trsu='trizen -Syua --noconfirm' |
|
||||||
alias trin='trizen -S' |
|
||||||
alias trins='trizen -U' |
|
||||||
alias trre='trizen -R' |
|
||||||
alias trrem='trizen -Rns' |
|
||||||
alias trrep='trizen -Si' |
|
||||||
alias trreps='trizen -Ss' |
|
||||||
alias trloc='trizen -Qi' |
|
||||||
alias trlocs='trizen -Qs' |
|
||||||
alias trlst='trizen -Qe' |
|
||||||
alias trorph='trizen -Qtd' |
|
||||||
alias trinsd='trizen -S --asdeps' |
|
||||||
alias trmir='trizen -Syy' |
|
||||||
|
|
||||||
|
|
||||||
if (( $+commands[abs] && $+commands[aur] )); then |
|
||||||
alias trupd='trizen -Sy && sudo abs && sudo aur' |
|
||||||
elif (( $+commands[abs] )); then |
|
||||||
alias trupd='trizen -Sy && sudo abs' |
|
||||||
elif (( $+commands[aur] )); then |
|
||||||
alias trupd='trizen -Sy && sudo aur' |
|
||||||
else |
|
||||||
alias trupd='trizen -Sy' |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[yaourt] )); then |
|
||||||
alias yaconf='yaourt -C' |
|
||||||
alias yaupg='yaourt -Syua' |
|
||||||
alias yasu='yaourt -Syua --noconfirm' |
|
||||||
alias yain='yaourt -S' |
|
||||||
alias yains='yaourt -U' |
|
||||||
alias yare='yaourt -R' |
|
||||||
alias yarem='yaourt -Rns' |
|
||||||
alias yarep='yaourt -Si' |
|
||||||
alias yareps='yaourt -Ss' |
|
||||||
alias yaloc='yaourt -Qi' |
|
||||||
alias yalocs='yaourt -Qs' |
|
||||||
alias yalst='yaourt -Qe' |
|
||||||
alias yaorph='yaourt -Qtd' |
|
||||||
alias yainsd='yaourt -S --asdeps' |
|
||||||
alias yamir='yaourt -Syy' |
|
||||||
|
|
||||||
|
|
||||||
if (( $+commands[abs] && $+commands[aur] )); then |
|
||||||
alias yaupd='yaourt -Sy && sudo abs && sudo aur' |
|
||||||
elif (( $+commands[abs] )); then |
|
||||||
alias yaupd='yaourt -Sy && sudo abs' |
|
||||||
elif (( $+commands[aur] )); then |
|
||||||
alias yaupd='yaourt -Sy && sudo aur' |
|
||||||
else |
|
||||||
alias yaupd='yaourt -Sy' |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[yay] )); then |
|
||||||
alias yaconf='yay -Pg' |
|
||||||
alias yaupg='yay -Syu' |
|
||||||
alias yasu='yay -Syu --noconfirm' |
|
||||||
alias yain='yay -S' |
|
||||||
alias yains='yay -U' |
|
||||||
alias yare='yay -R' |
|
||||||
alias yarem='yay -Rns' |
|
||||||
alias yarep='yay -Si' |
|
||||||
alias yareps='yay -Ss' |
|
||||||
alias yaloc='yay -Qi' |
|
||||||
alias yalocs='yay -Qs' |
|
||||||
alias yalst='yay -Qe' |
|
||||||
alias yaorph='yay -Qtd' |
|
||||||
alias yainsd='yay -S --asdeps' |
|
||||||
alias yamir='yay -Syy' |
|
||||||
|
|
||||||
|
|
||||||
if (( $+commands[abs] && $+commands[aur] )); then |
|
||||||
alias yaupd='yay -Sy && sudo abs && sudo aur' |
|
||||||
elif (( $+commands[abs] )); then |
|
||||||
alias yaupd='yay -Sy && sudo abs' |
|
||||||
elif (( $+commands[aur] )); then |
|
||||||
alias yaupd='yay -Sy && sudo aur' |
|
||||||
else |
|
||||||
alias yaupd='yay -Sy' |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[pacaur] )); then |
|
||||||
alias paupg='pacaur -Syu' |
|
||||||
alias pasu='pacaur -Syu --noconfirm' |
|
||||||
alias pain='pacaur -S' |
|
||||||
alias pains='pacaur -U' |
|
||||||
alias pare='pacaur -R' |
|
||||||
alias parem='pacaur -Rns' |
|
||||||
alias parep='pacaur -Si' |
|
||||||
alias pareps='pacaur -Ss' |
|
||||||
alias paloc='pacaur -Qi' |
|
||||||
alias palocs='pacaur -Qs' |
|
||||||
alias palst='pacaur -Qe' |
|
||||||
alias paorph='pacaur -Qtd' |
|
||||||
alias painsd='pacaur -S --asdeps' |
|
||||||
alias pamir='pacaur -Syy' |
|
||||||
|
|
||||||
if (( $+commands[abs] && $+commands[aur] )); then |
|
||||||
alias paupd='pacaur -Sy && sudo abs && sudo aur' |
|
||||||
elif (( $+commands[abs] )); then |
|
||||||
alias paupd='pacaur -Sy && sudo abs' |
|
||||||
elif (( $+commands[aur] )); then |
|
||||||
alias paupd='pacaur -Sy && sudo aur' |
|
||||||
else |
|
||||||
alias paupd='pacaur -Sy' |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
if (( $+commands[trizen] )); then |
|
||||||
function upgrade() { |
|
||||||
trizen -Syu |
|
||||||
} |
|
||||||
elif (( $+commands[pacaur] )); then |
|
||||||
function upgrade() { |
|
||||||
pacaur -Syu |
|
||||||
} |
|
||||||
elif (( $+commands[yaourt] )); then |
|
||||||
function upgrade() { |
|
||||||
yaourt -Syu |
|
||||||
} |
|
||||||
elif (( $+commands[yay] )); then |
|
||||||
function upgrade() { |
|
||||||
yay -Syu |
|
||||||
} |
|
||||||
else |
|
||||||
function upgrade() { |
|
||||||
sudo pacman -Syu |
|
||||||
} |
|
||||||
fi |
|
||||||
|
|
||||||
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips |
|
||||||
alias pacupg='sudo pacman -Syu' |
|
||||||
alias pacin='sudo pacman -S' |
|
||||||
alias pacins='sudo pacman -U' |
|
||||||
alias pacre='sudo pacman -R' |
|
||||||
alias pacrem='sudo pacman -Rns' |
|
||||||
alias pacrep='pacman -Si' |
|
||||||
alias pacreps='pacman -Ss' |
|
||||||
alias pacloc='pacman -Qi' |
|
||||||
alias paclocs='pacman -Qs' |
|
||||||
alias pacinsd='sudo pacman -S --asdeps' |
|
||||||
alias pacmir='sudo pacman -Syy' |
|
||||||
alias paclsorphans='sudo pacman -Qdt' |
|
||||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' |
|
||||||
alias pacfileupg='sudo pacman -Fy' |
|
||||||
alias pacfiles='pacman -Fs' |
|
||||||
alias pacls='pacman -Ql' |
|
||||||
alias pacown='pacman -Qo' |
|
||||||
|
|
||||||
|
|
||||||
if (( $+commands[abs] && $+commands[aur] )); then |
|
||||||
alias pacupd='sudo pacman -Sy && sudo abs && sudo aur' |
|
||||||
elif (( $+commands[abs] )); then |
|
||||||
alias pacupd='sudo pacman -Sy && sudo abs' |
|
||||||
elif (( $+commands[aur] )); then |
|
||||||
alias pacupd='sudo pacman -Sy && sudo aur' |
|
||||||
else |
|
||||||
alias pacupd='sudo pacman -Sy' |
|
||||||
fi |
|
||||||
|
|
||||||
function paclist() { |
|
||||||
# Source: https://bbs.archlinux.org/viewtopic.php?id=93683 |
|
||||||
LC_ALL=C pacman -Qei $(pacman -Qu | cut -d " " -f 1) | \ |
|
||||||
awk 'BEGIN {FS=":"} /^Name/{printf("\033[1;36m%s\033[1;37m", $2)} /^Description/{print $2}' |
|
||||||
} |
|
||||||
|
|
||||||
function pacdisowned() { |
|
||||||
emulate -L zsh |
|
||||||
|
|
||||||
tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$ |
|
||||||
db=$tmp/db |
|
||||||
fs=$tmp/fs |
|
||||||
|
|
||||||
mkdir "$tmp" |
|
||||||
trap 'rm -rf "$tmp"' EXIT |
|
||||||
|
|
||||||
pacman -Qlq | sort -u > "$db" |
|
||||||
|
|
||||||
find /bin /etc /lib /sbin /usr ! -name lost+found \ |
|
||||||
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs" |
|
||||||
|
|
||||||
comm -23 "$fs" "$db" |
|
||||||
} |
|
||||||
|
|
||||||
function pacmanallkeys() { |
|
||||||
emulate -L zsh |
|
||||||
curl -s https://www.archlinux.org/people/{developers,trustedusers}/ | \ |
|
||||||
awk -F\" '(/pgp.mit.edu/) { sub(/.*search=0x/,""); print $1}' | \ |
|
||||||
xargs sudo pacman-key --recv-keys |
|
||||||
} |
|
||||||
|
|
||||||
function pacmansignkeys() { |
|
||||||
emulate -L zsh |
|
||||||
for key in $*; do |
|
||||||
sudo pacman-key --recv-keys $key |
|
||||||
sudo pacman-key --lsign-key $key |
|
||||||
printf 'trust\n3\n' | sudo gpg --homedir /etc/pacman.d/gnupg \ |
|
||||||
--no-permission-warning --command-fd 0 --edit-key $key |
|
||||||
done |
|
||||||
} |
|
||||||
|
|
||||||
if (( $+commands[xdg-open] )); then |
|
||||||
function pacweb() { |
|
||||||
pkg="$1" |
|
||||||
infos="$(pacman -Si "$pkg")" |
|
||||||
if [[ -z "$infos" ]]; then |
|
||||||
return |
|
||||||
fi |
|
||||||
repo="$(grep '^Repo' <<< "$infos" | grep -oP '[^ ]+$')" |
|
||||||
arch="$(grep '^Arch' <<< "$infos" | grep -oP '[^ ]+$')" |
|
||||||
xdg-open "https://www.archlinux.org/packages/$repo/$arch/$pkg/" &>/dev/null |
|
||||||
} |
|
||||||
fi |
|
@ -1,27 +0,0 @@ |
|||||||
## asdf |
|
||||||
|
|
||||||
**Maintainer:** [@RobLoach](https://github.com/RobLoach) |
|
||||||
|
|
||||||
Adds integration with [asdf](https://github.com/asdf-vm/asdf), the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more. |
|
||||||
|
|
||||||
### Installation |
|
||||||
|
|
||||||
1. Enable the plugin by adding it to your `plugins` definition in `~/.zshrc`. |
|
||||||
|
|
||||||
``` |
|
||||||
plugins=(asdf) |
|
||||||
``` |
|
||||||
|
|
||||||
2. [Install asdf](https://github.com/asdf-vm/asdf#setup) by running the following: |
|
||||||
``` |
|
||||||
git clone https://github.com/asdf-vm/asdf.git ~/.asdf |
|
||||||
``` |
|
||||||
|
|
||||||
### Usage |
|
||||||
|
|
||||||
See the [asdf usage documentation](https://github.com/asdf-vm/asdf#usage) for information on how to use asdf: |
|
||||||
|
|
||||||
``` |
|
||||||
asdf plugin-add nodejs git@github.com:asdf-vm/asdf-nodejs.git |
|
||||||
asdf install nodejs 5.9.1 |
|
||||||
``` |
|
@ -1,19 +0,0 @@ |
|||||||
# Find where asdf should be installed |
|
||||||
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}" |
|
||||||
ASDF_COMPLETIONS="$ASDF_DIR/completions" |
|
||||||
|
|
||||||
# If not found, check for Homebrew package |
|
||||||
if [[ ! -f "$ASDF_DIR/asdf.sh" ]] && (( $+commands[brew] )); then |
|
||||||
ASDF_DIR="$(brew --prefix asdf)" |
|
||||||
ASDF_COMPLETIONS="$ASDF_DIR/etc/bash_completion.d" |
|
||||||
fi |
|
||||||
|
|
||||||
# Load command |
|
||||||
if [[ -f "$ASDF_DIR/asdf.sh" ]]; then |
|
||||||
. "$ASDF_DIR/asdf.sh" |
|
||||||
|
|
||||||
# Load completions |
|
||||||
if [[ -f "$ASDF_COMPLETIONS/asdf.bash" ]]; then |
|
||||||
. "$ASDF_COMPLETIONS/asdf.bash" |
|
||||||
fi |
|
||||||
fi |
|
@ -1,43 +0,0 @@ |
|||||||
# Activates autoenv or reports its failure |
|
||||||
() { |
|
||||||
if ! type autoenv_init >/dev/null; then |
|
||||||
for d (~/.autoenv ~/.local/bin /usr/local/opt/autoenv /usr/local/bin); do |
|
||||||
if [[ -e $d/activate.sh ]]; then |
|
||||||
autoenv_dir=$d |
|
||||||
break |
|
||||||
fi |
|
||||||
done |
|
||||||
if [[ -z $autoenv_dir ]]; then |
|
||||||
cat <<END >&2 |
|
||||||
-------- AUTOENV --------- |
|
||||||
Could not locate autoenv installation. |
|
||||||
Please check if autoenv is correctly installed. |
|
||||||
In the meantime the autoenv plugin is DISABLED. |
|
||||||
-------------------------- |
|
||||||
END |
|
||||||
return 1 |
|
||||||
fi |
|
||||||
source $autoenv_dir/activate.sh |
|
||||||
fi |
|
||||||
} |
|
||||||
[[ $? != 0 ]] && return $? |
|
||||||
|
|
||||||
# The use_env call below is a reusable command to activate/create a new Python |
|
||||||
# virtualenv, requiring only a single declarative line of code in your .env files. |
|
||||||
# It only performs an action if the requested virtualenv is not the current one. |
|
||||||
|
|
||||||
use_env() { |
|
||||||
typeset venv |
|
||||||
venv="$1" |
|
||||||
if [[ "${VIRTUAL_ENV:t}" != "$venv" ]]; then |
|
||||||
if workon | grep -q "$venv"; then |
|
||||||
workon "$venv" |
|
||||||
else |
|
||||||
echo -n "Create virtualenv $venv now? (Yn) " |
|
||||||
read answer |
|
||||||
if [[ "$answer" == "Y" ]]; then |
|
||||||
mkvirtualenv "$venv" |
|
||||||
fi |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
@ -1,11 +0,0 @@ |
|||||||
# Autojump plugin |
|
||||||
|
|
||||||
This plugin loads the [autojump navigation tool](https://github.com/wting/autojump). |
|
||||||
|
|
||||||
To use it, add `autojump` to the plugins array in your zshrc file: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... autojump) |
|
||||||
``` |
|
||||||
|
|
||||||
More info on the usage: https://github.com/wting/autojump |
|
@ -1,23 +0,0 @@ |
|||||||
if [ $commands[autojump] ]; then # check if autojump is installed |
|
||||||
if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation |
|
||||||
. $HOME/.autojump/etc/profile.d/autojump.zsh |
|
||||||
elif [ -f $HOME/.autojump/share/autojump/autojump.zsh ]; then # another manual user-local installation |
|
||||||
. $HOME/.autojump/share/autojump/autojump.zsh |
|
||||||
elif [ -f $HOME/.nix-profile/etc/profile.d/autojump.zsh ]; then # nix installation |
|
||||||
. $HOME/.nix-profile/etc/profile.d/autojump.zsh |
|
||||||
elif [ -f /run/current-system/sw/share/autojump/autojump.zsh ]; then # nixos installation |
|
||||||
. /run/current-system/sw/share/autojump/autojump.zsh |
|
||||||
elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package |
|
||||||
. /usr/share/autojump/autojump.zsh |
|
||||||
elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation |
|
||||||
. /etc/profile.d/autojump.zsh |
|
||||||
elif [ -f /etc/profile.d/autojump.sh ]; then # gentoo installation |
|
||||||
. /etc/profile.d/autojump.sh |
|
||||||
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation |
|
||||||
. /usr/local/share/autojump/autojump.zsh |
|
||||||
elif [ -f /opt/local/etc/profile.d/autojump.sh ]; then # mac os x with ports |
|
||||||
. /opt/local/etc/profile.d/autojump.sh |
|
||||||
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.sh ]; then # mac os x with brew |
|
||||||
. `brew --prefix`/etc/autojump.sh |
|
||||||
fi |
|
||||||
fi |
|
@ -1,8 +0,0 @@ |
|||||||
# autopep8 plugin |
|
||||||
|
|
||||||
This plugin adds completion for [autopep8](https://pypi.org/project/autopep8/), a tool that automatically formats Python code to conform to the [PEP 8](http://www.python.org/dev/peps/pep-0008/) style guide. |
|
||||||
|
|
||||||
To use it, add autopep8 to the plugins array of your zshrc file: |
|
||||||
``` |
|
||||||
plugins=(... autopep8) |
|
||||||
``` |
|
@ -1,32 +0,0 @@ |
|||||||
#compdef autopep8 |
|
||||||
# |
|
||||||
# this is zsh completion function file. |
|
||||||
# generated by genzshcomp(ver: 0.5.1) |
|
||||||
# |
|
||||||
|
|
||||||
typeset -A opt_args |
|
||||||
local context state line |
|
||||||
|
|
||||||
_arguments -s -S \ |
|
||||||
"--help[show this help message and exit]:" \ |
|
||||||
"-h[show this help message and exit]:" \ |
|
||||||
"--version[show program's version number and exit]:" \ |
|
||||||
"--verbose[print verbose messages; multiple -v result in more verbose messages]" \ |
|
||||||
"-v[print verbose messages; multiple -v result in more verbose messages]" \ |
|
||||||
"--diff[print the diff for the fixed source]" \ |
|
||||||
"-d[print the diff for the fixed source]" \ |
|
||||||
"--in-place[make changes to files in place]" \ |
|
||||||
"-i[make changes to files in place]" \ |
|
||||||
"--recursive[run recursively; must be used with --in-place or --diff]" \ |
|
||||||
"-r[run recursively; must be used with --in-place or --diff]" \ |
|
||||||
"--jobs[number of parallel jobs; match CPU count if value is less than 1]::n number of parallel jobs; match CPU count if value is:_files" \ |
|
||||||
"-j[number of parallel jobs; match CPU count if value is less than 1]::n number of parallel jobs; match CPU count if value is:_files" \ |
|
||||||
"--pep8-passes[maximum number of additional pep8 passes (default: 100)]::n:_files" \ |
|
||||||
"-p[maximum number of additional pep8 passes (default: 100)]::n:_files" \ |
|
||||||
"-a[-a result in more aggressive changes]::result:_files" \ |
|
||||||
"--exclude[exclude files/directories that match these comma- separated globs]::globs:_files" \ |
|
||||||
"--list-fixes[list codes for fixes; used by --ignore and --select]" \ |
|
||||||
"--ignore[do not fix these errors/warnings (default E226,E24)]::errors:_files" \ |
|
||||||
"--select[fix only these errors/warnings (e.g. E4,W)]::errors:_files" \ |
|
||||||
"--max-line-length[set maximum allowed line length (default: 79)]::n:_files" \ |
|
||||||
"*::args:_files" |
|
@ -1,20 +0,0 @@ |
|||||||
# aws |
|
||||||
|
|
||||||
This plugin provides completion support for [awscli](https://docs.aws.amazon.com/cli/latest/reference/index.html) |
|
||||||
and a few utilities to manage AWS profiles: a function to change profiles with autocompletion support |
|
||||||
and a function to get the current AWS profile. The current AWS profile is also displayed in `RPROMPT`. |
|
||||||
|
|
||||||
To use it, add `aws` to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... aws) |
|
||||||
``` |
|
||||||
|
|
||||||
## Plugin commands |
|
||||||
|
|
||||||
* `asp <profile>`: Sets `AWS_PROFILE` and `AWS_DEFAULT_PROFILE` (legacy) to `<profile>`. |
|
||||||
It also adds it to your RPROMPT. |
|
||||||
|
|
||||||
* `agp`: Gets the current value of `AWS_PROFILE`. |
|
||||||
|
|
||||||
* `aws_profiles`: Lists the available profiles in the file referenced in `AWS_CONFIG_FILE` (default: ~/.aws/config). Used to provide completion for the `asp` function. |
|
@ -1,49 +0,0 @@ |
|||||||
_homebrew-installed() { |
|
||||||
type brew &> /dev/null |
|
||||||
_xit=$? |
|
||||||
if [ $_xit -eq 0 ];then |
|
||||||
# ok , we have brew installed |
|
||||||
# speculatively we check default brew prefix |
|
||||||
if [ -h /usr/local/opt/awscli ];then |
|
||||||
_brew_prefix="/usr/local/opt/awscli" |
|
||||||
else |
|
||||||
# ok , it is not default prefix |
|
||||||
# this call to brew is expensive ( about 400 ms ), so at least let's make it only once |
|
||||||
_brew_prefix=$(brew --prefix awscli) |
|
||||||
fi |
|
||||||
return 0 |
|
||||||
else |
|
||||||
return $_xit |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_awscli-homebrew-installed() { |
|
||||||
[ -r $_brew_prefix/libexec/bin/aws_zsh_completer.sh ] &> /dev/null |
|
||||||
} |
|
||||||
|
|
||||||
function agp { |
|
||||||
echo $AWS_PROFILE |
|
||||||
} |
|
||||||
|
|
||||||
function asp { |
|
||||||
local rprompt=${RPROMPT/<aws:$(agp)>/} |
|
||||||
|
|
||||||
export AWS_DEFAULT_PROFILE=$1 |
|
||||||
export AWS_PROFILE=$1 |
|
||||||
|
|
||||||
export RPROMPT="<aws:$AWS_PROFILE>$rprompt" |
|
||||||
} |
|
||||||
|
|
||||||
function aws_profiles { |
|
||||||
reply=($(grep '\[profile' "${AWS_CONFIG_FILE:-$HOME/.aws/config}"|sed -e 's/.*profile \([a-zA-Z0-9_\.-]*\).*/\1/')) |
|
||||||
} |
|
||||||
compctl -K aws_profiles asp |
|
||||||
|
|
||||||
if which aws_zsh_completer.sh &>/dev/null; then |
|
||||||
_aws_zsh_completer_path=$(which aws_zsh_completer.sh 2>/dev/null) |
|
||||||
elif _homebrew-installed && _awscli-homebrew-installed; then |
|
||||||
_aws_zsh_completer_path=$_brew_prefix/libexec/bin/aws_zsh_completer.sh |
|
||||||
fi |
|
||||||
|
|
||||||
[ -n "$_aws_zsh_completer_path" ] && [ -x $_aws_zsh_completer_path ] && source $_aws_zsh_completer_path |
|
||||||
unset _aws_zsh_completer_path |
|
@ -1,13 +0,0 @@ |
|||||||
# Battery Plugin |
|
||||||
|
|
||||||
This plugin adds some functions you can use to display battery information in your custom theme. |
|
||||||
|
|
||||||
To use, add `battery` to the list of plugins in your `.zshrc` file: |
|
||||||
|
|
||||||
`plugins=(... battery)` |
|
||||||
|
|
||||||
Then, add the `battery_pct_prompt` function to your custom theme. For example: |
|
||||||
|
|
||||||
``` |
|
||||||
RPROMPT='$(battery_pct_prompt)' |
|
||||||
``` |
|
@ -1,160 +0,0 @@ |
|||||||
########################################### |
|
||||||
# Battery plugin for oh-my-zsh # |
|
||||||
# Original Author: Peter hoeg (peterhoeg) # |
|
||||||
# Email: peter@speartail.com # |
|
||||||
########################################### |
|
||||||
# Author: Sean Jones (neuralsandwich) # |
|
||||||
# Email: neuralsandwich@gmail.com # |
|
||||||
# Modified to add support for Apple Mac # |
|
||||||
########################################### |
|
||||||
|
|
||||||
if [[ "$OSTYPE" = darwin* ]] ; then |
|
||||||
|
|
||||||
function battery_pct() { |
|
||||||
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" |
|
||||||
typeset -F maxcapacity=$(echo $smart_battery_status | grep '^.*"MaxCapacity"\ =\ ' | sed -e 's/^.*"MaxCapacity"\ =\ //') |
|
||||||
typeset -F currentcapacity=$(echo $smart_battery_status | grep '^.*"CurrentCapacity"\ =\ ' | sed -e 's/^.*CurrentCapacity"\ =\ //') |
|
||||||
integer i=$(((currentcapacity/maxcapacity) * 100)) |
|
||||||
echo $i |
|
||||||
} |
|
||||||
|
|
||||||
function plugged_in() { |
|
||||||
[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ Yes') -eq 1 ] |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct_remaining() { |
|
||||||
if plugged_in ; then |
|
||||||
echo "External Power" |
|
||||||
else |
|
||||||
battery_pct |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_time_remaining() { |
|
||||||
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" |
|
||||||
if [[ $(echo $smart_battery_status | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then |
|
||||||
timeremaining=$(echo $smart_battery_status | grep '^.*"AvgTimeToEmpty"\ =\ ' | sed -e 's/^.*"AvgTimeToEmpty"\ =\ //') |
|
||||||
if [ $timeremaining -gt 720 ] ; then |
|
||||||
echo "::" |
|
||||||
else |
|
||||||
echo "~$((timeremaining / 60)):$((timeremaining % 60))" |
|
||||||
fi |
|
||||||
else |
|
||||||
echo "∞" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct_prompt () { |
|
||||||
if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then |
|
||||||
b=$(battery_pct_remaining) |
|
||||||
if [ $b -gt 50 ] ; then |
|
||||||
color='green' |
|
||||||
elif [ $b -gt 20 ] ; then |
|
||||||
color='yellow' |
|
||||||
else |
|
||||||
color='red' |
|
||||||
fi |
|
||||||
echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}" |
|
||||||
else |
|
||||||
echo "∞" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_is_charging() { |
|
||||||
[[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]] |
|
||||||
} |
|
||||||
|
|
||||||
elif [[ "$OSTYPE" = linux* ]] ; then |
|
||||||
|
|
||||||
function battery_is_charging() { |
|
||||||
! [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct() { |
|
||||||
if (( $+commands[acpi] )) ; then |
|
||||||
echo "$(acpi 2>/dev/null | cut -f2 -d ',' | tr -cd '[:digit:]')" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct_remaining() { |
|
||||||
if [ ! $(battery_is_charging) ] ; then |
|
||||||
battery_pct |
|
||||||
else |
|
||||||
echo "External Power" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_time_remaining() { |
|
||||||
if [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then |
|
||||||
echo $(acpi 2>/dev/null | cut -f3 -d ',') |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct_prompt() { |
|
||||||
b=$(battery_pct_remaining) |
|
||||||
if [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then |
|
||||||
if [ $b -gt 50 ] ; then |
|
||||||
color='green' |
|
||||||
elif [ $b -gt 20 ] ; then |
|
||||||
color='yellow' |
|
||||||
else |
|
||||||
color='red' |
|
||||||
fi |
|
||||||
echo "%{$fg[$color]%}$(battery_pct_remaining)%%%{$reset_color%}" |
|
||||||
else |
|
||||||
echo "∞" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
else |
|
||||||
# Empty functions so we don't cause errors in prompts |
|
||||||
function battery_pct_remaining() { |
|
||||||
} |
|
||||||
|
|
||||||
function battery_time_remaining() { |
|
||||||
} |
|
||||||
|
|
||||||
function battery_pct_prompt() { |
|
||||||
} |
|
||||||
fi |
|
||||||
|
|
||||||
function battery_level_gauge() { |
|
||||||
local gauge_slots=${BATTERY_GAUGE_SLOTS:-10}; |
|
||||||
local green_threshold=${BATTERY_GREEN_THRESHOLD:-6}; |
|
||||||
local yellow_threshold=${BATTERY_YELLOW_THRESHOLD:-4}; |
|
||||||
local color_green=${BATTERY_COLOR_GREEN:-%F{green}}; |
|
||||||
local color_yellow=${BATTERY_COLOR_YELLOW:-%F{yellow}}; |
|
||||||
local color_red=${BATTERY_COLOR_RED:-%F{red}}; |
|
||||||
local color_reset=${BATTERY_COLOR_RESET:-%{%f%k%b%}}; |
|
||||||
local battery_prefix=${BATTERY_GAUGE_PREFIX:-'['}; |
|
||||||
local battery_suffix=${BATTERY_GAUGE_SUFFIX:-']'}; |
|
||||||
local filled_symbol=${BATTERY_GAUGE_FILLED_SYMBOL:-'▶'}; |
|
||||||
local empty_symbol=${BATTERY_GAUGE_EMPTY_SYMBOL:-'▷'}; |
|
||||||
local charging_color=${BATTERY_CHARGING_COLOR:-$color_yellow}; |
|
||||||
local charging_symbol=${BATTERY_CHARGING_SYMBOL:-'⚡'}; |
|
||||||
|
|
||||||
local battery_remaining_percentage=$(battery_pct); |
|
||||||
|
|
||||||
if [[ $battery_remaining_percentage =~ [0-9]+ ]]; then |
|
||||||
local filled=$(((( $battery_remaining_percentage + $gauge_slots - 1) / $gauge_slots))); |
|
||||||
local empty=$(($gauge_slots - $filled)); |
|
||||||
|
|
||||||
if [[ $filled -gt $green_threshold ]]; then local gauge_color=$color_green; |
|
||||||
elif [[ $filled -gt $yellow_threshold ]]; then local gauge_color=$color_yellow; |
|
||||||
else local gauge_color=$color_red; |
|
||||||
fi |
|
||||||
else |
|
||||||
local filled=$gauge_slots; |
|
||||||
local empty=0; |
|
||||||
filled_symbol=${BATTERY_UNKNOWN_SYMBOL:-'.'}; |
|
||||||
fi |
|
||||||
|
|
||||||
local charging=' ' && battery_is_charging && charging=$charging_symbol; |
|
||||||
|
|
||||||
printf ${charging_color//\%/\%\%}$charging${color_reset//\%/\%\%}${battery_prefix//\%/\%\%}${gauge_color//\%/\%\%} |
|
||||||
printf ${filled_symbol//\%/\%\%}'%.0s' {1..$filled} |
|
||||||
[[ $filled -lt $gauge_slots ]] && printf ${empty_symbol//\%/\%\%}'%.0s' {1..$empty} |
|
||||||
printf ${color_reset//\%/\%\%}${battery_suffix//\%/\%\%}${color_reset//\%/\%\%} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
@ -1,20 +0,0 @@ |
|||||||
## bbedit |
|
||||||
|
|
||||||
Plugin for BBEdit, an HTML and text editor for Mac OS X |
|
||||||
|
|
||||||
### Requirements |
|
||||||
|
|
||||||
* [BBEdit](https://www.barebones.com/products/bbedit/) |
|
||||||
* [BBEdit Command-Line Tools](https://www.barebones.com/support/bbedit/cmd-line-tools.html) |
|
||||||
|
|
||||||
### Usage |
|
||||||
|
|
||||||
* If the `bb` command is called without an argument, launch BBEdit |
|
||||||
|
|
||||||
* If `bb` is passed a directory, cd to it and open it in BBEdit |
|
||||||
|
|
||||||
* If `bb` is passed a file, open it in BBEdit |
|
||||||
|
|
||||||
* If `bbpb` create a new BBEdit document with the contents of the clipboard |
|
||||||
|
|
||||||
* If `bbd` alias for BBEdit diff tool |
|
@ -1,21 +0,0 @@ |
|||||||
alias bbpb='pbpaste | bbedit --clean --view-top' |
|
||||||
|
|
||||||
alias bbd=bbdiff |
|
||||||
|
|
||||||
# |
|
||||||
# If the bb command is called without an argument, launch BBEdit |
|
||||||
# If bb is passed a directory, cd to it and open it in BBEdit |
|
||||||
# If bb is passed a file, open it in BBEdit |
|
||||||
# |
|
||||||
function bb() { |
|
||||||
if [[ -z "$1" ]] |
|
||||||
then |
|
||||||
bbedit --launch |
|
||||||
else |
|
||||||
bbedit "$1" |
|
||||||
if [[ -d "$1" ]] |
|
||||||
then |
|
||||||
cd "$1" |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
@ -1,54 +0,0 @@ |
|||||||
# bgnotify zsh plugin |
|
||||||
|
|
||||||
cross-platform background notifications for long running commands! Supports OSX and Ubuntu linux. |
|
||||||
|
|
||||||
Standalone homepage: [t413/zsh-background-notify](https://github.com/t413/zsh-background-notify) |
|
||||||
|
|
||||||
---------------------------------- |
|
||||||
|
|
||||||
## How to use! |
|
||||||
|
|
||||||
Just add bgnotify to your plugins list in your `.zshrc` |
|
||||||
|
|
||||||
- On OS X you'll need [terminal-notifier](https://github.com/alloy/terminal-notifier) |
|
||||||
* `brew install terminal-notifier` (or `gem install terminal-notifier`) |
|
||||||
- On ubuntu you're already all set! |
|
||||||
- On windows you can use [notifu](https://www.paralint.com/projects/notifu/) or the Cygwin Ports libnotify package |
|
||||||
|
|
||||||
|
|
||||||
## Screenshots |
|
||||||
|
|
||||||
**Linux** |
|
||||||
|
|
||||||
![screenshot from 2014-11-07 15 58 36](https://cloud.githubusercontent.com/assets/326829/4962187/256b465c-66da-11e4-927d-cc2fc105e31f.png) |
|
||||||
|
|
||||||
**OS X** |
|
||||||
|
|
||||||
![screenshot 2014-11-08 14 15 12](https://cloud.githubusercontent.com/assets/326829/4965780/19fa3eac-6795-11e4-8ed6-0355711123a9.png) |
|
||||||
|
|
||||||
**Windows** |
|
||||||
|
|
||||||
![screenshot from 2014-11-07 15 55 00](https://cloud.githubusercontent.com/assets/326829/4962159/a2625ca0-66d9-11e4-9e91-c5834913190e.png) |
|
||||||
|
|
||||||
|
|
||||||
## Configuration |
|
||||||
|
|
||||||
One can configure a few things: |
|
||||||
|
|
||||||
- `bgnotify_threshold` sets the notification threshold time (default 6 seconds) |
|
||||||
- `function bgnotify_formatted` lets you change the notification |
|
||||||
|
|
||||||
Use these by adding a function definition before the your call to source. Example: |
|
||||||
|
|
||||||
~~~ sh |
|
||||||
bgnotify_threshold=4 ## set your own notification threshold |
|
||||||
|
|
||||||
function bgnotify_formatted { |
|
||||||
## $1=exit_status, $2=command, $3=elapsed_time |
|
||||||
[ $1 -eq 0 ] && title="Holy Smokes Batman!" || title="Holy Graf Zeppelin!" |
|
||||||
bgnotify "$title -- after $3 s" "$2"; |
|
||||||
} |
|
||||||
|
|
||||||
plugins=(git bgnotify) ## add to plugins list |
|
||||||
source $ZSH/oh-my-zsh.sh ## existing source call |
|
||||||
~~~ |
|
@ -1,77 +0,0 @@ |
|||||||
#!/usr/bin/env zsh |
|
||||||
|
|
||||||
## setup ## |
|
||||||
|
|
||||||
[[ -o interactive ]] || return #interactive only! |
|
||||||
zmodload zsh/datetime || { print "can't load zsh/datetime"; return } # faster than date() |
|
||||||
autoload -Uz add-zsh-hook || { print "can't add zsh hook!"; return } |
|
||||||
|
|
||||||
(( ${+bgnotify_threshold} )) || bgnotify_threshold=5 #default 10 seconds |
|
||||||
|
|
||||||
|
|
||||||
## definitions ## |
|
||||||
|
|
||||||
if ! (type bgnotify_formatted | grep -q 'function'); then ## allow custom function override |
|
||||||
function bgnotify_formatted { ## args: (exit_status, command, elapsed_seconds) |
|
||||||
elapsed="$(( $3 % 60 ))s" |
|
||||||
(( $3 >= 60 )) && elapsed="$((( $3 % 3600) / 60 ))m $elapsed" |
|
||||||
(( $3 >= 3600 )) && elapsed="$(( $3 / 3600 ))h $elapsed" |
|
||||||
[ $1 -eq 0 ] && bgnotify "#win (took $elapsed)" "$2" || bgnotify "#fail (took $elapsed)" "$2" |
|
||||||
} |
|
||||||
fi |
|
||||||
|
|
||||||
currentWindowId () { |
|
||||||
if hash osascript 2>/dev/null; then #osx |
|
||||||
osascript -e 'tell application (path to frontmost application as text) to id of front window' 2&> /dev/null || echo "0" |
|
||||||
elif (hash notify-send 2>/dev/null || hash kdialog 2>/dev/null); then #ubuntu! |
|
||||||
xprop -root 2> /dev/null | awk '/NET_ACTIVE_WINDOW/{print $5;exit} END{exit !$5}' || echo "0" |
|
||||||
else |
|
||||||
echo $EPOCHSECONDS #fallback for windows |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
bgnotify () { ## args: (title, subtitle) |
|
||||||
if hash terminal-notifier 2>/dev/null; then #osx |
|
||||||
[[ "$TERM_PROGRAM" == 'iTerm.app' ]] && term_id='com.googlecode.iterm2'; |
|
||||||
[[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] && term_id='com.apple.terminal'; |
|
||||||
## now call terminal-notifier, (hopefully with $term_id!) |
|
||||||
[ -z "$term_id" ] && terminal-notifier -message "$2" -title "$1" >/dev/null || |
|
||||||
terminal-notifier -message "$2" -title "$1" -activate "$term_id" -sender "$term_id" >/dev/null |
|
||||||
elif hash growlnotify 2>/dev/null; then #osx growl |
|
||||||
growlnotify -m "$1" "$2" |
|
||||||
elif hash notify-send 2>/dev/null; then #ubuntu gnome! |
|
||||||
notify-send "$1" "$2" |
|
||||||
elif hash kdialog 2>/dev/null; then #ubuntu kde! |
|
||||||
kdialog --title "$1" --passivepopup "$2" 5 |
|
||||||
elif hash notifu 2>/dev/null; then #cygwyn support! |
|
||||||
notifu /m "$2" /p "$1" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
## Zsh hooks ## |
|
||||||
|
|
||||||
bgnotify_begin() { |
|
||||||
bgnotify_timestamp=$EPOCHSECONDS |
|
||||||
bgnotify_lastcmd="$1" |
|
||||||
bgnotify_windowid=$(currentWindowId) |
|
||||||
} |
|
||||||
|
|
||||||
bgnotify_end() { |
|
||||||
didexit=$? |
|
||||||
elapsed=$(( EPOCHSECONDS - bgnotify_timestamp )) |
|
||||||
past_threshold=$(( elapsed >= bgnotify_threshold )) |
|
||||||
if (( bgnotify_timestamp > 0 )) && (( past_threshold )); then |
|
||||||
if [ $(currentWindowId) != "$bgnotify_windowid" ]; then |
|
||||||
print -n "\a" |
|
||||||
bgnotify_formatted "$didexit" "$bgnotify_lastcmd" "$elapsed" |
|
||||||
fi |
|
||||||
fi |
|
||||||
bgnotify_timestamp=0 #reset it to 0! |
|
||||||
} |
|
||||||
|
|
||||||
## only enable if a local (non-ssh) connection |
|
||||||
if [ -z "$SSH_CLIENT" ] && [ -z "$SSH_TTY" ]; then |
|
||||||
add-zsh-hook preexec bgnotify_begin |
|
||||||
add-zsh-hook precmd bgnotify_end |
|
||||||
fi |
|
@ -1,6 +0,0 @@ |
|||||||
## Boot2docker autocomplete plugin |
|
||||||
|
|
||||||
- Adds autocomplete options for all boot2docker commands. |
|
||||||
|
|
||||||
|
|
||||||
Maintainer : Manfred Touron ([@moul](https://github.com/moul)) |
|
@ -1,73 +0,0 @@ |
|||||||
#compdef boot2docker |
|
||||||
|
|
||||||
# Boot2docker autocompletion for oh-my-zsh |
|
||||||
# Requires: Boot2docker installed |
|
||||||
# Author: Manfred Touron (@moul) |
|
||||||
|
|
||||||
local -a _1st_arguments |
|
||||||
_1st_arguments=( |
|
||||||
"init":"Create a new Boot2Docker VM." |
|
||||||
"up":"Start VM from any states." |
|
||||||
"start":"Start VM from any states." |
|
||||||
"boot":"Start VM from any states." |
|
||||||
"ssh":"[ssh-command] Login to VM via SSH." |
|
||||||
"save":"Suspend VM and save state to disk." |
|
||||||
"suspend":"Suspend VM and save state to disk." |
|
||||||
"down":"Gracefully shutdown the VM." |
|
||||||
"stop":"Gracefully shutdown the VM." |
|
||||||
"halt":"Gracefully shutdown the VM." |
|
||||||
"restart":"Gracefully reboot the VM." |
|
||||||
"poweroff":"Forcefully power off the VM (may corrupt disk image)." |
|
||||||
"reset":"Forcefully power cycle the VM (may corrupt disk image)." |
|
||||||
"delete":"Delete Boot2Docker VM and its disk image." |
|
||||||
"destroy":"Delete Boot2Docker VM and its disk image." |
|
||||||
"config":"Show selected profile file settings." |
|
||||||
"cfg":"Show selected profile file settings." |
|
||||||
"info":"Display detailed information of VM." |
|
||||||
"ip":"Display the IP address of the VM's Host-only network." |
|
||||||
"socket":"Display the DOCKER_HOST socket to connect to." |
|
||||||
"shellinit":"Display the shell command to set up the Docker client." |
|
||||||
"status":"Display current state of VM." |
|
||||||
"download":"Download Boot2Docker ISO image." |
|
||||||
"upgrade":"Upgrade the Boot2Docker ISO image (restart if running)." |
|
||||||
"version":"Display version information." |
|
||||||
) |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'(--basevmdk)--basevmdk[Path to VMDK to use as base for persistent partition]' \ |
|
||||||
'(--cpus)'{-c,--cpus}'[number of CPUs for boot2docker.]' \ |
|
||||||
'(--clobber)--clobber[overwrite Docker client binary on boot2docker upgrade]' \ |
|
||||||
'(--dhcp)--dhcp[enable VirtualBox host-only network DHCP.]' \ |
|
||||||
'(--dhcpip)--dhcpip[VirtualBox host-only network DHCP server address.]' \ |
|
||||||
'(-s --disksize)'{-s,--disksize}'[boot2docker disk image size (in MB).]' \ |
|
||||||
'(--dockerport)--dockerport[host Docker port (forward to port 2376 in VM). (deprecated - use with care)]' \ |
|
||||||
'(--driver)--driver[hypervisor driver.]' \ |
|
||||||
'(--force-upgrade-download)--force-upgrade-download[always download on boot2docker upgrade, never skip.]' \ |
|
||||||
'(--hostip)--hostip[VirtualBox host-only network IP address.]' \ |
|
||||||
'(--iso)--iso[path to boot2docker ISO image.]' \ |
|
||||||
'(--iso-url)--iso-url[/api.github.com/repos/boot2docker/boot2docker/releases": source URL to provision the boot2docker ISO image.]' \ |
|
||||||
'(--lowerip)--lowerip[VirtualBox host-only network DHCP lower bound.]' \ |
|
||||||
'(--memory)'{-m,--memory}'[virtual machine memory size (in MB).]' \ |
|
||||||
'(--netmask)--netmask[VirtualBox host-only network mask.]' \ |
|
||||||
'(--no-dummy)--no-dummy[Example parameter for the dummy driver.]' \ |
|
||||||
'(--retries)--retries[number of port knocking retries during 'start']' \ |
|
||||||
'(--serial)--serial[try serial console to get IP address (experimental)]' \ |
|
||||||
'(--serialfile)--serialfile[path to the serial socket/pipe.]' \ |
|
||||||
'(--ssh)--ssh[path to SSH client utility.]' \ |
|
||||||
'(--ssh-keygen)--ssh-keygen[path to ssh-keygen utility.]' \ |
|
||||||
'(--sshkey)--sshkey[path to SSH key to use.]' \ |
|
||||||
'(--sshport)--sshport[host SSH port (forward to port 22 in VM).]' \ |
|
||||||
'(--upperip)--upperip[VirtualBox host-only network DHCP upper bound.]' \ |
|
||||||
'(--vbm)--vbm[path to VirtualBox management utility.]' \ |
|
||||||
'(--vbox-share)--vbox-share[(defaults to "/Users=Users" if no shares are specified; use "disable" to explicitly prevent any shares from being created) List of directories to share during "up|start|boot" via VirtualBox Guest Additions, with optional labels]' \ |
|
||||||
'(--verbose)'{-v,--verbose}'[display verbose command invocations.]' \ |
|
||||||
'(--vm)--vm[virtual machine name.]' \ |
|
||||||
'(--waittime)--waittime[Time in milliseconds to wait between port knocking retries during 'start']' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
#_arguments '*:: :->command' |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "boot2docker command" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
@ -1,18 +0,0 @@ |
|||||||
# Bower plugin |
|
||||||
|
|
||||||
This plugin adds completion for [Bower](https://bower.io/) and a few useful aliases for common Bower commands. |
|
||||||
|
|
||||||
To use it, add `bower` to the plugins array in your zshrc file: |
|
||||||
|
|
||||||
``` |
|
||||||
plugins=(... bower) |
|
||||||
``` |
|
||||||
|
|
||||||
## Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|-------|-----------------|--------------------------------------------------------| |
|
||||||
| bi | `bower install` | Installs the project dependencies listed in bower.json | |
|
||||||
| bl | `bower list` | List local packages and possible updates | |
|
||||||
| bs | `bower search` | Finds all packages or a specific package. | |
|
||||||
|
|
@ -1,58 +0,0 @@ |
|||||||
|
|
||||||
|
|
||||||
# Credits to npm's awesome completion utility. |
|
||||||
# |
|
||||||
# Bower completion script, based on npm completion script. |
|
||||||
|
|
||||||
###-begin-bower-completion-### |
|
||||||
# |
|
||||||
# Installation: bower completion >> ~/.bashrc (or ~/.zshrc) |
|
||||||
# Or, maybe: bower completion > /usr/local/etc/bash_completion.d/bower |
|
||||||
# |
|
||||||
|
|
||||||
COMP_WORDBREAKS=${COMP_WORDBREAKS/=/} |
|
||||||
COMP_WORDBREAKS=${COMP_WORDBREAKS/@/} |
|
||||||
export COMP_WORDBREAKS |
|
||||||
|
|
||||||
if type complete &>/dev/null; then |
|
||||||
_bower_completion () { |
|
||||||
local si="$IFS" |
|
||||||
IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \ |
|
||||||
COMP_LINE="$COMP_LINE" \ |
|
||||||
COMP_POINT="$COMP_POINT" \ |
|
||||||
bower completion -- "${COMP_WORDS[@]}" \ |
|
||||||
2>/dev/null)) || return $? |
|
||||||
IFS="$si" |
|
||||||
} |
|
||||||
complete -F _bower_completion bower |
|
||||||
elif type compdef &>/dev/null; then |
|
||||||
_bower_completion() { |
|
||||||
si=$IFS |
|
||||||
compadd -- $(COMP_CWORD=$((CURRENT-1)) \ |
|
||||||
COMP_LINE=$BUFFER \ |
|
||||||
COMP_POINT=0 \ |
|
||||||
bower completion -- "${words[@]}" \ |
|
||||||
2>/dev/null) |
|
||||||
IFS=$si |
|
||||||
} |
|
||||||
compdef _bower_completion bower |
|
||||||
elif type compctl &>/dev/null; then |
|
||||||
_bower_completion () { |
|
||||||
local cword line point words si |
|
||||||
read -Ac words |
|
||||||
read -cn cword |
|
||||||
let cword-=1 |
|
||||||
read -l line |
|
||||||
read -ln point |
|
||||||
si="$IFS" |
|
||||||
IFS=$'\n' reply=($(COMP_CWORD="$cword" \ |
|
||||||
COMP_LINE="$line" \ |
|
||||||
COMP_POINT="$point" \ |
|
||||||
bower completion -- "${words[@]}" \ |
|
||||||
2>/dev/null)) || return $? |
|
||||||
IFS="$si" |
|
||||||
} |
|
||||||
compctl -K _bower_completion bower |
|
||||||
fi |
|
||||||
###-end-bower-completion-### |
|
||||||
|
|
@ -1,82 +0,0 @@ |
|||||||
alias bi="bower install" |
|
||||||
alias bl="bower list" |
|
||||||
alias bs="bower search" |
|
||||||
|
|
||||||
_bower_installed_packages () { |
|
||||||
bower_package_list=$(bower ls --no-color 2>/dev/null| awk 'NR>3{print p}{p=$0}'| cut -d ' ' -f 2|sed 's/#.*//') |
|
||||||
} |
|
||||||
_bower () |
|
||||||
{ |
|
||||||
local -a _1st_arguments _no_color _dopts _save_dev _force_lastest _production |
|
||||||
local expl |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_no_color=('--no-color[Do not print colors (available in all commands)]') |
|
||||||
|
|
||||||
_dopts=( |
|
||||||
'(--save)--save[Save installed packages into the project"s bower.json dependencies]' |
|
||||||
'(--force)--force[Force fetching remote resources even if a local copy exists on disk]' |
|
||||||
) |
|
||||||
|
|
||||||
_save_dev=('(--save-dev)--save-dev[Save installed packages into the project"s bower.json devDependencies]') |
|
||||||
|
|
||||||
_force_lastest=('(--force-latest)--force-latest[Force latest version on conflict]') |
|
||||||
|
|
||||||
_production=('(--production)--production[Do not install project devDependencies]') |
|
||||||
|
|
||||||
_1st_arguments=( |
|
||||||
'cache-clean:Clean the Bower cache, or the specified package caches' \ |
|
||||||
'help:Display help information about Bower' \ |
|
||||||
'info:Version info and description of a particular package' \ |
|
||||||
'init:Interactively create a bower.json file' \ |
|
||||||
'install:Install a package locally' \ |
|
||||||
'link:Symlink a package folder' \ |
|
||||||
'lookup:Look up a package URL by name' \ |
|
||||||
'register:Register a package' \ |
|
||||||
'search:Search for a package by name' \ |
|
||||||
'uninstall:Remove a package' \ |
|
||||||
'update:Update a package' \ |
|
||||||
{ls,list}:'[List all installed packages]' |
|
||||||
) |
|
||||||
_arguments \ |
|
||||||
$_no_color \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "bower subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
case "$words[1]" in |
|
||||||
install) |
|
||||||
_arguments \ |
|
||||||
$_dopts \ |
|
||||||
$_save_dev \ |
|
||||||
$_force_lastest \ |
|
||||||
$_no_color \ |
|
||||||
$_production |
|
||||||
;; |
|
||||||
update) |
|
||||||
_arguments \ |
|
||||||
$_dopts \ |
|
||||||
$_no_color \ |
|
||||||
$_force_lastest |
|
||||||
_bower_installed_packages |
|
||||||
compadd "$@" $(echo $bower_package_list) |
|
||||||
;; |
|
||||||
uninstall) |
|
||||||
_arguments \ |
|
||||||
$_no_color \ |
|
||||||
$_dopts |
|
||||||
_bower_installed_packages |
|
||||||
compadd "$@" $(echo $bower_package_list) |
|
||||||
;; |
|
||||||
*) |
|
||||||
_arguments \ |
|
||||||
$_no_color \ |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
compdef _bower bower |
|
@ -1,33 +0,0 @@ |
|||||||
# Branch |
|
||||||
|
|
||||||
Displays the current Git or Mercurial branch fast. |
|
||||||
|
|
||||||
## Speed test |
|
||||||
|
|
||||||
### Mercurial |
|
||||||
|
|
||||||
```shell |
|
||||||
$ time hg branch |
|
||||||
0.11s user 0.14s system 70% cpu 0.355 total |
|
||||||
``` |
|
||||||
|
|
||||||
### Branch plugin |
|
||||||
|
|
||||||
```shell |
|
||||||
$ time zsh /tmp/branch_prompt_info_test.zsh |
|
||||||
0.00s user 0.01s system 78% cpu 0.014 total |
|
||||||
``` |
|
||||||
|
|
||||||
## Usage |
|
||||||
|
|
||||||
Edit your theme file (eg.: `~/.oh-my-zsh/theme/robbyrussell.zsh-theme`) |
|
||||||
adding `$(branch_prompt_info)` in your prompt like this: |
|
||||||
|
|
||||||
```diff |
|
||||||
- PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' |
|
||||||
+ PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(branch_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' |
|
||||||
``` |
|
||||||
|
|
||||||
## Maintainer |
|
||||||
|
|
||||||
Victor Torres (<vpaivatorres@gmail.com>) |
|
@ -1,31 +0,0 @@ |
|||||||
# Branch: displays the current Git or Mercurial branch fast. |
|
||||||
# Victor Torres <vpaivatorres@gmail.com> |
|
||||||
# Oct 2, 2015 |
|
||||||
|
|
||||||
function branch_prompt_info() { |
|
||||||
# Defines path as current directory |
|
||||||
local current_dir=$PWD |
|
||||||
# While current path is not root path |
|
||||||
while [[ $current_dir != '/' ]] |
|
||||||
do |
|
||||||
# Git repository |
|
||||||
if [[ -d "${current_dir}/.git" ]] |
|
||||||
then |
|
||||||
echo '±' ${"$(<"$current_dir/.git/HEAD")"##*/} |
|
||||||
return; |
|
||||||
fi |
|
||||||
# Mercurial repository |
|
||||||
if [[ -d "${current_dir}/.hg" ]] |
|
||||||
then |
|
||||||
if [[ -f "$current_dir/.hg/branch" ]] |
|
||||||
then |
|
||||||
echo '☿' $(<"$current_dir/.hg/branch") |
|
||||||
else |
|
||||||
echo '☿ default' |
|
||||||
fi |
|
||||||
return; |
|
||||||
fi |
|
||||||
# Defines path as parent directory and keeps looking for :) |
|
||||||
current_dir="${current_dir:h}" |
|
||||||
done |
|
||||||
} |
|
@ -1,21 +0,0 @@ |
|||||||
# brew plugin |
|
||||||
|
|
||||||
The plugin adds several aliases for common [brew](https://brew.sh) commands. |
|
||||||
|
|
||||||
To use it, add `brew` to the plugins array of your zshrc file: |
|
||||||
``` |
|
||||||
plugins=(... brew) |
|
||||||
``` |
|
||||||
|
|
||||||
## Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|--------|----------------------|---------------| |
|
||||||
| brewp | `brew pin` | Pin a specified formulae, preventing them from being upgraded when issuing the brew upgrade <formulae> command. | |
|
||||||
| brews | `brew list -1` | List installed formulae, one entry per line, or the installed files for a given formulae. | |
|
||||||
| brewsp | `brew list --pinned` | Show the versions of pinned formulae, or only the specified (pinned) formulae if formulae are given. | |
|
||||||
| bubo | `brew update && brew outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated formulae. | |
|
||||||
| bubc | `brew upgrade && brew cleanup` | Upgrade outdated, unpinned brews (with existing install options), then removes stale lock files and outdated downloads for formulae and casks, and removes old versions of installed formulae. | |
|
||||||
| bubu | `bubo && bubc` | Updates Homebrew, lists outdated formulae, upgrades oudated and unpinned formulae, and removes stale and outdated downloads and versions. | |
|
||||||
| bcubo | `brew update && brew cask outdated` | Fetch the newest version of Homebrew and all formulae, then list outdated casks. | |
|
||||||
| bcubc | `brew cask reinstall $(brew cask outdated) && brew cleanup` | Updates outdated casks, then runs cleanup. | |
|
@ -1,24 +0,0 @@ |
|||||||
alias brewp='brew pin' |
|
||||||
alias brews='brew list -1' |
|
||||||
alias brewsp='brew list --pinned' |
|
||||||
alias bubo='brew update && brew outdated' |
|
||||||
alias bubc='brew upgrade && brew cleanup' |
|
||||||
alias bubu='bubo && bubc' |
|
||||||
alias bcubo='brew update && brew cask outdated' |
|
||||||
alias bcubc='brew cask reinstall $(brew cask outdated) && brew cleanup' |
|
||||||
|
|
||||||
if command mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then |
|
||||||
print -P '%F{yellow}'Oh My Zsh brew plugin: |
|
||||||
cat <<-'EOF' |
|
||||||
|
|
||||||
With the advent of their 1.0 release, Homebrew has decided to bundle |
|
||||||
the zsh completion as part of the brew installation, so we no longer |
|
||||||
ship it with the brew plugin; now it only has brew aliases. |
|
||||||
|
|
||||||
If you find that brew completion no longer works, make sure you have |
|
||||||
your Homebrew installation fully up to date. |
|
||||||
|
|
||||||
You will only see this message once. |
|
||||||
EOF |
|
||||||
print -P '%f' |
|
||||||
fi |
|
@ -1,52 +0,0 @@ |
|||||||
# Bundler |
|
||||||
|
|
||||||
- adds completion for basic bundler commands |
|
||||||
- adds short aliases for common bundler commands |
|
||||||
- `be` aliased to `bundle exec`. |
|
||||||
It also supports aliases (if `rs` is `rails server`, `be rs` will bundle-exec `rails server`). |
|
||||||
- `bl` aliased to `bundle list` |
|
||||||
- `bp` aliased to `bundle package` |
|
||||||
- `bo` aliased to `bundle open` |
|
||||||
- `bout` aliased to `bundle outdated` |
|
||||||
- `bu` aliased to `bundle update` |
|
||||||
- `bi` aliased to `bundle install --jobs=<cpu core count>` (only for bundler `>= 1.4.0`) |
|
||||||
- adds a wrapper for common gems: |
|
||||||
- looks for a binstub under `./bin/` and executes it (if present) |
|
||||||
- calls `bundle exec <gem executable>` otherwise |
|
||||||
|
|
||||||
Common gems wrapped by default (by name of the executable): |
|
||||||
`annotate`, `cap`, `capify`, `cucumber`, `foodcritic`, `guard`, `hanami`, `irb`, `jekyll`, `kitchen`, `knife`, `middleman`, `nanoc`, `pry`, `puma`, `rackup`, `rainbows`, `rake`, `rspec`, `shotgun`, `sidekiq`, `spec`, `spork`, `spring`, `strainer`, `tailor`, `taps`, `thin`, `thor`, `unicorn` and `unicorn_rails`. |
|
||||||
|
|
||||||
## Configuration |
|
||||||
|
|
||||||
Please use the exact name of the executable and not the gem name. |
|
||||||
|
|
||||||
### Add additional gems to be wrapped |
|
||||||
|
|
||||||
Add this before the plugin-list in your `.zshrc`: |
|
||||||
```sh |
|
||||||
BUNDLED_COMMANDS=(rubocop) |
|
||||||
plugins=(... bundler ...) |
|
||||||
``` |
|
||||||
This will add the wrapper for the `rubocop` gem (i.e. the executable). |
|
||||||
|
|
||||||
|
|
||||||
### Exclude gems from being wrapped |
|
||||||
|
|
||||||
Add this before the plugin-list in your `.zshrc`: |
|
||||||
```sh |
|
||||||
UNBUNDLED_COMMANDS=(foreman spin) |
|
||||||
plugins=(... bundler ...) |
|
||||||
``` |
|
||||||
This will exclude the `foreman` and `spin` gems (i.e. their executable) from being wrapped. |
|
||||||
|
|
||||||
## Excluded gems |
|
||||||
|
|
||||||
These gems should not be called with `bundle exec`. Please see [issue #2923](https://github.com/robbyrussell/oh-my-zsh/pull/2923) on GitHub for clarification. |
|
||||||
|
|
||||||
`berks` |
|
||||||
`foreman` |
|
||||||
`mailcatcher` |
|
||||||
`rails` |
|
||||||
`ruby` |
|
||||||
`spin` |
|
@ -1,104 +0,0 @@ |
|||||||
#compdef bundle |
|
||||||
|
|
||||||
local curcontext="$curcontext" state line _gems _opts ret=1 |
|
||||||
|
|
||||||
_arguments -C -A "-v" -A "--version" \ |
|
||||||
'(- 1 *)'{-v,--version}'[display version information]' \ |
|
||||||
'1: :->cmds' \ |
|
||||||
'*:: :->args' && ret=0 |
|
||||||
|
|
||||||
case $state in |
|
||||||
cmds) |
|
||||||
_values "bundle command" \ |
|
||||||
"install[Install the gems specified by the Gemfile or Gemfile.lock]" \ |
|
||||||
"update[Update dependencies to their latest versions]" \ |
|
||||||
"package[Package the .gem files required by your application]" \ |
|
||||||
"exec[Execute a script in the context of the current bundle]" \ |
|
||||||
"config[Specify and read configuration options for bundler]" \ |
|
||||||
"check[Determine whether the requirements for your application are installed]" \ |
|
||||||
"list[Show all of the gems in the current bundle]" \ |
|
||||||
"show[Show the source location of a particular gem in the bundle]" \ |
|
||||||
"outdated[Show all of the outdated gems in the current bundle]" \ |
|
||||||
"console[Start an IRB session in the context of the current bundle]" \ |
|
||||||
"open[Open an installed gem in the editor]" \ |
|
||||||
"viz[Generate a visual representation of your dependencies]" \ |
|
||||||
"init[Generate a simple Gemfile, placed in the current directory]" \ |
|
||||||
"gem[Create a simple gem, suitable for development with bundler]" \ |
|
||||||
"platform[Displays platform compatibility information]" \ |
|
||||||
"clean[Cleans up unused gems in your bundler directory]" \ |
|
||||||
"help[Describe available tasks or one specific task]" |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
args) |
|
||||||
case $line[1] in |
|
||||||
help) |
|
||||||
_values 'commands' \ |
|
||||||
'install' \ |
|
||||||
'update' \ |
|
||||||
'package' \ |
|
||||||
'exec' \ |
|
||||||
'config' \ |
|
||||||
'check' \ |
|
||||||
'list' \ |
|
||||||
'show' \ |
|
||||||
'outdated' \ |
|
||||||
'console' \ |
|
||||||
'open' \ |
|
||||||
'viz' \ |
|
||||||
'init' \ |
|
||||||
'gem' \ |
|
||||||
'platform' \ |
|
||||||
'help' && ret=0 |
|
||||||
;; |
|
||||||
install) |
|
||||||
_arguments \ |
|
||||||
'(--no-color)--no-color[disable colorization in output]' \ |
|
||||||
'(--local)--local[do not attempt to connect to rubygems.org]' \ |
|
||||||
'(--quiet)--quiet[only output warnings and errors]' \ |
|
||||||
'(--gemfile)--gemfile=-[use the specified gemfile instead of Gemfile]:gemfile' \ |
|
||||||
'(--system)--system[install to the system location]' \ |
|
||||||
'(--deployment)--deployment[install using defaults tuned for deployment environments]' \ |
|
||||||
'(--frozen)--frozen[do not allow the Gemfile.lock to be updated after this install]' \ |
|
||||||
'(--path)--path=-[specify a different path than the system default]:path:_files' \ |
|
||||||
'(--binstubs)--binstubs=-[generate bin stubs for bundled gems to ./bin]:directory:_files' \ |
|
||||||
'(--without)--without=-[exclude gems that are part of the specified named group]:groups' |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
exec) |
|
||||||
_normal && ret=0 |
|
||||||
;; |
|
||||||
clean) |
|
||||||
_arguments \ |
|
||||||
'(--force)--force[forces clean even if --path is not set]' \ |
|
||||||
'(--dry-run)--dry-run[only print out changes, do not actually clean gems]' \ |
|
||||||
'(--no-color)--no-color[Disable colorization in output]' \ |
|
||||||
'(--verbose)--verbose[Enable verbose output mode]' |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
outdated) |
|
||||||
_arguments \ |
|
||||||
'(--pre)--pre[Check for newer pre-release gems]' \ |
|
||||||
'(--source)--source[Check against a specific source]' \ |
|
||||||
'(--local)--local[Do not attempt to fetch gems remotely and use the gem cache instead]' \ |
|
||||||
'(--no-color)--no-color[Disable colorization in output]' \ |
|
||||||
'(--verbose)--verbose[Enable verbose output mode]' |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
(open|show) |
|
||||||
_gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') ) |
|
||||||
if [[ $_gems != "" ]]; then |
|
||||||
_values 'gems' $_gems && ret=0 |
|
||||||
fi |
|
||||||
;; |
|
||||||
*) |
|
||||||
_opts=( $(bundle help $line[1] | sed -e '/^ \[-/!d; s/^ \[\(-[^=]*\)=.*/\1/') ) |
|
||||||
_opts+=( $(bundle help $line[1] | sed -e '/^ -/!d; s/^ \(-.\), \[\(-[^=]*\)=.*/\1 \2/') ) |
|
||||||
if [[ $_opts != "" ]]; then |
|
||||||
_values 'options' $_opts && ret=0 |
|
||||||
fi |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
@ -1,115 +0,0 @@ |
|||||||
alias be="bundle exec" |
|
||||||
alias bl="bundle list" |
|
||||||
alias bp="bundle package" |
|
||||||
alias bo="bundle open" |
|
||||||
alias bout="bundle outdated" |
|
||||||
alias bu="bundle update" |
|
||||||
alias bi="bundle_install" |
|
||||||
alias bcn="bundle clean" |
|
||||||
|
|
||||||
bundled_commands=( |
|
||||||
annotate |
|
||||||
cap |
|
||||||
capify |
|
||||||
cucumber |
|
||||||
foodcritic |
|
||||||
guard |
|
||||||
hanami |
|
||||||
irb |
|
||||||
jekyll |
|
||||||
kitchen |
|
||||||
knife |
|
||||||
middleman |
|
||||||
nanoc |
|
||||||
pry |
|
||||||
puma |
|
||||||
rackup |
|
||||||
rainbows |
|
||||||
rake |
|
||||||
rspec |
|
||||||
shotgun |
|
||||||
sidekiq |
|
||||||
spec |
|
||||||
spork |
|
||||||
spring |
|
||||||
strainer |
|
||||||
tailor |
|
||||||
taps |
|
||||||
thin |
|
||||||
thor |
|
||||||
unicorn |
|
||||||
unicorn_rails |
|
||||||
) |
|
||||||
|
|
||||||
# Remove $UNBUNDLED_COMMANDS from the bundled_commands list |
|
||||||
for cmd in $UNBUNDLED_COMMANDS; do |
|
||||||
bundled_commands=(${bundled_commands#$cmd}); |
|
||||||
done |
|
||||||
|
|
||||||
# Add $BUNDLED_COMMANDS to the bundled_commands list |
|
||||||
for cmd in $BUNDLED_COMMANDS; do |
|
||||||
bundled_commands+=($cmd); |
|
||||||
done |
|
||||||
|
|
||||||
## Functions |
|
||||||
|
|
||||||
bundle_install() { |
|
||||||
if ! _bundler-installed; then |
|
||||||
echo "Bundler is not installed" |
|
||||||
elif ! _within-bundled-project; then |
|
||||||
echo "Can't 'bundle install' outside a bundled project" |
|
||||||
else |
|
||||||
local bundler_version=`bundle version | cut -d' ' -f3` |
|
||||||
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then |
|
||||||
if [[ "$OSTYPE" = (darwin|freebsd)* ]] |
|
||||||
then |
|
||||||
local cores_num="$(sysctl -n hw.ncpu)" |
|
||||||
else |
|
||||||
local cores_num="$(nproc)" |
|
||||||
fi |
|
||||||
bundle install --jobs=$cores_num $@ |
|
||||||
else |
|
||||||
bundle install $@ |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_bundler-installed() { |
|
||||||
which bundle > /dev/null 2>&1 |
|
||||||
} |
|
||||||
|
|
||||||
_within-bundled-project() { |
|
||||||
local check_dir="$PWD" |
|
||||||
while [ "$check_dir" != "/" ]; do |
|
||||||
[ -f "$check_dir/Gemfile" ] && return |
|
||||||
check_dir="$(dirname $check_dir)" |
|
||||||
done |
|
||||||
false |
|
||||||
} |
|
||||||
|
|
||||||
_binstubbed() { |
|
||||||
[ -f "./bin/${1}" ] |
|
||||||
} |
|
||||||
|
|
||||||
_run-with-bundler() { |
|
||||||
if _bundler-installed && _within-bundled-project; then |
|
||||||
if _binstubbed $1; then |
|
||||||
./bin/$@ |
|
||||||
else |
|
||||||
bundle exec $@ |
|
||||||
fi |
|
||||||
else |
|
||||||
$@ |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
## Main program |
|
||||||
for cmd in $bundled_commands; do |
|
||||||
eval "function unbundled_$cmd () { $cmd \$@ }" |
|
||||||
eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}" |
|
||||||
alias $cmd=bundled_$cmd |
|
||||||
|
|
||||||
if which _$cmd > /dev/null 2>&1; then |
|
||||||
compdef _$cmd bundled_$cmd=$cmd |
|
||||||
fi |
|
||||||
done |
|
@ -1,9 +0,0 @@ |
|||||||
# Bwana |
|
||||||
|
|
||||||
This plugin provides a function to open `man` pages directly with [Bwana](https://www.bruji.com/bwana/). |
|
||||||
|
|
||||||
To use it add bwana to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... bwana) |
|
||||||
``` |
|
@ -1,13 +0,0 @@ |
|||||||
# |
|
||||||
# Requires https://www.bruji.com/bwana/ |
|
||||||
# |
|
||||||
if [[ -e /Applications/Bwana.app ]] || |
|
||||||
( system_profiler -detailLevel mini SPApplicationsDataType | grep -q Bwana ) |
|
||||||
then |
|
||||||
function man() { |
|
||||||
open "man:$1" |
|
||||||
} |
|
||||||
else |
|
||||||
echo "Bwana lets you read man files in Safari through a man: URI scheme" |
|
||||||
echo "To use it within Zsh, install it from https://www.bruji.com/bwana/" |
|
||||||
fi |
|
@ -1,9 +0,0 @@ |
|||||||
# Cabal |
|
||||||
|
|
||||||
This plugin provides completion for [Cabal](https://www.haskell.org/cabal/), a build tool for Haskell. It |
|
||||||
also provides a function `cabal_sandbox_info` that prints whether the current working directory is in a sandbox. |
|
||||||
|
|
||||||
To use it, add cabal to the plugins array of your zshrc file: |
|
||||||
``` |
|
||||||
plugins=(... cabal) |
|
||||||
``` |
|
@ -1,93 +0,0 @@ |
|||||||
function cabal_sandbox_info() { |
|
||||||
cabal_files=(*.cabal(N)) |
|
||||||
if [ $#cabal_files -gt 0 ]; then |
|
||||||
if [ -f cabal.sandbox.config ]; then |
|
||||||
echo "%{$fg[green]%}sandboxed%{$reset_color%}" |
|
||||||
else |
|
||||||
echo "%{$fg[red]%}not sandboxed%{$reset_color%}" |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function _cabal_commands() { |
|
||||||
local ret=1 state |
|
||||||
_arguments ':subcommand:->subcommand' && ret=0 |
|
||||||
|
|
||||||
case $state in |
|
||||||
subcommand) |
|
||||||
subcommands=( |
|
||||||
"bench:Run the benchmark, if any (configure with UserHooks)" |
|
||||||
"build:Compile all targets or specific target." |
|
||||||
"check:Check the package for common mistakes" |
|
||||||
"clean:Clean up after a build" |
|
||||||
"copy:Copy the files into the install locations" |
|
||||||
"configure:Prepare to build the package" |
|
||||||
"exec:Run a command with the cabal environment" |
|
||||||
"fetch:Downloads packages for later installation" |
|
||||||
"freeze:Freeze dependencies." |
|
||||||
"get:Gets a package's source code" |
|
||||||
"haddock:Generate Haddock HTML documentation" |
|
||||||
"help:Help about commands" |
|
||||||
"hscolour:Generate HsColour colourised code, in HTML format" |
|
||||||
"info:Display detailed information about a particular package" |
|
||||||
"init:Interactively create a .cabal file" |
|
||||||
"install:Installs a list of packages" |
|
||||||
"list:List packages matching a search string" |
|
||||||
"register:Register this package with the compiler" |
|
||||||
"repl:Open an interpreter session for the given target" |
|
||||||
"report:Upload build reports to a remote server" |
|
||||||
"run:Runs the compiled executable" |
|
||||||
"sandbox:Create/modify/delete a sandbox" |
|
||||||
"sdist:Generate a source distribution file (.tar.gz)" |
|
||||||
"test:Run the test suite, if any (configure with UserHooks)" |
|
||||||
"unpack:Unpacks packages for user inspection" |
|
||||||
"update:Updates list of known packages" |
|
||||||
"upload:Uploads source packages to Hackage" |
|
||||||
) |
|
||||||
_describe -t subcommands 'cabal subcommands' subcommands && ret=0 |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
||||||
} |
|
||||||
|
|
||||||
compdef _cabal_commands cabal |
|
||||||
|
|
||||||
function _cab_commands() { |
|
||||||
local ret=1 state |
|
||||||
_arguments ':subcommand:->subcommand' && ret=0 |
|
||||||
|
|
||||||
case $state in |
|
||||||
subcommand) |
|
||||||
subcommands=( |
|
||||||
"sync:Fetch the latest package index" |
|
||||||
"install:Install packages" |
|
||||||
"uninstall:Uninstall packages" |
|
||||||
"installed:List installed packages" |
|
||||||
"configure:Configure a cabal package" |
|
||||||
"build:Build a cabal package" |
|
||||||
"clean:Clean up a build directory" |
|
||||||
"outdated:Display outdated packages" |
|
||||||
"info:Display information of a package" |
|
||||||
"sdist:Make tar.gz for source distribution" |
|
||||||
"upload:Uploading tar.gz to HackageDB" |
|
||||||
"get:Untar a package in the current directory" |
|
||||||
"deps:Show dependencies of this package" |
|
||||||
"revdeps:Show reverse dependencies of this package" |
|
||||||
"check:Check consistency of packages" |
|
||||||
"genpaths:Generate Paths_<pkg>.hs" |
|
||||||
"search:Search available packages by package name" |
|
||||||
"add:Add a source directory" |
|
||||||
"test:Run tests" |
|
||||||
"bench:Run benchmarks" |
|
||||||
"doc:Generate manuals" |
|
||||||
"ghci:Run GHCi (with a sandbox)" |
|
||||||
"init:Initialize a sandbox" |
|
||||||
"help:Display the help message of the command" |
|
||||||
) |
|
||||||
_describe -t subcommands 'cab subcommands' subcommands && ret=0 |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
||||||
} |
|
||||||
|
|
||||||
command -v cab >/dev/null 2>&1 && { compdef _cab_commands cab } |
|
@ -1,15 +0,0 @@ |
|||||||
# Cake |
|
||||||
|
|
||||||
This plugin provides completion for [CakePHP](https://cakephp.org/). |
|
||||||
|
|
||||||
To use it add cake to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... cake) |
|
||||||
``` |
|
||||||
|
|
||||||
## Note |
|
||||||
|
|
||||||
This plugin generates a cache file of the cake tasks found, named `.cake_task_cache`, in the current working directory. |
|
||||||
It is regenerated when the Cakefile is newer than the cache file. It is advised that you add the cake file to your |
|
||||||
`.gitignore` files. |
|
@ -1,33 +0,0 @@ |
|||||||
# Set this to 1 if you want to cache the tasks |
|
||||||
_cake_cache_task_list=1 |
|
||||||
|
|
||||||
# Cache filename |
|
||||||
_cake_task_cache_file='.cake_task_cache' |
|
||||||
|
|
||||||
_cake_get_target_list () { |
|
||||||
cake | grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$' |
|
||||||
} |
|
||||||
|
|
||||||
_cake_does_target_list_need_generating () { |
|
||||||
|
|
||||||
if [ ${_cake_cache_task_list} -eq 0 ]; then |
|
||||||
return 1; |
|
||||||
fi |
|
||||||
|
|
||||||
[ ! -f ${_cake_task_cache_file} ] && return 0; |
|
||||||
[ Cakefile -nt ${_cake_task_cache_file} ] && return 0; |
|
||||||
return 1; |
|
||||||
} |
|
||||||
|
|
||||||
_cake () { |
|
||||||
if [ -f Cakefile ]; then |
|
||||||
if _cake_does_target_list_need_generating; then |
|
||||||
_cake_get_target_list > ${_cake_task_cache_file} |
|
||||||
compadd `cat ${_cake_task_cache_file}` |
|
||||||
else |
|
||||||
compadd `_cake_get_target_list` |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _cake cake |
|
@ -1,38 +0,0 @@ |
|||||||
# CakePHP 3 basic command completion |
|
||||||
_cakephp3_get_command_list () { |
|
||||||
bin/cake Completion commands |
|
||||||
} |
|
||||||
|
|
||||||
_cakephp3_get_sub_command_list () { |
|
||||||
bin/cake Completion subcommands ${words[2]} |
|
||||||
} |
|
||||||
|
|
||||||
_cakephp3_get_3rd_argument () { |
|
||||||
bin/cake ${words[2]} ${words[3]} | \grep '\-\ '| \awk '{print $2}' |
|
||||||
} |
|
||||||
|
|
||||||
_cakephp3 () { |
|
||||||
local -a has3rdargument |
|
||||||
has3rdargument=("all" "controller" "fixture" "model" "template") |
|
||||||
if [ -f bin/cake ]; then |
|
||||||
if (( CURRENT == 2 )); then |
|
||||||
compadd $(_cakephp3_get_command_list) |
|
||||||
fi |
|
||||||
if (( CURRENT == 3 )); then |
|
||||||
compadd $(_cakephp3_get_sub_command_list) |
|
||||||
fi |
|
||||||
if (( CURRENT == 4 )); then |
|
||||||
if [[ ${has3rdargument[(i)${words[3]}]} -le ${#has3rdargument} ]]; then |
|
||||||
compadd $(_cakephp3_get_3rd_argument) |
|
||||||
fi |
|
||||||
fi |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
compdef _cakephp3 bin/cake |
|
||||||
compdef _cakephp3 cake |
|
||||||
|
|
||||||
#Alias |
|
||||||
alias c3='bin/cake' |
|
||||||
alias c3cache='bin/cake orm_cache clear' |
|
||||||
alias c3migrate='bin/cake migrations migrate' |
|
@ -1,14 +0,0 @@ |
|||||||
# Capistrano |
|
||||||
|
|
||||||
This plugin provides completion for [Capistrano](https://capistranorb.com/). |
|
||||||
|
|
||||||
To use it add capistrano to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... capistrano) |
|
||||||
``` |
|
||||||
|
|
||||||
For a working completion use the `capit` command instead of `cap`, because cap is a |
|
||||||
[reserved word in zsh](http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module). |
|
||||||
|
|
||||||
`capit` automatically runs cap with bundler if a Gemfile is found. |
|
@ -1,49 +0,0 @@ |
|||||||
#compdef capit |
|
||||||
#autoload |
|
||||||
|
|
||||||
# Added `capit` because `cap` is a reserved word. `cap` completion doesn't work. |
|
||||||
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module |
|
||||||
|
|
||||||
local curcontext="$curcontext" state line ret=1 |
|
||||||
local -a _configs |
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
'1: :->cmds' \ |
|
||||||
'2:: :->args' && ret=0 |
|
||||||
|
|
||||||
_cap_tasks() { |
|
||||||
if [[ -f config/deploy.rb || -f Capfile ]]; then |
|
||||||
if [[ ! -f .cap_tasks~ ]]; then |
|
||||||
capit --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~ |
|
||||||
fi |
|
||||||
|
|
||||||
OLD_IFS=$IFS |
|
||||||
IFS=$'\n' |
|
||||||
_values 'cap commands' $(< .cap_tasks~) |
|
||||||
IFS=$OLD_IFS |
|
||||||
# zmodload zsh/mapfile |
|
||||||
# _values ${(f)mapfile[.cap_tasks~]} |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_cap_stages() { |
|
||||||
compadd $(find config/deploy -name \*.rb | cut -d/ -f3 | sed s:.rb::g) |
|
||||||
} |
|
||||||
|
|
||||||
case $state in |
|
||||||
cmds) |
|
||||||
# check if it uses multistage |
|
||||||
if [[ -d config/deploy ]]; then |
|
||||||
_cap_stages |
|
||||||
else |
|
||||||
_cap_tasks |
|
||||||
fi |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
args) |
|
||||||
_cap_tasks |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
@ -1,11 +0,0 @@ |
|||||||
# Added `capit` because `cap` is a reserved word. `cap` completion doesn't work. |
|
||||||
# http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fcap-Module |
|
||||||
|
|
||||||
function capit() { |
|
||||||
if [ -f Gemfile ] |
|
||||||
then |
|
||||||
bundle exec cap $* |
|
||||||
else |
|
||||||
cap $* |
|
||||||
fi |
|
||||||
} |
|
@ -1,11 +0,0 @@ |
|||||||
# cargo |
|
||||||
|
|
||||||
This plugin adds completion for the Rust build tool [`cargo`](https://github.com/rust-lang/cargo). |
|
||||||
|
|
||||||
To use it, add `cargo` to the plugins array in your zshrc file: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... cargo) |
|
||||||
``` |
|
||||||
|
|
||||||
Updated on October 4th, 2016. |
|
@ -1,500 +0,0 @@ |
|||||||
#compdef cargo |
|
||||||
|
|
||||||
typeset -A opt_args |
|
||||||
autoload -U regexp-replace |
|
||||||
|
|
||||||
_cargo() { |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'(- 1 *)'{-h,--help}'[show help message]' \ |
|
||||||
'(- 1 *)'{-V,--version}'[show version information]' \ |
|
||||||
'(- 1 *)'--list'[list installed commands]' \ |
|
||||||
'(- 1 *)'--explain'[Run `rustc --explain CODE`]' \ |
|
||||||
'(- 1 *)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'(- 1 *)'--color'[colorization option]' \ |
|
||||||
'(- 1 *)'--frozen'[Require Cargo.lock and cache are up to date]' \ |
|
||||||
'(- 1 *)'--locked'[Require Cargo.lock is up to date]' \ |
|
||||||
'1: :_cargo_cmds' \ |
|
||||||
'*:: :->args' |
|
||||||
|
|
||||||
case $state in |
|
||||||
args) |
|
||||||
case $words[1] in |
|
||||||
bench) |
|
||||||
_arguments \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
"${command_scope_spec[@]}" \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'--no-run[compile but do not run]' \ |
|
||||||
'(-p,--package)'{-p=,--package=}'[package to run benchmarks for]:packages:_get_package_names' \ |
|
||||||
'--target=[target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
build) |
|
||||||
_arguments \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
"${command_scope_spec[@]}" \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'(-p,--package)'{-p=,--package=}'[package to build]:packages:_get_package_names' \ |
|
||||||
'--release=[build in release mode]' \ |
|
||||||
'--target=[target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
clean) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-p,--package)'{-p=,--package=}'[package to clean]:packages:_get_package_names' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release[whether or not to clean release artifacts]' \ |
|
||||||
'--target=[target triple(default:all)]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
doc) |
|
||||||
_arguments \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--no-deps[do not build docs for dependencies]' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'--open[open docs in browser after the build]' \ |
|
||||||
'(-p, --package)'{-p,--package}'=[package to document]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release[build artifacts in release mode, with optimizations]' \ |
|
||||||
'--target=[build for the target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
fetch) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
generate-lockfile) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
git-checkout) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'q(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--reference=[REF]' \ |
|
||||||
'--url=[URL]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
help) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'*: :_cargo_cmds' \ |
|
||||||
;; |
|
||||||
|
|
||||||
init) |
|
||||||
_arguments \ |
|
||||||
'--bin[use binary template]' \ |
|
||||||
'--vcs:initialize a new repo with a given VCS:(git hg none)' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--name=[set the resulting package name]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
install) |
|
||||||
_arguments \ |
|
||||||
'--bin=[only install the specified binary]' \ |
|
||||||
'--branch=[branch to use when installing from git]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'--debug[build in debug mode instead of release mode]' \ |
|
||||||
'--example[install the specified example instead of binaries]' \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'--git=[URL from which to install the crate]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'--path=[local filesystem path to crate to install]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--rev=[specific commit to use when installing from git]' \ |
|
||||||
'--root=[directory to install packages into]' \ |
|
||||||
'--tag=[tag to use when installing from git]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--vers=[version to install from crates.io]' \ |
|
||||||
;; |
|
||||||
|
|
||||||
locate-project) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
;; |
|
||||||
|
|
||||||
login) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--host=[Host to set the token for]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
metadata) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
"--no-deps[output information only about the root package and don't fetch dependencies]" \ |
|
||||||
'--no-default-features[do not include the default feature]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'--format-version=[format version(default: 1)]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
new) |
|
||||||
_arguments \ |
|
||||||
'--bin[use binary template]' \ |
|
||||||
'--vcs:initialize a new repo with a given VCS:(git hg none)' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--name=[set the resulting package name]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
owner) |
|
||||||
_arguments \ |
|
||||||
'(-a, --add)'{-a,--add}'[add owner LOGIN]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--index[registry index]' \ |
|
||||||
'(-l, --list)'{-l,--list}'[list owners of a crate]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-r, --remove)'{-r,--remove}'[remove owner LOGIN]' \ |
|
||||||
'--token[API token to use when authenticating]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
package) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-l, --list)'{-l,--list}'[print files included in a package without making one]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--no-metadata[ignore warnings about a lack of human-usable metadata]' \ |
|
||||||
'--no-verify[do not build to verify contents]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
pkgid) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
publish) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--host=[Host to set the token for]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--no-verify[Do not verify tarball until before publish]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--token[token to use when uploading]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
read-manifest) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
run) |
|
||||||
_arguments \ |
|
||||||
'--example=[name of the bin target]' \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--bin=[name of the bin target]' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release=[build in release mode]' \ |
|
||||||
'--target=[target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'*: :_normal' \ |
|
||||||
;; |
|
||||||
|
|
||||||
rustc) |
|
||||||
_arguments \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'--features=[features to compile for the package]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--manifest-path=[path to the manifest to fetch dependencies for]' \ |
|
||||||
'--no-default-features[do not compile default features for the package]' \ |
|
||||||
'(-p, --package)'{-p,--package}'=[profile to compile for]' \ |
|
||||||
'--profile=[profile to build the selected target for]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release[build artifacts in release mode, with optimizations]' \ |
|
||||||
'--target=[target triple which compiles will be for]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
"${command_scope_spec[@]}" \ |
|
||||||
;; |
|
||||||
|
|
||||||
rustdoc) |
|
||||||
_arguments \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'--features=[space-separated list of features to also build]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--manifest-path=[path to the manifest to document]' \ |
|
||||||
'--no-default-features[do not build the `default` feature]' \ |
|
||||||
'--open[open the docs in a browser after the operation]' \ |
|
||||||
'(-p, --package)'{-p,--package}'=[package to document]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release[build artifacts in release mode, with optimizations]' \ |
|
||||||
'--target=[build for the target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
"${command_scope_spec[@]}" \ |
|
||||||
;; |
|
||||||
|
|
||||||
search) |
|
||||||
_arguments \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--host=[host of a registry to search in]' \ |
|
||||||
'--limit=[limit the number of results]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
;; |
|
||||||
|
|
||||||
test) |
|
||||||
_arguments \ |
|
||||||
'--features=[space separated feature list]' \ |
|
||||||
'--all-features[enable all available features]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'--test=[test name]: :_test_names' \ |
|
||||||
'--no-default-features[do not build the default features]' \ |
|
||||||
'--no-fail-fast[run all tests regardless of failure]' \ |
|
||||||
'--no-run[compile but do not run]' \ |
|
||||||
'(-p,--package)'{-p=,--package=}'[package to run tests for]:packages:_get_package_names' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--release[build artifacts in release mode, with optimizations]' \ |
|
||||||
'--target=[target triple]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'1: :_test_names' \ |
|
||||||
;; |
|
||||||
|
|
||||||
uninstall) |
|
||||||
_arguments \ |
|
||||||
'--bin=[only uninstall the binary NAME]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[less output printed to stdout]' \ |
|
||||||
'--root=[directory to uninstall packages from]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
;; |
|
||||||
|
|
||||||
update) |
|
||||||
_arguments \ |
|
||||||
'--aggressive=[force dependency update]' \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-p,--package)'{-p=,--package=}'[package to update]:packages:__get_package_names' \ |
|
||||||
'--precise=[update single dependency to PRECISE]: :' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
verify-project) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--manifest-path=[path to manifest]: :_files -/' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
version) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
;; |
|
||||||
|
|
||||||
yank) |
|
||||||
_arguments \ |
|
||||||
'(-h, --help)'{-h,--help}'[show help message]' \ |
|
||||||
'--index[registry index]' \ |
|
||||||
'(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \ |
|
||||||
'--token[API token to use when authenticating]' \ |
|
||||||
'--undo[undo a yank, putting a version back into the index]' \ |
|
||||||
'(-v, --verbose)'{-v,--verbose}'[use verbose output]' \ |
|
||||||
'--color=:colorization option:(auto always never)' \ |
|
||||||
'--vers[yank version]' \ |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
_cargo_cmds(){ |
|
||||||
local -a commands;commands=( |
|
||||||
'bench:execute all benchmarks of a local package' |
|
||||||
'build:compile the current project' |
|
||||||
'clean:remove generated artifacts' |
|
||||||
'doc:build package documentation' |
|
||||||
'fetch:fetch package dependencies' |
|
||||||
'generate-lockfile:create lockfile' |
|
||||||
'git-checkout:git checkout' |
|
||||||
'help:get help for commands' |
|
||||||
'init:create new project in current directory' |
|
||||||
'install:install a Rust binary' |
|
||||||
'locate-project:print "Cargo.toml" location' |
|
||||||
'login:login to remote server' |
|
||||||
'metadata:the metadata for a project in json' |
|
||||||
'new:create a new project' |
|
||||||
'owner:manage the owners of a crate on the registry' |
|
||||||
'package:assemble local package into a distributable tarball' |
|
||||||
'pkgid:print a fully qualified package specification' |
|
||||||
'publish:upload package to the registry' |
|
||||||
'read-manifest:print manifest in JSON format' |
|
||||||
'run:run the main binary of the local package' |
|
||||||
'rustc:compile a package and all of its dependencies' |
|
||||||
'rustdoc:build documentation for a package' |
|
||||||
'search:search packages on crates.io' |
|
||||||
'test:execute all unit and tests of a local package' |
|
||||||
'uninstall:remove a Rust binary' |
|
||||||
'update:update dependencies' |
|
||||||
'verify-project:check Cargo.toml' |
|
||||||
'version:show version information' |
|
||||||
'yank:remove pushed file from index' |
|
||||||
) |
|
||||||
_describe 'command' commands |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
#FIXME: Disabled until fixed |
|
||||||
#gets package names from the manifest file |
|
||||||
_get_package_names() |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
#TODO:see if it makes sense to have 'locate-project' to have non-json output. |
|
||||||
#strips package name from json stuff |
|
||||||
_locate_manifest(){ |
|
||||||
local manifest=`cargo locate-project 2>/dev/null` |
|
||||||
regexp-replace manifest '\{"root":"|"\}' '' |
|
||||||
echo $manifest |
|
||||||
} |
|
||||||
|
|
||||||
# Extracts the values of "name" from the array given in $1 and shows them as |
|
||||||
# command line options for completion |
|
||||||
_get_names_from_array() |
|
||||||
{ |
|
||||||
local -a filelist; |
|
||||||
local manifest=$(_locate_manifest) |
|
||||||
if [[ -z $manifest ]]; then |
|
||||||
return 0 |
|
||||||
fi |
|
||||||
|
|
||||||
local last_line |
|
||||||
local -a names; |
|
||||||
local in_block=false |
|
||||||
local block_name=$1 |
|
||||||
names=() |
|
||||||
while read line |
|
||||||
do |
|
||||||
if [[ $last_line == "[[$block_name]]" ]]; then |
|
||||||
in_block=true |
|
||||||
else |
|
||||||
if [[ $last_line =~ '.*\[\[.*' ]]; then |
|
||||||
in_block=false |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ $in_block == true ]]; then |
|
||||||
if [[ $line =~ '.*name.*=' ]]; then |
|
||||||
regexp-replace line '^.*name *= *|"' "" |
|
||||||
names+=$line |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
last_line=$line |
|
||||||
done < $manifest |
|
||||||
_describe $block_name names |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
#Gets the test names from the manifest file |
|
||||||
_test_names() |
|
||||||
{ |
|
||||||
_get_names_from_array "test" |
|
||||||
} |
|
||||||
|
|
||||||
#Gets the bench names from the manifest file |
|
||||||
_benchmark_names() |
|
||||||
{ |
|
||||||
_get_names_from_array "bench" |
|
||||||
} |
|
||||||
|
|
||||||
# These flags are mutally exclusive specifiers for the scope of a command; as |
|
||||||
# they are used in multiple places without change, they are expanded into the |
|
||||||
# appropriate command's `_arguments` where appropriate. |
|
||||||
set command_scope_spec |
|
||||||
command_scope_spec=( |
|
||||||
'(--bin --example --test --lib)--bench=[benchmark name]: :_benchmark_names' |
|
||||||
'(--bench --bin --test --lib)--example=[example name]' |
|
||||||
'(--bench --example --test --lib)--bin=[binary name]' |
|
||||||
'(--bench --bin --example --test)--lib=[library name]' |
|
||||||
'(--bench --bin --example --lib)--test=[test name]' |
|
||||||
) |
|
||||||
|
|
||||||
|
|
||||||
_cargo |
|
@ -1,15 +0,0 @@ |
|||||||
# Cask plugin |
|
||||||
|
|
||||||
[Cask](https://github.com/cask/cask) is a project management tool for Emacs that helps |
|
||||||
automate the package development cycle; development, dependencies, testing, building, |
|
||||||
packaging and more. |
|
||||||
|
|
||||||
This plugin loads `cask` completion from non-standard locations, such as if installed |
|
||||||
via Homebrew or others. To enable it, add `cask` to your plugins array: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... cask) |
|
||||||
``` |
|
||||||
|
|
||||||
Make sure you have the `cask` directory in your `$PATH` before loading Oh My Zsh, |
|
||||||
otherwise you'll get a "command not found" error. |
|
@ -1,26 +0,0 @@ |
|||||||
() { |
|
||||||
emulate -L zsh |
|
||||||
|
|
||||||
if ! (( $+commands[cask] )); then |
|
||||||
print "zsh cask plugin: cask command not found" >&2 |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
cask_base=${commands[cask]:h:h} |
|
||||||
|
|
||||||
# Plain cask installation location (for Cask 0.7.2 and earlier) |
|
||||||
comp_files=($cask_base/etc/cask_completion.zsh) |
|
||||||
|
|
||||||
# Mac Homebrew installs the completion in a different location |
|
||||||
if (( $+commands[brew] )); then |
|
||||||
comp_files+=($(brew --prefix)/share/zsh/site-functions/cask_completion.zsh) |
|
||||||
fi |
|
||||||
|
|
||||||
# Load first found file |
|
||||||
for f in $comp_files; do |
|
||||||
if [[ -f "$f" ]]; then |
|
||||||
source "$f" |
|
||||||
break |
|
||||||
fi |
|
||||||
done |
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
# catimg |
|
||||||
|
|
||||||
Plugin for displaying images on the terminal using the the `catimg.sh` script provided by [posva](https://github.com/posva/catimg) |
|
||||||
|
|
||||||
## Requirements |
|
||||||
|
|
||||||
- `convert` (ImageMagick) |
|
||||||
|
|
||||||
## Enabling the plugin |
|
||||||
|
|
||||||
1. Open your `.zshrc` file and add `catimg` in the plugins section: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=( |
|
||||||
# all your enabled plugins |
|
||||||
catimg |
|
||||||
) |
|
||||||
``` |
|
||||||
|
|
||||||
2. Reload the source file or restart your Terminal session: |
|
||||||
|
|
||||||
```console |
|
||||||
$ source ~/.zshrc |
|
||||||
$ |
|
||||||
``` |
|
||||||
|
|
||||||
## Functions |
|
||||||
|
|
||||||
| Function | Description | |
|
||||||
| -------- | ---------------------------------------- | |
|
||||||
| `catimg` | Displays the given image on the terminal | |
|
||||||
|
|
||||||
## Usage examples |
|
||||||
|
|
||||||
[![asciicast](https://asciinema.org/a/204702.png)](https://asciinema.org/a/204702) |
|
@ -1,17 +0,0 @@ |
|||||||
################################################################################ |
|
||||||
# catimg script by Eduardo San Martin Morote aka Posva # |
|
||||||
# https://posva.net # |
|
||||||
# # |
|
||||||
# Ouput the content of an image to the stdout using the 256 colors of the # |
|
||||||
# terminal. # |
|
||||||
# Github: https://github.com/posva/catimg # |
|
||||||
################################################################################ |
|
||||||
|
|
||||||
|
|
||||||
function catimg() { |
|
||||||
if [[ -x `which convert` ]]; then |
|
||||||
zsh $ZSH/plugins/catimg/catimg.sh $@ |
|
||||||
else |
|
||||||
echo "catimg need convert (ImageMagick) to work)" |
|
||||||
fi |
|
||||||
} |
|
@ -1,88 +0,0 @@ |
|||||||
################################################################################ |
|
||||||
# catimg script by Eduardo San Martin Morote aka Posva # |
|
||||||
# https://posva.net # |
|
||||||
# # |
|
||||||
# Ouput the content of an image to the stdout using the 256 colors of the # |
|
||||||
# terminal. # |
|
||||||
# Github: https://github.com/posva/catimg # |
|
||||||
################################################################################ |
|
||||||
|
|
||||||
function help() { |
|
||||||
echo "Usage catimg [-h] [-w width] [-c char] img" |
|
||||||
echo "By default char is \" \" and w is the terminal width" |
|
||||||
} |
|
||||||
|
|
||||||
# VARIABLES |
|
||||||
COLOR_FILE=$(dirname $0)/colors.png |
|
||||||
CHAR=" " |
|
||||||
|
|
||||||
WIDTH="" |
|
||||||
IMG="" |
|
||||||
|
|
||||||
while getopts qw:c:h opt; do |
|
||||||
case "$opt" in |
|
||||||
w) WIDTH="$OPTARG" ;; |
|
||||||
c) CHAR="$OPTARG" ;; |
|
||||||
h) help; exit ;; |
|
||||||
*) help ; exit 1;; |
|
||||||
esac |
|
||||||
done |
|
||||||
|
|
||||||
while [ "$1" ]; do |
|
||||||
IMG="$1" |
|
||||||
shift |
|
||||||
done |
|
||||||
|
|
||||||
if [ "$IMG" = "" -o ! -f "$IMG" ]; then |
|
||||||
help |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
if [ ! "$WIDTH" ]; then |
|
||||||
COLS=$(expr $(tput cols) "/" $(echo -n "$CHAR" | wc -c)) |
|
||||||
else |
|
||||||
COLS=$(expr $WIDTH "/" $(echo -n "$CHAR" | wc -c)) |
|
||||||
fi |
|
||||||
WIDTH=$(convert "$IMG" -print "%w\n" /dev/null) |
|
||||||
if [ "$WIDTH" -gt "$COLS" ]; then |
|
||||||
WIDTH=$COLS |
|
||||||
fi |
|
||||||
|
|
||||||
REMAP="" |
|
||||||
if convert "$IMG" -resize $COLS\> +dither -remap $COLOR_FILE /dev/null ; then |
|
||||||
REMAP="-remap $COLOR_FILE" |
|
||||||
else |
|
||||||
echo "The version of convert is too old, don't expect good results :(" >&2 |
|
||||||
#convert "$IMG" -colors 256 PNG8:tmp.png |
|
||||||
#IMG="tmp.png" |
|
||||||
fi |
|
||||||
|
|
||||||
# Display the image |
|
||||||
I=0 |
|
||||||
convert "$IMG" -resize $COLS\> +dither `echo $REMAP` txt:- 2>/dev/null | |
|
||||||
sed -e 's/.*none.*/NO NO NO/g' -e '1d;s/^.*(\(.*\)[,)].*$/\1/g;y/,/ /' | |
|
||||||
while read R G B f; do |
|
||||||
if [ ! "$R" = "NO" ]; then |
|
||||||
if [ "$R" -eq "$G" -a "$G" -eq "$B" ]; then |
|
||||||
(( |
|
||||||
I++, |
|
||||||
IDX = 232 + R * 23 / 255 |
|
||||||
)) |
|
||||||
else |
|
||||||
(( |
|
||||||
I++, |
|
||||||
IDX = 16 |
|
||||||
+ R * 5 / 255 * 36 |
|
||||||
+ G * 5 / 255 * 6 |
|
||||||
+ B * 5 / 255 |
|
||||||
)) |
|
||||||
fi |
|
||||||
#echo "$R,$G,$B: $IDX" |
|
||||||
echo -ne "\e[48;5;${IDX}m${CHAR}" |
|
||||||
else |
|
||||||
(( I++ )) |
|
||||||
echo -ne "\e[0m${CHAR}" |
|
||||||
fi |
|
||||||
# New lines |
|
||||||
(( $I % $WIDTH )) || echo -e "\e[0m" |
|
||||||
done |
|
Before Width: | Height: | Size: 353 B |
@ -1,9 +0,0 @@ |
|||||||
# Celery |
|
||||||
|
|
||||||
This plugin provides completion for [Celery](http://www.celeryproject.org/). |
|
||||||
|
|
||||||
To use it add celery to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... celery) |
|
||||||
``` |
|
@ -1,129 +0,0 @@ |
|||||||
#compdef celery |
|
||||||
#autoload |
|
||||||
|
|
||||||
#celery zsh completion |
|
||||||
|
|
||||||
_celery () { |
|
||||||
local -a _1st_arguments ifargs dopts controlargs |
|
||||||
|
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
_1st_arguments=('worker' 'events' 'beat' 'shell' 'multi' 'amqp' 'status' 'inspect' \ |
|
||||||
'control' 'purge' 'list' 'migrate' 'call' 'result' 'report') |
|
||||||
ifargs=('--app=' '--broker=' '--loader=' '--config=' '--version') |
|
||||||
dopts=('--detach' '--umask=' '--gid=' '--uid=' '--pidfile=' '--logfile=' '--loglevel=') |
|
||||||
controlargs=('--timeout' '--destination') |
|
||||||
_arguments \ |
|
||||||
'(-A --app=)'{-A,--app}'[app instance to use (e.g. module.attr_name):APP]' \ |
|
||||||
'(-b --broker=)'{-b,--broker}'[url to broker. default is "amqp://guest@localhost//":BROKER]' \ |
|
||||||
'(--loader)--loader[name of custom loader class to use.:LOADER]' \ |
|
||||||
'(--config)--config[Name of the configuration module:CONFIG]' \ |
|
||||||
'(--workdir)--workdir[Optional directory to change to after detaching.:WORKING_DIRECTORY]' \ |
|
||||||
'(-q --quiet)'{-q,--quiet}'[Don"t show as much output.]' \ |
|
||||||
'(-C --no-color)'{-C,--no-color}'[Don"t display colors.]' \ |
|
||||||
'(--version)--version[show program"s version number and exit]' \ |
|
||||||
'(- : *)'{-h,--help}'[show this help message and exit]' \ |
|
||||||
'*:: :->subcmds' && return 0 |
|
||||||
|
|
||||||
if (( CURRENT == 1 )); then |
|
||||||
_describe -t commands "celery subcommand" _1st_arguments |
|
||||||
return |
|
||||||
fi |
|
||||||
|
|
||||||
case "$words[1]" in |
|
||||||
worker) |
|
||||||
_arguments \ |
|
||||||
'(-C --concurrency=)'{-C,--concurrency=}'[Number of child processes processing the queue. The default is the number of CPUs.]' \ |
|
||||||
'(--pool)--pool=:::(processes eventlet gevent threads solo)' \ |
|
||||||
'(--purge --discard)'{--discard,--purge}'[Purges all waiting tasks before the daemon is started.]' \ |
|
||||||
'(-f --logfile=)'{-f,--logfile=}'[Path to log file. If no logfile is specified, stderr is used.]' \ |
|
||||||
'(--loglevel=)--loglevel=:::(critical error warning info debug)' \ |
|
||||||
'(-N --hostname=)'{-N,--hostname=}'[Set custom hostname, e.g. "foo.example.com".]' \ |
|
||||||
'(-B --beat)'{-B,--beat}'[Also run the celerybeat periodic task scheduler.]' \ |
|
||||||
'(-s --schedule=)'{-s,--schedule=}'[Path to the schedule database if running with the -B option. Defaults to celerybeat-schedule.]' \ |
|
||||||
'(-S --statedb=)'{-S,--statedb=}'[Path to the state database.Default: None]' \ |
|
||||||
'(-E --events)'{-E,--events}'[Send events that can be captured by monitors like celeryev, celerymon, and others.]' \ |
|
||||||
'(--time-limit=)--time-limit=[nables a hard time limit (in seconds int/float) for tasks]' \ |
|
||||||
'(--soft-time-limit=)--soft-time-limit=[Enables a soft time limit (in seconds int/float) for tasks]' \ |
|
||||||
'(--maxtasksperchild=)--maxtasksperchild=[Maximum number of tasks a pool worker can execute before it"s terminated and replaced by a new worker.]' \ |
|
||||||
'(-Q --queues=)'{-Q,--queues=}'[List of queues to enable for this worker, separated by comma. By default all configured queues are enabled.]' \ |
|
||||||
'(-I --include=)'{-I,--include=}'[Comma separated list of additional modules to import.]' \ |
|
||||||
'(--pidfile=)--pidfile=[Optional file used to store the process pid.]' \ |
|
||||||
'(--autoscale=)--autoscale=[Enable autoscaling by providing max_concurrency, min_concurrency.]' \ |
|
||||||
'(--autoreload)--autoreload[Enable autoreloading.]' \ |
|
||||||
'(--no-execv)--no-execv[Don"t do execv after multiprocessing child fork.]' |
|
||||||
compadd -a ifargs |
|
||||||
;; |
|
||||||
inspect) |
|
||||||
_values -s \ |
|
||||||
'active[dump active tasks (being processed)]' \ |
|
||||||
'active_queues[dump queues being consumed from]' \ |
|
||||||
'ping[ping worker(s)]' \ |
|
||||||
'registered[dump of registered tasks]' \ |
|
||||||
'report[get bugreport info]' \ |
|
||||||
'reserved[dump reserved tasks (waiting to be processed)]' \ |
|
||||||
'revoked[dump of revoked task ids]' \ |
|
||||||
'scheduled[dump scheduled tasks (eta/countdown/retry)]' \ |
|
||||||
'stats[dump worker statistics]' |
|
||||||
compadd -a controlargs ifargs |
|
||||||
;; |
|
||||||
control) |
|
||||||
_values -s \ |
|
||||||
'add_consumer[tell worker(s) to start consuming a queue]' \ |
|
||||||
'autoscale[change autoscale settings]' \ |
|
||||||
'cancel_consumer[tell worker(s) to stop consuming a queue]' \ |
|
||||||
'disable_events[tell worker(s) to disable events]' \ |
|
||||||
'enable_events[tell worker(s) to enable events]' \ |
|
||||||
'pool_grow[start more pool processes]' \ |
|
||||||
'pool_shrink[use less pool processes]' \ |
|
||||||
'rate_limit[tell worker(s) to modify the rate limit for a task type]' \ |
|
||||||
'time_limit[tell worker(s) to modify the time limit for a task type.]' |
|
||||||
compadd -a controlargs ifargs |
|
||||||
;; |
|
||||||
multi) |
|
||||||
_values -s \ |
|
||||||
'--nosplash[Don"t display program info.]' \ |
|
||||||
'--verbose[Show more output.]' \ |
|
||||||
'--no-color[Don"t display colors.]' \ |
|
||||||
'--quiet[Don"t show as much output.]' \ |
|
||||||
'start' 'restart' 'stopwait' 'stop' 'show' \ |
|
||||||
'names' 'expand' 'get' 'kill' |
|
||||||
compadd -a ifargs |
|
||||||
;; |
|
||||||
amqp) |
|
||||||
_values -s \ |
|
||||||
'queue.declare' 'queue.purge' 'exchange.delete' 'basic.publish' \ |
|
||||||
'exchange.declare' 'queue.delete' 'queue.bind' 'basic.get' |
|
||||||
;; |
|
||||||
list) |
|
||||||
_values -s, 'bindings' |
|
||||||
;; |
|
||||||
shell) |
|
||||||
_values -s \ |
|
||||||
'--ipython[force iPython.]' \ |
|
||||||
'--bpython[force bpython.]' \ |
|
||||||
'--python[force default Python shell.]' \ |
|
||||||
'--without-tasks[don"t add tasks to locals.]' \ |
|
||||||
'--eventlet[use eventlet.]' \ |
|
||||||
'--gevent[use gevent.]' |
|
||||||
compadd -a ifargs |
|
||||||
;; |
|
||||||
beat) |
|
||||||
_arguments \ |
|
||||||
'(-s --schedule=)'{-s,--schedule=}'[Path to the schedule database. Defaults to celerybeat-schedule.]' \ |
|
||||||
'(-S --scheduler=)'{-S,--scheduler=}'[Scheduler class to use. Default is celery.beat.PersistentScheduler.]' \ |
|
||||||
'(--max-interval)--max-interval[]' |
|
||||||
compadd -a dopts fargs |
|
||||||
;; |
|
||||||
events) |
|
||||||
_arguments \ |
|
||||||
'(-d --dump)'{-d,--dump}'[Dump events to stdout.]' \ |
|
||||||
'(-c --camera=)'{-c,--camera=}'[Take snapshots of events using this camera.]' \ |
|
||||||
'(-F --frequency=)'{-F,--frequency=}'[Camera: Shutter frequency. Default is every 1.0 seconds.]' \ |
|
||||||
'(-r --maxrate=)'{-r,--maxrate=}'[Camera: Optional shutter rate limit (e.g. 10/m).]' |
|
||||||
compadd -a dopts fargs |
|
||||||
;; |
|
||||||
*) |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
@ -1,121 +0,0 @@ |
|||||||
# |
|
||||||
# INSTRUCTIONS |
|
||||||
# |
|
||||||
# With either a manual or brew installed chruby things should just work. |
|
||||||
# |
|
||||||
# If you'd prefer to specify an explicit path to load chruby from |
|
||||||
# you can set variables like so: |
|
||||||
# |
|
||||||
# zstyle :omz:plugins:chruby path /local/path/to/chruby.sh |
|
||||||
# zstyle :omz:plugins:chruby auto /local/path/to/auto.sh |
|
||||||
# |
|
||||||
# TODO |
|
||||||
# - autodetermine correct source path on non OS X systems |
|
||||||
# - completion if ruby-install exists |
|
||||||
|
|
||||||
# rvm and rbenv plugins also provide this alias |
|
||||||
alias rubies='chruby' |
|
||||||
|
|
||||||
|
|
||||||
_homebrew-installed() { |
|
||||||
whence brew &> /dev/null |
|
||||||
_xit=$? |
|
||||||
if [ $_xit -eq 0 ];then |
|
||||||
# ok , we have brew installed |
|
||||||
# speculatively we check default brew prefix |
|
||||||
if [ -h /usr/local/opt/chruby ];then |
|
||||||
_brew_prefix="/usr/local/opt/chruby" |
|
||||||
else |
|
||||||
# ok , it is not default prefix |
|
||||||
# this call to brew is expensive ( about 400 ms ), so at least let's make it only once |
|
||||||
_brew_prefix=$(brew --prefix chruby) |
|
||||||
fi |
|
||||||
return 0 |
|
||||||
else |
|
||||||
return $_xit |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_chruby-from-homebrew-installed() { |
|
||||||
[ -r _brew_prefix ] &> /dev/null |
|
||||||
} |
|
||||||
|
|
||||||
_ruby-build_installed() { |
|
||||||
whence ruby-build &> /dev/null |
|
||||||
} |
|
||||||
|
|
||||||
_ruby-install-installed() { |
|
||||||
whence ruby-install &> /dev/null |
|
||||||
} |
|
||||||
|
|
||||||
# Simple definition completer for ruby-build |
|
||||||
if _ruby-build_installed; then |
|
||||||
_ruby-build() { compadd $(ruby-build --definitions) } |
|
||||||
compdef _ruby-build ruby-build |
|
||||||
fi |
|
||||||
|
|
||||||
_source_from_omz_settings() { |
|
||||||
local _chruby_path |
|
||||||
local _chruby_auto |
|
||||||
|
|
||||||
zstyle -s :omz:plugins:chruby path _chruby_path |
|
||||||
zstyle -s :omz:plugins:chruby auto _chruby_auto |
|
||||||
|
|
||||||
if [[ -r ${_chruby_path} ]]; then |
|
||||||
source ${_chruby_path} |
|
||||||
fi |
|
||||||
|
|
||||||
if [[ -r ${_chruby_auto} ]]; then |
|
||||||
source ${_chruby_auto} |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_chruby_dirs() { |
|
||||||
chrubydirs=($HOME/.rubies/ $PREFIX/opt/rubies) |
|
||||||
for dir in chrubydirs; do |
|
||||||
if [[ -d $dir ]]; then |
|
||||||
RUBIES+=$dir |
|
||||||
fi |
|
||||||
done |
|
||||||
} |
|
||||||
|
|
||||||
if _homebrew-installed && _chruby-from-homebrew-installed ; then |
|
||||||
source $_brew_prefix/share/chruby/chruby.sh |
|
||||||
source $_brew_prefix/share/chruby/auto.sh |
|
||||||
_chruby_dirs |
|
||||||
elif [[ -r "/usr/local/share/chruby/chruby.sh" ]] ; then |
|
||||||
source /usr/local/share/chruby/chruby.sh |
|
||||||
source /usr/local/share/chruby/auto.sh |
|
||||||
_chruby_dirs |
|
||||||
else |
|
||||||
_source_from_omz_settings |
|
||||||
_chruby_dirs |
|
||||||
fi |
|
||||||
|
|
||||||
function ensure_chruby() { |
|
||||||
$(whence chruby) |
|
||||||
} |
|
||||||
|
|
||||||
function current_ruby() { |
|
||||||
local _ruby |
|
||||||
_ruby="$(chruby |grep \* |tr -d '* ')" |
|
||||||
if [[ $(chruby |grep -c \*) -eq 1 ]]; then |
|
||||||
echo ${_ruby} |
|
||||||
else |
|
||||||
echo "system" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function chruby_prompt_info() { |
|
||||||
echo "$(current_ruby)" |
|
||||||
} |
|
||||||
|
|
||||||
# complete on installed rubies |
|
||||||
_chruby() { |
|
||||||
compadd $(chruby | tr -d '* ') |
|
||||||
local default_path='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin' |
|
||||||
if PATH=${default_path} type ruby &> /dev/null; then |
|
||||||
compadd system |
|
||||||
fi |
|
||||||
} |
|
||||||
compdef _chruby chruby |
|
@ -1 +0,0 @@ |
|||||||
fortunes/chucknorris.dat |
|
@ -1,20 +0,0 @@ |
|||||||
# chucknorris |
|
||||||
|
|
||||||
Chuck Norris fortunes plugin for oh-my-zsh |
|
||||||
|
|
||||||
**Maintainers**: [apjanke](https://github.com/apjanke) [maff](https://github.com/maff) |
|
||||||
|
|
||||||
To use it add `chucknorris` to the plugins array in you zshrc file. |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... chucknorris) |
|
||||||
``` |
|
||||||
|
|
||||||
|
|
||||||
Depends on fortune (and cowsay if using chuck_cow) being installed (available via homebrew, apt, ...). Perfectly suitable as MOTD. |
|
||||||
|
|
||||||
|
|
||||||
| Command | Description | |
|
||||||
| ----------- | ------------------------------- | |
|
||||||
| `chuck` | Print random Chuck Norris quote | |
|
||||||
| `chuck_cow` | Print quote in cowthink | |
|
@ -1,28 +0,0 @@ |
|||||||
# chucknorris: Chuck Norris fortunes |
|
||||||
|
|
||||||
# Automatically generate or update Chuck's compiled fortune data file |
|
||||||
# $0 must be used outside a local function. This variable name is unlikly to collide. |
|
||||||
CHUCKNORRIS_PLUGIN_DIR=${0:h} |
|
||||||
|
|
||||||
() { |
|
||||||
local DIR=$CHUCKNORRIS_PLUGIN_DIR/fortunes |
|
||||||
if [[ ! -f $DIR/chucknorris.dat ]] || [[ $DIR/chucknorris.dat -ot $DIR/chucknorris ]]; then |
|
||||||
# For some reason, Cygwin puts strfile in /usr/sbin, which is not on the path by default |
|
||||||
local strfile=strfile |
|
||||||
if ! which strfile &>/dev/null && [[ -f /usr/sbin/strfile ]]; then |
|
||||||
strfile=/usr/sbin/strfile |
|
||||||
fi |
|
||||||
if which $strfile &> /dev/null; then |
|
||||||
$strfile $DIR/chucknorris $DIR/chucknorris.dat >/dev/null |
|
||||||
else |
|
||||||
echo "[oh-my-zsh] chucknorris depends on strfile, which is not installed" >&2 |
|
||||||
echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2 |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
# Aliases |
|
||||||
alias chuck="fortune -a $DIR" |
|
||||||
alias chuck_cow="chuck | cowthink" |
|
||||||
} |
|
||||||
|
|
||||||
unset CHUCKNORRIS_PLUGIN_DIR |
|
File diff suppressed because it is too large
Load Diff
@ -1,2 +0,0 @@ |
|||||||
#!/bin/zsh |
|
||||||
alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb |
|
@ -1,60 +0,0 @@ |
|||||||
#!/usr/bin/env ruby |
|
||||||
# |
|
||||||
# cloudapp |
|
||||||
# Zach Holman / @holman |
|
||||||
# |
|
||||||
# Uploads a file from the command line to CloudApp, drops it into your |
|
||||||
# clipboard (on a Mac, at least). |
|
||||||
# |
|
||||||
# Example: |
|
||||||
# |
|
||||||
# cloudapp drunk-blake.png |
|
||||||
# |
|
||||||
# This requires Aaron Russell's cloudapp_api gem: |
|
||||||
# |
|
||||||
# gem install cloudapp_api |
|
||||||
# |
|
||||||
# Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of: |
|
||||||
# |
|
||||||
# email |
|
||||||
# password |
|
||||||
|
|
||||||
require 'rubygems' |
|
||||||
begin |
|
||||||
require 'cloudapp_api' |
|
||||||
rescue LoadError |
|
||||||
puts "You need to install cloudapp_api: gem install cloudapp_api" |
|
||||||
exit!(1) |
|
||||||
end |
|
||||||
|
|
||||||
config_file = "#{ENV['HOME']}/.cloudapp" |
|
||||||
unless File.exist?(config_file) |
|
||||||
puts "You need to type your email and password (one per line) into "+ |
|
||||||
"`~/.cloudapp`" |
|
||||||
exit!(1) |
|
||||||
end |
|
||||||
|
|
||||||
email,password = File.read(config_file).split("\n") |
|
||||||
|
|
||||||
class HTTParty::Response |
|
||||||
# Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU |
|
||||||
# LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT |
|
||||||
def ok? ; true end |
|
||||||
end |
|
||||||
|
|
||||||
if ARGV[0].nil? |
|
||||||
puts "You need to specify a file to upload." |
|
||||||
exit!(1) |
|
||||||
end |
|
||||||
|
|
||||||
CloudApp.authenticate(email,password) |
|
||||||
url = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url |
|
||||||
|
|
||||||
# Say it for good measure. |
|
||||||
puts "Uploaded to #{url}." |
|
||||||
|
|
||||||
# Get the embed link. |
|
||||||
url = "#{url}/#{ARGV[0].split('/').last}" |
|
||||||
|
|
||||||
# Copy it to your (Mac's) clipboard. |
|
||||||
`echo '#{url}' | tr -d "\n" | pbcopy` |
|
@ -1,58 +0,0 @@ |
|||||||
# Cloudfoundry Plugin |
|
||||||
|
|
||||||
This plugin is intended to offer a few simple aliases for regular users of the [Cloud Foundry Cli][1]. Most are just simple aliases that will save a bit of typing. Others include mini functions and or accept parameters. Take a look at the table below for details. |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
|----------|-----------------------------|--------------------------------------------------------------------------| |
|
||||||
| cfl | `cf login` | Login to Cloud Foundry | |
|
||||||
| cft | `cf target` | Target the cli at a specific Org/Space in Cloud Foundry | |
|
||||||
| cfa | `cf apps` | List all applications in the current Org/Space | |
|
||||||
| cfs | `cf services` | List all services in the current Org/Space | |
|
||||||
| cfm | `cf marketplace` | List the services available in the Marketplace | |
|
||||||
| cfp | `cf push` | Push your application code to Cloud Foundry | |
|
||||||
| cfcs | `cf create-service` | Create a service based on a Marketplace offering | |
|
||||||
| cfbs | `cf bind-service` | Bind an application to a service you created | |
|
||||||
| cfus | `cf unbind-service` | Unbind a service from an application | |
|
||||||
| cfds | `cf delete-service` | Delete a service you no longer have bound | |
|
||||||
| cfup | `cf cups` | Create a "user-provided-service" | |
|
||||||
| cflg | `cf logs` | Tail the logs of an application (requires <APP_NAME>) | |
|
||||||
| cfr | `cf routes` | List all the routes in the current Space | |
|
||||||
| cfe | `cf env` | Show the environment variables for an application (requires <APP_NAME>) | |
|
||||||
| cfsh | `cf ssh` | Attach to a running container (requires an <APP_NAME> etc.) | |
|
||||||
| cfsc | `cf scale` | Scale an application (requires an <APP_NAME> etc.) | |
|
||||||
| cfev | `cf events` | Show the application events (requires <APP_NAME>) | |
|
||||||
| cfdor | `cf delete-orphaned-routes` | Delete routes that are no longer bound to applications | |
|
||||||
| cfbpk | `cf buildpacks` | List the available buildpacks | |
|
||||||
| cfdm | `cf domains` | List the domains associates with this Cloud Foundry foundation | |
|
||||||
| cfsp | `cf spaces` | List all the Spaces in the current Org | |
|
||||||
| cfap | `cf app` | Show the details of a deployed application (requires <APP_NAME>) | |
|
||||||
| cfh. | `export CF_HOME=$PWD/.cf` | Set the current directory as CF_HOME | |
|
||||||
| cfh~ | `export CF_HOME=~/.cf` | Set the user's root directory as CF_HOME | |
|
||||||
| cfhu | `unset CF_HOME` | Unsets CF_HOME | |
|
||||||
| cfpm | `cf push -f` | Push an application using a manifest (requires <MANIFEST_FILE> location) | |
|
||||||
| cflr | `cf logs --recent` | Show the recent logs (requires <APP_NAME>) | |
|
||||||
| cfsrt | `cf start` | Start an application (requires <APP_NAME>) | |
|
||||||
| cfstp | `cf stop` | Stop an application (requires <APP_NAME>) | |
|
||||||
| cfstg | `cf restage` | Restage an application (requires <APP_NAME>) | |
|
||||||
| cfdel | `cf delete` | Delete an application (requires <APP_NAME>) | |
|
||||||
| cfsrtall | - | Start all apps that are currently in the "Stopped" state | |
|
||||||
| cfstpall | - | Stop all apps that are currently in the "Started" state | |
|
||||||
|
|
||||||
For help and advice on what any of the commands does, consult the built in `cf` help functions as follows:- |
|
||||||
|
|
||||||
```bash |
|
||||||
cf help # List the most popular and commonly used commands |
|
||||||
cf help -a # Complete list of all possible commands |
|
||||||
cf <COMMAND_NAME> --help # Help on a specific command including arguments and examples |
|
||||||
``` |
|
||||||
|
|
||||||
Alternatively, seek out the [online documentation][3]. And don't forget, there are loads of great [community plugins for the cf-cli][4] command line tool that can greatly extend its power and usefulness. |
|
||||||
|
|
||||||
## Contributors |
|
||||||
|
|
||||||
Contributed to `oh_my_zsh` by [benwilcock][2]. |
|
||||||
|
|
||||||
[1]: https://docs.cloudfoundry.org/cf-cli/install-go-cli.html |
|
||||||
[2]: https://github.com/benwilcock |
|
||||||
[3]: https://docs.cloudfoundry.org/cf-cli/getting-started.html |
|
||||||
[4]: https://plugins.cloudfoundry.org/ |
|
@ -1,34 +0,0 @@ |
|||||||
# Some Useful CloudFoundry Aliases & Functions |
|
||||||
alias cfl="cf login" |
|
||||||
alias cft="cf target" |
|
||||||
alias cfa="cf apps" |
|
||||||
alias cfs="cf services" |
|
||||||
alias cfm="cf marketplace" |
|
||||||
alias cfp="cf push" |
|
||||||
alias cfcs="cf create-service" |
|
||||||
alias cfbs="cf bind-service" |
|
||||||
alias cfus="cf unbind-service" |
|
||||||
alias cfds="cf delete-service" |
|
||||||
alias cfup="cf cups" |
|
||||||
alias cflg="cf logs" |
|
||||||
alias cfr="cf routes" |
|
||||||
alias cfe="cf env" |
|
||||||
alias cfsh="cf ssh" |
|
||||||
alias cfsc="cf scale" |
|
||||||
alias cfev="cf events" |
|
||||||
alias cfdor="cf delete-orphaned-routes" |
|
||||||
alias cfbpk="cf buildpacks" |
|
||||||
alias cfdm="cf domains" |
|
||||||
alias cfsp="cf spaces" |
|
||||||
function cfap() { cf app $1 } |
|
||||||
function cfh.() { export CF_HOME=$PWD/.cf } |
|
||||||
function cfh~() { export CF_HOME=~/.cf } |
|
||||||
function cfhu() { unset CF_HOME } |
|
||||||
function cfpm() { cf push -f $1 } |
|
||||||
function cflr() { cf logs $1 --recent } |
|
||||||
function cfsrt() { cf start $1 } |
|
||||||
function cfstp() { cf stop $1 } |
|
||||||
function cfstg() { cf restage $1 } |
|
||||||
function cfdel() { cf delete $1 } |
|
||||||
function cfsrtall() {cf apps | awk '/stopped/ { system("cf start " $1)}'} |
|
||||||
function cfstpall() {cf apps | awk '/started/ { system("cf stop " $1)}'} |
|
@ -1,82 +0,0 @@ |
|||||||
#compdef codeclimate |
|
||||||
|
|
||||||
_codeclimate_all_engines() { |
|
||||||
engines_all=(`codeclimate engines:list | tail -n +2 | gawk '{ print $2 }' | gawk -F: '{ print $1 }'`) |
|
||||||
} |
|
||||||
|
|
||||||
_codeclimate_installed_engines() { |
|
||||||
_codeclimate_all_engines |
|
||||||
|
|
||||||
engines_installed=() |
|
||||||
|
|
||||||
if [ -e .codeclimate.yml ] |
|
||||||
then |
|
||||||
for engine in $engines_all |
|
||||||
do |
|
||||||
if grep -q $engine ".codeclimate.yml" |
|
||||||
then |
|
||||||
engines_installed+=$engine |
|
||||||
fi |
|
||||||
done |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
_codeclimate_not_installed_engines() { |
|
||||||
_codeclimate_all_engines |
|
||||||
|
|
||||||
engines_not_installed=() |
|
||||||
|
|
||||||
if [ -e .codeclimate.yml ] |
|
||||||
then |
|
||||||
for engine in $engines_all |
|
||||||
do |
|
||||||
if ! grep -q $engine ".codeclimate.yml" |
|
||||||
then |
|
||||||
engines_not_installed+=$engine |
|
||||||
fi |
|
||||||
done |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
local curcontext="$curcontext" state line ret=1 |
|
||||||
local expl |
|
||||||
local -a engines_all engines_installed engines_not_installed |
|
||||||
|
|
||||||
_arguments \ |
|
||||||
'1: :->cmds' \ |
|
||||||
'*:: :->args' && ret=0 |
|
||||||
|
|
||||||
case $state in |
|
||||||
cmds) |
|
||||||
_values "bundle command" \ |
|
||||||
"analyze[Analyze all relevant files in the current working directory]" \ |
|
||||||
"console[Start an interactive session providing access to the classes within the CLI]" \ |
|
||||||
"engines\:disable[Prevents the engine from being used in this project]" \ |
|
||||||
"engines\:enable[This engine will be run the next time your project is analyzed]" \ |
|
||||||
"engines\:install[Compares the list of engines in your .codeclimate.yml file to those that are currently installed, then installs any missing engines]" \ |
|
||||||
"engines\:list[Lists all available engines in the Code Climate Docker Hub]" \ |
|
||||||
"engines\:remove[Removes an engine from your .codeclimate.yml file]" \ |
|
||||||
"help[Displays a list of commands that can be passed to the Code Climate CLI]" \ |
|
||||||
"init[Generates a new .codeclimate.yml file in the current working directory]" \ |
|
||||||
"validate-config[Validates the .codeclimate.yml file in the current working directory]" \ |
|
||||||
"version[Displays the current version of the Code Climate CLI]" |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
args) |
|
||||||
case $line[1] in |
|
||||||
engines:enable) |
|
||||||
_codeclimate_not_installed_engines |
|
||||||
_wanted engines_not_installed expl 'not installed engines' compadd -a engines_not_installed ;; |
|
||||||
engines:disable|engines:remove) |
|
||||||
_codeclimate_installed_engines |
|
||||||
_wanted engines_installed expl 'installed engines' compadd -a engines_installed ;; |
|
||||||
analyze) |
|
||||||
_arguments \ |
|
||||||
'-f:Output Format:(text json)' |
|
||||||
ret=0 |
|
||||||
;; |
|
||||||
esac |
|
||||||
;; |
|
||||||
esac |
|
||||||
|
|
||||||
return ret |
|
@ -1,31 +0,0 @@ |
|||||||
## Coffeescript Plugin |
|
||||||
|
|
||||||
This plugin provides aliases for quickly compiling and previewing your |
|
||||||
coffeescript code. |
|
||||||
|
|
||||||
When writing Coffeescript it's very common to want to preview the output of a |
|
||||||
certain snippet of code, either because you want to test the output or because |
|
||||||
you'd like to execute it in a browser console which doesn't accept Coffeescript. |
|
||||||
|
|
||||||
Preview the compiled result of your coffeescript with `cf "code"` as per the |
|
||||||
following: |
|
||||||
|
|
||||||
```zsh |
|
||||||
$ cf 'if a then b else c' |
|
||||||
if (a) { |
|
||||||
b; |
|
||||||
} else { |
|
||||||
c; |
|
||||||
} |
|
||||||
``` |
|
||||||
|
|
||||||
Also provides the following aliases: |
|
||||||
|
|
||||||
* **cfc:** Copies the compiled JS to your clipboard. Very useful when you want |
|
||||||
to run the code in a JS console. |
|
||||||
|
|
||||||
* **cfp:** Compiles from your currently copied clipboard. Useful when you want |
|
||||||
to compile large/multi-line snippets |
|
||||||
|
|
||||||
* **cfpc:** Paste coffeescript from clipboard, compile to JS, then copy the |
|
||||||
the result back to clipboard. |
|
@ -1,81 +0,0 @@ |
|||||||
#compdef coffee |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
# Copyright (c) 2011 Github zsh-users - https://github.com/zsh-users |
|
||||||
# All rights reserved. |
|
||||||
# |
|
||||||
# Redistribution and use in source and binary forms, with or without |
|
||||||
# modification, are permitted provided that the following conditions are met: |
|
||||||
# * Redistributions of source code must retain the above copyright |
|
||||||
# notice, this list of conditions and the following disclaimer. |
|
||||||
# * Redistributions in binary form must reproduce the above copyright |
|
||||||
# notice, this list of conditions and the following disclaimer in the |
|
||||||
# documentation and/or other materials provided with the distribution. |
|
||||||
# * Neither the name of the zsh-users nor the |
|
||||||
# names of its contributors may be used to endorse or promote products |
|
||||||
# derived from this software without specific prior written permission. |
|
||||||
# |
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
|
||||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
||||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY |
|
||||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
||||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
# Description |
|
||||||
# ----------- |
|
||||||
# |
|
||||||
# Completion script for Coffee.js v0.6.11 (https://coffeescript.org) |
|
||||||
# |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
# Authors |
|
||||||
# ------- |
|
||||||
# |
|
||||||
# * Mario Fernandez (https://github.com/sirech) |
|
||||||
# * Dong Weiming (https://github.com/dongweiming) |
|
||||||
# |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
|
|
||||||
local curcontext="$curcontext" state line ret=1 version opts first second third |
|
||||||
typeset -A opt_args |
|
||||||
version=(${(f)"$(_call_program version $words[1] --version)"}) |
|
||||||
version=${${(z)${version[1]}}[3]} |
|
||||||
first=$(echo $version|cut -d '.' -f 1) |
|
||||||
second=$(echo $version|cut -d '.' -f 2) |
|
||||||
third=$(echo $version|cut -d '.' -f 3) |
|
||||||
if (( $first < 2 )) && (( $second < 7 )) && (( $third < 3 ));then |
|
||||||
opts+=('(-l --lint)'{-l,--lint}'[pipe the compiled JavaScript through JavaScript Lint]' |
|
||||||
'(-r --require)'{-r,--require}'[require a library before executing your script]:library') |
|
||||||
fi |
|
||||||
|
|
||||||
|
|
||||||
_arguments -C \ |
|
||||||
'(- *)'{-h,--help}'[display this help message]' \ |
|
||||||
'(- *)'{-v,--version}'[display the version number]' \ |
|
||||||
$opts \ |
|
||||||
'(-b --bare)'{-b,--bare}'[compile without a top-level function wrapper]' \ |
|
||||||
'(-e --eval)'{-e,--eval}'[pass a string from the command line as input]:Inline Script' \ |
|
||||||
'(-i --interactive)'{-i,--interactive}'[run an interactive CoffeeScript REPL]' \ |
|
||||||
'(-j --join)'{-j,--join}'[concatenate the source CoffeeScript before compiling]:Destination JS file:_files -g "*.js"' \ |
|
||||||
'(--nodejs)--nodejs[pass options directly to the "node" binary]' \ |
|
||||||
'(-c --compile)'{-c,--compile}'[compile to JavaScript and save as .js files]' \ |
|
||||||
'(-o --output)'{-o,--output}'[set the output directory for compiled JavaScript]:Output Directory:_files -/' \ |
|
||||||
'(-n -t -p)'{-n,--nodes}'[print out the parse tree that the parser produces]' \ |
|
||||||
'(-n -t -p)'{-p,--print}'[print out the compiled JavaScript]' \ |
|
||||||
'(-n -t -p)'{-t,--tokens}'[print out the tokens that the lexer/rewriter produce]' \ |
|
||||||
'(-s --stdio)'{-s,--stdio}'[listen for and compile scripts over stdio]' \ |
|
||||||
'(-w --watch)'{-w,--watch}'[watch scripts for changes and rerun commands]' \ |
|
||||||
'*:script or directory:_files' && ret=0 |
|
||||||
|
|
||||||
return ret |
|
||||||
|
|
||||||
# Local Variables: |
|
||||||
# mode: Shell-Script |
|
||||||
# sh-indentation: 2 |
|
||||||
# indent-tabs-mode: nil |
|
||||||
# sh-basic-offset: 2 |
|
||||||
# End: |
|
||||||
# vim: ft=zsh sw=2 ts=2 et |
|
@ -1,16 +0,0 @@ |
|||||||
#!/bin/zsh |
|
||||||
|
|
||||||
# compile a string of coffeescript and print to output |
|
||||||
cf () { |
|
||||||
coffee -peb "$1" |
|
||||||
} |
|
||||||
# compile & copy to clipboard |
|
||||||
cfc () { |
|
||||||
cf "$1" | clipcopy |
|
||||||
} |
|
||||||
|
|
||||||
# compile from clipboard & print |
|
||||||
alias cfp='cf "$(clippaste)"' |
|
||||||
|
|
||||||
# compile from clipboard and copy to clipboard |
|
||||||
alias cfpc='cfp | clipcopy' |
|
@ -1,6 +0,0 @@ |
|||||||
n forw-line |
|
||||||
e back-line |
|
||||||
k repeat-search |
|
||||||
\ek repeat-search-all |
|
||||||
K reverse-search |
|
||||||
\eK reverse-search-all |
|
@ -1,22 +0,0 @@ |
|||||||
# ctrl-j newline |
|
||||||
bindkey '^n' accept-line |
|
||||||
bindkey -a '^n' accept-line |
|
||||||
|
|
||||||
# another rotation to match qwerty |
|
||||||
bindkey -a 'n' down-line-or-history |
|
||||||
bindkey -a 'e' up-line-or-history |
|
||||||
bindkey -a 'i' vi-forward-char |
|
||||||
|
|
||||||
# make qwerty |
|
||||||
bindkey -a 'k' vi-repeat-search |
|
||||||
bindkey -a 'K' vi-rev-repeat-search |
|
||||||
bindkey -a 'u' vi-insert |
|
||||||
bindkey -a 'U' vi-insert-bol |
|
||||||
bindkey -a 'l' vi-undo-change |
|
||||||
bindkey -a 'N' vi-join |
|
||||||
|
|
||||||
# spare |
|
||||||
bindkey -a 'j' vi-forward-word-end |
|
||||||
bindkey -a 'J' vi-forward-blank-word-end |
|
||||||
|
|
||||||
lesskey $ZSH/plugins/colemak/colemak-less |
|
@ -1,32 +0,0 @@ |
|||||||
if [[ "$OSTYPE" = solaris* ]] |
|
||||||
then |
|
||||||
if [[ ! -x "$HOME/bin/nroff" ]] |
|
||||||
then |
|
||||||
mkdir -p "$HOME/bin" |
|
||||||
cat > "$HOME/bin/nroff" <<EOF |
|
||||||
#!/bin/sh |
|
||||||
if [ -n "\$_NROFF_U" -a "\$1,\$2,\$3" = "-u0,-Tlp,-man" ]; then |
|
||||||
shift |
|
||||||
exec /usr/bin/nroff -u\$_NROFF_U "\$@" |
|
||||||
fi |
|
||||||
#-- Some other invocation of nroff |
|
||||||
exec /usr/bin/nroff "\$@" |
|
||||||
EOF |
|
||||||
chmod +x "$HOME/bin/nroff" |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
function man() { |
|
||||||
env \ |
|
||||||
LESS_TERMCAP_mb=$(printf "\e[1;31m") \ |
|
||||||
LESS_TERMCAP_md=$(printf "\e[1;31m") \ |
|
||||||
LESS_TERMCAP_me=$(printf "\e[0m") \ |
|
||||||
LESS_TERMCAP_se=$(printf "\e[0m") \ |
|
||||||
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \ |
|
||||||
LESS_TERMCAP_ue=$(printf "\e[0m") \ |
|
||||||
LESS_TERMCAP_us=$(printf "\e[1;32m") \ |
|
||||||
PAGER="${commands[less]:-$PAGER}" \ |
|
||||||
_NROFF_U=1 \ |
|
||||||
PATH="$HOME/bin:$PATH" \ |
|
||||||
man "$@" |
|
||||||
} |
|
@ -1,18 +0,0 @@ |
|||||||
# colorize |
|
||||||
|
|
||||||
With this plugin you can syntax-highlight file contents of over 300 supported languages and other text formats. |
|
||||||
|
|
||||||
To use it, add colorize to the plugins array of your zshrc file: |
|
||||||
``` |
|
||||||
plugins=(... colorize) |
|
||||||
``` |
|
||||||
|
|
||||||
## Usage |
|
||||||
|
|
||||||
* `ccat <file> [files]`: colorize the contents of the file (or files, if more than one are provided). If no arguments are passed it will colorize the standard input or stdin. |
|
||||||
|
|
||||||
Colorize will highlight the content based on the filename extension. If it can't find a syntax-highlighting method for a given extension, it will try to find one by looking at the file contents. If no highlight method is found it will just cat the file normally, without syntax highlighting. |
|
||||||
|
|
||||||
## Requirements |
|
||||||
|
|
||||||
You have to install Pygments first: [pygments.org](http://pygments.org/download/) |
|
@ -1,28 +0,0 @@ |
|||||||
# easier alias to use the plugin |
|
||||||
alias ccat='colorize_via_pygmentize' |
|
||||||
|
|
||||||
colorize_via_pygmentize() { |
|
||||||
if ! (( $+commands[pygmentize] )); then |
|
||||||
echo "package 'Pygments' is not installed!" |
|
||||||
return 1 |
|
||||||
fi |
|
||||||
|
|
||||||
# pygmentize stdin if no arguments passed |
|
||||||
if [ $# -eq 0 ]; then |
|
||||||
pygmentize -g |
|
||||||
return $? |
|
||||||
fi |
|
||||||
|
|
||||||
# guess lexer from file extension, or |
|
||||||
# guess it from file contents if unsuccessful |
|
||||||
local FNAME lexer |
|
||||||
for FNAME in $@ |
|
||||||
do |
|
||||||
lexer=$(pygmentize -N "$FNAME") |
|
||||||
if [[ $lexer != text ]]; then |
|
||||||
pygmentize -l "$lexer" "$FNAME" |
|
||||||
else |
|
||||||
pygmentize -g "$FNAME" |
|
||||||
fi |
|
||||||
done |
|
||||||
} |
|
@ -1,31 +0,0 @@ |
|||||||
# command-not-found plugin |
|
||||||
|
|
||||||
This plugin uses the command-not-found package for zsh to provide suggested packages to be installed if a command cannot be found. |
|
||||||
|
|
||||||
To use it, add `command-not-found` to the plugins array of your zshrc file: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... command-not-found) |
|
||||||
``` |
|
||||||
|
|
||||||
An example of how this plugin works in Ubuntu: |
|
||||||
``` |
|
||||||
$ mutt |
|
||||||
The program 'mutt' can be found in the following packages: |
|
||||||
* mutt |
|
||||||
* mutt-kz |
|
||||||
* mutt-patched |
|
||||||
Try: sudo apt install <selected package> |
|
||||||
``` |
|
||||||
|
|
||||||
### Supported platforms |
|
||||||
|
|
||||||
It works out of the box with the command-not-found packages for: |
|
||||||
|
|
||||||
- [Ubuntu](https://www.porcheron.info/command-not-found-for-zsh/) |
|
||||||
- [Debian](https://packages.debian.org/search?keywords=command-not-found) |
|
||||||
- [Arch Linux](https://wiki.archlinux.org/index.php/Pkgfile#Command_not_found) |
|
||||||
- [macOS (Homebrew)](https://github.com/Homebrew/homebrew-command-not-found) |
|
||||||
- [Fedora](https://fedoraproject.org/wiki/Features/PackageKitCommandNotFound) |
|
||||||
|
|
||||||
You can add support for other platforms by submitting a Pull Request. |
|
@ -1,33 +0,0 @@ |
|||||||
# Uses the command-not-found package zsh support |
|
||||||
# as seen in https://www.porcheron.info/command-not-found-for-zsh/ |
|
||||||
# this is installed in Ubuntu |
|
||||||
|
|
||||||
[[ -e /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found |
|
||||||
|
|
||||||
# Arch Linux command-not-found support, you must have package pkgfile installed |
|
||||||
# https://wiki.archlinux.org/index.php/Pkgfile#.22Command_not_found.22_hook |
|
||||||
[[ -e /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh |
|
||||||
|
|
||||||
# Fedora command-not-found support |
|
||||||
if [ -f /usr/libexec/pk-command-not-found ]; then |
|
||||||
command_not_found_handler () { |
|
||||||
runcnf=1 |
|
||||||
retval=127 |
|
||||||
[ ! -S /var/run/dbus/system_bus_socket ] && runcnf=0 |
|
||||||
[ ! -x /usr/libexec/packagekitd ] && runcnf=0 |
|
||||||
if [ $runcnf -eq 1 ] |
|
||||||
then |
|
||||||
/usr/libexec/pk-command-not-found $@ |
|
||||||
retval=$? |
|
||||||
fi |
|
||||||
return $retval |
|
||||||
} |
|
||||||
fi |
|
||||||
|
|
||||||
# OSX command-not-found support |
|
||||||
# https://github.com/Homebrew/homebrew-command-not-found |
|
||||||
if type brew &> /dev/null; then |
|
||||||
if brew command command-not-found-init > /dev/null 2>&1; then |
|
||||||
eval "$(brew command-not-found-init)"; |
|
||||||
fi |
|
||||||
fi |
|
@ -1,87 +0,0 @@ |
|||||||
# Advanced Aliases. |
|
||||||
# Use with caution |
|
||||||
# |
|
||||||
|
|
||||||
# ls, the common ones I use a lot shortened for rapid fire usage |
|
||||||
alias l='ls -lFh' #size,show type,human readable |
|
||||||
alias la='ls -lAFh' #long list,show almost all,show type,human readable |
|
||||||
alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable |
|
||||||
alias lt='ls -ltFh' #long list,sorted by date,show type,human readable |
|
||||||
alias ll='ls -l' #long list |
|
||||||
alias ldot='ls -ld .*' |
|
||||||
alias lS='ls -1FSsh' |
|
||||||
alias lart='ls -1Fcart' |
|
||||||
alias lrt='ls -1Fcrt' |
|
||||||
|
|
||||||
alias zshrc='${=EDITOR} ~/.zshrc' # Quick access to the ~/.zshrc file |
|
||||||
|
|
||||||
alias grep='grep --color' |
|
||||||
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} ' |
|
||||||
|
|
||||||
alias t='tail -f' |
|
||||||
|
|
||||||
# Command line head / tail shortcuts |
|
||||||
alias -g H='| head' |
|
||||||
alias -g T='| tail' |
|
||||||
alias -g G='| grep' |
|
||||||
alias -g L="| less" |
|
||||||
alias -g M="| most" |
|
||||||
alias -g LL="2>&1 | less" |
|
||||||
alias -g CA="2>&1 | cat -A" |
|
||||||
alias -g NE="2> /dev/null" |
|
||||||
alias -g NUL="> /dev/null 2>&1" |
|
||||||
alias -g P="2>&1| pygmentize -l pytb" |
|
||||||
|
|
||||||
alias dud='du -d 1 -h' |
|
||||||
alias duf='du -sh *' |
|
||||||
alias fd='find . -type d -name' |
|
||||||
alias ff='find . -type f -name' |
|
||||||
|
|
||||||
alias h='history' |
|
||||||
alias hgrep="fc -El 0 | grep" |
|
||||||
alias help='man' |
|
||||||
alias p='ps -f' |
|
||||||
alias sortnr='sort -n -r' |
|
||||||
alias unexport='unset' |
|
||||||
|
|
||||||
alias rm='rm -i' |
|
||||||
alias cp='cp -i' |
|
||||||
alias mv='mv -i' |
|
||||||
|
|
||||||
# zsh is able to auto-do some kungfoo |
|
||||||
# depends on the SUFFIX :) |
|
||||||
if is-at-least 4.2.0; then |
|
||||||
# open browser on urls |
|
||||||
if [[ -n "$BROWSER" ]]; then |
|
||||||
_browser_fts=(htm html de org net com at cx nl se dk) |
|
||||||
for ft in $_browser_fts; do alias -s $ft=$BROWSER; done |
|
||||||
fi |
|
||||||
|
|
||||||
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex) |
|
||||||
for ft in $_editor_fts; do alias -s $ft=$EDITOR; done |
|
||||||
|
|
||||||
if [[ -n "$XIVIEWER" ]]; then |
|
||||||
_image_fts=(jpg jpeg png gif mng tiff tif xpm) |
|
||||||
for ft in $_image_fts; do alias -s $ft=$XIVIEWER; done |
|
||||||
fi |
|
||||||
|
|
||||||
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm) |
|
||||||
for ft in $_media_fts; do alias -s $ft=mplayer; done |
|
||||||
|
|
||||||
#read documents |
|
||||||
alias -s pdf=acroread |
|
||||||
alias -s ps=gv |
|
||||||
alias -s dvi=xdvi |
|
||||||
alias -s chm=xchm |
|
||||||
alias -s djvu=djview |
|
||||||
|
|
||||||
#list whats inside packed file |
|
||||||
alias -s zip="unzip -l" |
|
||||||
alias -s rar="unrar l" |
|
||||||
alias -s tar="tar tf" |
|
||||||
alias -s tar.gz="echo " |
|
||||||
alias -s ace="unace l" |
|
||||||
fi |
|
||||||
|
|
||||||
# Make zsh know about hosts already accessed by SSH |
|
||||||
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })' |
|
@ -1,20 +0,0 @@ |
|||||||
# ------------------------------------------------------------------------------ |
|
||||||
# FILE: compleat.plugin.zsh |
|
||||||
# DESCRIPTION: oh-my-zsh plugin file. |
|
||||||
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com) |
|
||||||
# VERSION: 1.0.0 |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
|
|
||||||
if (( ${+commands[compleat]} )); then |
|
||||||
local prefix="${commands[compleat]:h:h}" |
|
||||||
local setup="${prefix}/share/compleat-1.0/compleat_setup" |
|
||||||
|
|
||||||
if [[ -f "$setup" ]]; then |
|
||||||
if ! bashcompinit >/dev/null 2>&1; then |
|
||||||
autoload -U bashcompinit |
|
||||||
bashcompinit -i |
|
||||||
fi |
|
||||||
|
|
||||||
source "$setup" |
|
||||||
fi |
|
||||||
fi |
|
@ -1,29 +0,0 @@ |
|||||||
# composer |
|
||||||
|
|
||||||
This plugin provides completion for [composer](https://getcomposer.org/), as well as aliases |
|
||||||
for frequent composer commands. It also adds Composer's global binaries to the PATH, using |
|
||||||
Composer if available. |
|
||||||
|
|
||||||
To use it add `composer` to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... composer) |
|
||||||
``` |
|
||||||
|
|
||||||
## Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
| ------ | -------------------------------------------- | -------------------------------------------------------------------------------------- | |
|
||||||
| `c` | composer | Starts composer | |
|
||||||
| `csu` | composer self-update | Updates composer to the latest version | |
|
||||||
| `cu` | composer update | Updates composer dependencies and `composer.lock` file | |
|
||||||
| `cr` | composer require | Adds new packages to `composer.json` | |
|
||||||
| `crm` | composer remove | Removes packages from `composer.json` | |
|
||||||
| `ci` | composer install | Resolves and installs dependencies from `composer.json` | |
|
||||||
| `ccp` | composer create-project | Create new project from an existing package | |
|
||||||
| `cdu` | composer dump-autoload | Updates the autoloader | |
|
||||||
| `cdo` | composer dump-autoload --optimize-autoloader | Converts PSR-0/4 autoloading to classmap for a faster autoloader (good for production) | |
|
||||||
| `cgu` | composer global update | Allows update command to run on COMPOSER_HOME directory | |
|
||||||
| `cgr` | composer global require | Allows require command to run on COMPOSER_HOME directory | |
|
||||||
| `cgrm` | composer global remove | Allows remove command to run on COMPOSER_HOME directory | |
|
||||||
| `cget` | `curl -s https://getcomposer.org/installer` | Installs composer in the current directory | |
|
@ -1,60 +0,0 @@ |
|||||||
# ------------------------------------------------------------------------------ |
|
||||||
# FILE: composer.plugin.zsh |
|
||||||
# DESCRIPTION: oh-my-zsh composer plugin file. |
|
||||||
# AUTHOR: Daniel Gomes (me@danielcsgomes.com) |
|
||||||
# VERSION: 1.0.0 |
|
||||||
# ------------------------------------------------------------------------------ |
|
||||||
|
|
||||||
# Composer basic command completion |
|
||||||
_composer_get_command_list () { |
|
||||||
$_comp_command1 --no-ansi 2>/dev/null | sed "1,/Available commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' |
|
||||||
} |
|
||||||
|
|
||||||
_composer_get_required_list () { |
|
||||||
$_comp_command1 show -s --no-ansi 2>/dev/null | sed '1,/requires/d' | awk 'NF > 0 && !/^requires \(dev\)/{ print $1 }' |
|
||||||
} |
|
||||||
|
|
||||||
_composer () { |
|
||||||
local curcontext="$curcontext" state line |
|
||||||
typeset -A opt_args |
|
||||||
_arguments \ |
|
||||||
'1: :->command'\ |
|
||||||
'*: :->args' |
|
||||||
|
|
||||||
case $state in |
|
||||||
command) |
|
||||||
compadd $(_composer_get_command_list) |
|
||||||
;; |
|
||||||
*) |
|
||||||
compadd $(_composer_get_required_list) |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
compdef _composer composer |
|
||||||
compdef _composer composer.phar |
|
||||||
|
|
||||||
# Aliases |
|
||||||
alias c='composer' |
|
||||||
alias csu='composer self-update' |
|
||||||
alias cu='composer update' |
|
||||||
alias cr='composer require' |
|
||||||
alias crm='composer remove' |
|
||||||
alias ci='composer install' |
|
||||||
alias ccp='composer create-project' |
|
||||||
alias cdu='composer dump-autoload' |
|
||||||
alias cdo='composer dump-autoload --optimize-autoloader' |
|
||||||
alias cgu='composer global update' |
|
||||||
alias cgr='composer global require' |
|
||||||
alias cgrm='composer global remove' |
|
||||||
|
|
||||||
# install composer in the current directory |
|
||||||
alias cget='curl -s https://getcomposer.org/installer | php' |
|
||||||
|
|
||||||
# Add Composer's global binaries to PATH, using Composer if available. |
|
||||||
if (( $+commands[composer] )); then |
|
||||||
export PATH=$PATH:$(composer global config bin-dir --absolute 2>/dev/null) |
|
||||||
else |
|
||||||
[ -d $HOME/.composer/vendor/bin ] && export PATH=$PATH:$HOME/.composer/vendor/bin |
|
||||||
[ -d $HOME/.config/composer/vendor/bin ] && export PATH=$PATH:$HOME/.config/composer/vendor/bin |
|
||||||
fi |
|
@ -1,11 +0,0 @@ |
|||||||
# `copybuffer` plugin |
|
||||||
|
|
||||||
This plugin binds the ctrl-o keyboard shortcut to a command that copies the text |
|
||||||
that is currently typed in the command line ($BUFFER) to the system clipboard. |
|
||||||
|
|
||||||
This is useful if you type a command - and before you hit enter to execute it - want |
|
||||||
to copy it maybe so you can paste it into a script, gist or whatnot. |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... copybuffer) |
|
||||||
``` |
|
@ -1,14 +0,0 @@ |
|||||||
# copy the active line from the command line buffer |
|
||||||
# onto the system clipboard (requires clipcopy plugin) |
|
||||||
|
|
||||||
copybuffer () { |
|
||||||
if which clipcopy &>/dev/null; then |
|
||||||
echo $BUFFER | clipcopy |
|
||||||
else |
|
||||||
echo "clipcopy function not found. Please make sure you have Oh My Zsh installed correctly." |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
zle -N copybuffer |
|
||||||
|
|
||||||
bindkey "^O" copybuffer |
|
@ -1,10 +0,0 @@ |
|||||||
# copydir plugin |
|
||||||
|
|
||||||
Copies the path of your current folder to the system clipboard. |
|
||||||
|
|
||||||
To use, add `copydir` to your plugins array: |
|
||||||
``` |
|
||||||
plugins=(... copydir) |
|
||||||
``` |
|
||||||
|
|
||||||
Then use the command `copydir` to copy the $PWD. |
|
@ -1,5 +0,0 @@ |
|||||||
# Copies the pathname of the current directory to the system or X Windows clipboard |
|
||||||
function copydir { |
|
||||||
emulate -L zsh |
|
||||||
print -n $PWD | clipcopy |
|
||||||
} |
|
@ -1,10 +0,0 @@ |
|||||||
# copyfile plugin |
|
||||||
|
|
||||||
Puts the contents of a file in your system clipboard so you can paste it anywhere. |
|
||||||
|
|
||||||
To use, add `copyfile` to your plugins array: |
|
||||||
``` |
|
||||||
plugins=(... copyfile) |
|
||||||
``` |
|
||||||
|
|
||||||
Then you can run the command `copyfile <filename>` to copy the file named `filename`. |
|
@ -1,7 +0,0 @@ |
|||||||
# Copies the contents of a given file to the system or X Windows clipboard |
|
||||||
# |
|
||||||
# copyfile <file> |
|
||||||
function copyfile { |
|
||||||
emulate -L zsh |
|
||||||
clipcopy $1 |
|
||||||
} |
|
@ -1,32 +0,0 @@ |
|||||||
# cp plugin |
|
||||||
|
|
||||||
This plugin defines a `cpv` function that uses `rsync` so that you |
|
||||||
get the features and security of this command. |
|
||||||
|
|
||||||
To enable, add `cp` to your `plugins` array in your zshrc file: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... cp) |
|
||||||
``` |
|
||||||
|
|
||||||
## Description |
|
||||||
|
|
||||||
The enabled options for rsync are: |
|
||||||
|
|
||||||
- `-p`: preserves permissions. |
|
||||||
|
|
||||||
- `-o`: preserves owner. |
|
||||||
|
|
||||||
* `-g`: preserves group. |
|
||||||
|
|
||||||
* `-b`: make a backup of the original file instead of overwriting it, if it exists. |
|
||||||
|
|
||||||
* `-r`: recurse directories. |
|
||||||
|
|
||||||
* `-hhh`: outputs numbers in human-readable format, in units of 1024 (K, M, G, T). |
|
||||||
|
|
||||||
* `--backup-dir=/tmp/rsync`: move backup copies to "/tmp/rsync". |
|
||||||
|
|
||||||
* `-e /dev/null`: only work on local files (disable remote shells). |
|
||||||
|
|
||||||
* `--progress`: display progress. |
|
@ -1,4 +0,0 @@ |
|||||||
cpv() { |
|
||||||
rsync -pogbr -hhh --backup-dir=/tmp/rsync -e /dev/null --progress "$@" |
|
||||||
} |
|
||||||
compdef _files cpv |
|
@ -1,9 +0,0 @@ |
|||||||
# Cpanm |
|
||||||
|
|
||||||
This plugin provides completion for [Cpanm](https://github.com/miyagawa/cpanminus) ([docs](https://metacpan.org/pod/App::cpanminus)). |
|
||||||
|
|
||||||
To use it add cpanm to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```bash |
|
||||||
plugins=(... cpanm) |
|
||||||
``` |
|
@ -1,64 +0,0 @@ |
|||||||
#compdef cpanm |
|
||||||
|
|
||||||
## |
|
||||||
# cpanminus Z Shell completion script |
|
||||||
## |
|
||||||
# |
|
||||||
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011) |
|
||||||
# |
|
||||||
|
|
||||||
local arguments curcontext="$curcontext" |
|
||||||
typeset -A opt_args |
|
||||||
|
|
||||||
|
|
||||||
arguments=( |
|
||||||
|
|
||||||
# Commands |
|
||||||
# '(--install -i)'{--install,-i}'[Installs the modules]' |
|
||||||
'(- :)--self-upgrade[Upgrades itself]' |
|
||||||
'(- :)--info[Displays distribution info on CPAN]' |
|
||||||
'(--installdeps)--installdeps[Only install dependencies]' |
|
||||||
'(--look)--look[Download/unpack the distribution and then open the directory with your shell]' |
|
||||||
'(- :)'{--help,-h}'[Displays help information]' |
|
||||||
'(- :)'{--version,-V}'[Displays software version]' |
|
||||||
|
|
||||||
# Options |
|
||||||
{--force,-f}'[Force install]' |
|
||||||
{--notest,-n}'[Do not run unit tests]' |
|
||||||
{--sudo,-S}'[sudo to run install commands]' |
|
||||||
'(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]' |
|
||||||
'(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]' |
|
||||||
{--local-lib,-l}'[Specify the install base to install modules]' |
|
||||||
{--local-lib-contained,-L}'[Specify the install base to install all non-core modules]' |
|
||||||
'--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls' |
|
||||||
'--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]' |
|
||||||
'--prompt[Prompt when configure/build/test fails]' |
|
||||||
'--reinstall[Reinstall the distribution even if you already have the latest version installed]' |
|
||||||
'--interactive[Turn on interactive configure]' |
|
||||||
|
|
||||||
'--scandeps[Scan the depencencies of given modules and output the tree in a text format]' |
|
||||||
'--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)' |
|
||||||
|
|
||||||
'--save-dists[Specify the optional directory path to copy downloaded tarballs]' |
|
||||||
# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]' |
|
||||||
|
|
||||||
'--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]' |
|
||||||
'(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]' |
|
||||||
'(--man-pages)--no-man-pages[Do not generate man pages]' |
|
||||||
|
|
||||||
|
|
||||||
# Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP, |
|
||||||
# Wget, cURL and HTTP::Tiny (in that order) and uses the first one available. |
|
||||||
# (So that the exclusions are not enabled here for the completion) |
|
||||||
'(--lwp)--lwp[Use LWP module to download stuff]' |
|
||||||
'(--wget)--wget[Use GNU Wget (if available) to download stuff]' |
|
||||||
'(--curl)--curl[Use cURL (if available) to download stuff]' |
|
||||||
|
|
||||||
# Other completions |
|
||||||
'*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"' |
|
||||||
# '*::args: _normal' # this looks for default files (any files) |
|
||||||
) |
|
||||||
_arguments -s $arguments \ |
|
||||||
&& return 0 |
|
||||||
|
|
||||||
return 1 |
|
@ -1,86 +0,0 @@ |
|||||||
# Usage: dash [keyword:]query |
|
||||||
dash() { open dash://"$*" } |
|
||||||
compdef _dash dash |
|
||||||
|
|
||||||
_dash() { |
|
||||||
# No sense doing this for anything except the 2nd position and if we haven't |
|
||||||
# specified which docset to query against |
|
||||||
if [[ $CURRENT -eq 2 && ! "$words[2]" =~ ":" ]]; then |
|
||||||
local -a _all_docsets |
|
||||||
_all_docsets=() |
|
||||||
# Use defaults to get the array of docsets from preferences |
|
||||||
# Have to smash it into one big line so that each docset is an element of |
|
||||||
# our DOCSETS array |
|
||||||
DOCSETS=("${(@f)$(defaults read com.kapeli.dashdoc docsets | tr -d '\n' | grep -oE '\{.*?\}')}") |
|
||||||
|
|
||||||
# remove all newlines since defaults prints so pretty like |
|
||||||
# Now get each docset and output each on their own line |
|
||||||
for doc in "$DOCSETS[@]"; do |
|
||||||
# Only output docsets that are actually enabled |
|
||||||
if [[ "`echo $doc | grep -Eo \"isEnabled = .*?;\" | sed 's/[^01]//g'`" == "0" ]]; then |
|
||||||
continue |
|
||||||
fi |
|
||||||
|
|
||||||
keyword='' |
|
||||||
|
|
||||||
# Order of preference as explained to me by @kapeli via email |
|
||||||
KEYWORD_LOCATORS=(keyword suggestedKeyword platform) |
|
||||||
for locator in "$KEYWORD_LOCATORS[@]"; do |
|
||||||
# Echo the docset, try to find the appropriate keyword |
|
||||||
# Strip doublequotes and colon from any keyword so that everything has the |
|
||||||
# same format when output (we'll add the colon in the completion) |
|
||||||
keyword=`echo $doc | grep -Eo "$locator = .*?;" | sed -e "s/$locator = \(.*\);/\1/" -e "s/[\":]//g"` |
|
||||||
if [[ ! -z "$keyword" ]]; then |
|
||||||
# if we fall back to platform, we should do some checking per @kapeli |
|
||||||
if [[ "$locator" == "platform" ]]; then |
|
||||||
# Since these are the only special cases right now, let's not do the |
|
||||||
# expensive processing unless we have to |
|
||||||
if [[ "$keyword" == "python" || "$keyword" == "java" || \ |
|
||||||
"$keyword" == "qt" || "$keyword" == "cocs2d" ]]; then |
|
||||||
docsetName=`echo $doc | grep -Eo "docsetName = .*?;" | sed -e "s/docsetName = \(.*\);/\1/" -e "s/[\":]//g"` |
|
||||||
if [[ "$keyword" == "python" ]]; then |
|
||||||
if [[ "$docsetName" == "Python 2" ]]; then |
|
||||||
keyword="python2" |
|
||||||
elif [[ "$docsetName" == "Python 3" ]]; then |
|
||||||
keyword="python3" |
|
||||||
fi |
|
||||||
elif [[ "$keyword" == "java" ]]; then |
|
||||||
if [[ "$docsetName" == "Java SE7" ]]; then |
|
||||||
keyword="java7" |
|
||||||
elif [[ "$docsetName" == "Java SE6" ]]; then |
|
||||||
keyword="java6" |
|
||||||
elif [[ "$docsetName" == "Java SE8" ]]; then |
|
||||||
keyword="java8" |
|
||||||
fi |
|
||||||
elif [[ "$keyword" == "qt" ]]; then |
|
||||||
if [[ "$docsetName" == "Qt 5" ]]; then |
|
||||||
keyword="qt5" |
|
||||||
elif [[ "$docsetName" == "Qt 4" ]]; then |
|
||||||
keyword="qt4" |
|
||||||
elif [[ "$docsetName" == "Qt" ]]; then |
|
||||||
keyword="qt4" |
|
||||||
fi |
|
||||||
elif [[ "$keyword" == "cocos2d" ]]; then |
|
||||||
if [[ "$docsetName" == "Cocos3D" ]]; then |
|
||||||
keyword="cocos3d" |
|
||||||
fi |
|
||||||
fi |
|
||||||
fi |
|
||||||
fi |
|
||||||
|
|
||||||
# Bail once we have a match |
|
||||||
break |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
# If we have a keyword, add it to the list! |
|
||||||
if [[ ! -z "$keyword" ]]; then |
|
||||||
_all_docsets+=($keyword) |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
# special thanks to [arx] on #zsh for getting me sorted on this piece |
|
||||||
compadd -qS: -- "$_all_docsets[@]" |
|
||||||
return |
|
||||||
fi |
|
||||||
} |
|
@ -1,75 +0,0 @@ |
|||||||
# debian |
|
||||||
|
|
||||||
This plugin provides debian related zsh aliases. |
|
||||||
To use it add `debian` to the plugins array in your zshrc file. |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... debian) |
|
||||||
``` |
|
||||||
|
|
||||||
## Common Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
| -------- | ------------------------------------------------------------------------------|--------------------------------------------------------------------------- | |
|
||||||
| `age` | apt-get | Command line tool for handling packages | |
|
||||||
| `api` | aptitude | Same functionality as `apt-get`, provides extra options while installation | |
|
||||||
| `acs` | apt-cache search | Command line tool for searching apt software package cache | |
|
||||||
| `aps` | aptitude search | Searches installed packages using aptitude | |
|
||||||
| `as` | aptitude -F \"* %p -> %d \n(%v/%V)\" \ -no-gui --disable-columns search | - | |
|
||||||
| `afs` | apt-file search --regexp | Search file in packages | |
|
||||||
| `asrc` | apt-get source | Fetch source packages through `apt-get` | |
|
||||||
| `app` | apt-cache policy | Displays priority of package sources | |
|
||||||
|
|
||||||
## Superuser Operations Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
| -------- | -------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------- | |
|
||||||
| `aac` | sudo $apt_pref autoclean | Clears out the local repository of retrieved package files | |
|
||||||
| `abd` | sudo $apt_pref build-dep | Installs all dependencies for building packages | |
|
||||||
| `ac` | sudo $apt_pref clean | Clears out the local repository of retrieved package files except lock files | |
|
||||||
| `ad` | sudo $apt_pref update | Updates the package lists for upgrades for packages | |
|
||||||
| `adg` | sudo $apt_pref update && sudo $apt_pref $apt_upgr | Update and upgrade packages | |
|
||||||
| `adu` | sudo $apt_pref update && sudo $apt_pref dist-upgrade | Smart upgrade that handles dependencies | |
|
||||||
| `afu` | sudo apt-file update | Update the files in packages | |
|
||||||
| `au` | sudo $apt_pref $apt_upgr | - | |
|
||||||
| `ai` | sudo $apt_pref install | Command-line tool to install package | |
|
||||||
| `ail` | sed -e 's/ */ /g' -e 's/ *//' | cut -s -d ' ' -f 1 | "' xargs sudo $apt_pref install | Install all packages given on the command line while using only the first word of each line | |
|
||||||
| `ap` | sudo $apt_pref purge | Removes packages along with configuration files | |
|
||||||
| `ar` | sudo $apt_pref remove | Removes packages, keeps the configuration files | |
|
||||||
| `ads` | sudo apt-get dselect-upgrade | Installs packages from list and removes all not in the list | |
|
||||||
| `dia` | sudo dpkg -i ./*.deb | Install all .deb files in the current directory | |
|
||||||
| `di` | sudo dpkg -i | Install all .deb files in the current directory | |
|
||||||
| `kclean` | sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`)) | Remove ALL kernel images and headers EXCEPT the one in use | |
|
||||||
|
|
||||||
- `$apt_pref` - Use apt or aptitude if installed, fallback is apt-get. |
|
||||||
- `$apt_upgr` - Use upgrade. |
|
||||||
|
|
||||||
## Aliases - Commands using `su` |
|
||||||
|
|
||||||
| Alias | Command | |
|
||||||
| -------- | ------------------------------------------------------------------------------| |
|
||||||
| `aac` | su -ls \'$apt_pref autoclean\' root | |
|
||||||
| `ac` | su -ls \'$apt_pref clean\' root | |
|
||||||
| `ad` | su -lc \'$apt_pref update\' root | |
|
||||||
| `adg` | su -lc \'$apt_pref update && aptitude $apt_upgr\' root | |
|
||||||
| `adu` | su -lc \'$apt_pref update && aptitude dist-upgrade\' root | |
|
||||||
| `afu` | su -lc "apt-file update | |
|
||||||
| `ag` | su -lc \'$apt_pref $apt_upgr\' root | |
|
||||||
| `dia` | su -lc "dpkg -i ./*.deb" root | |
|
||||||
|
|
||||||
## Miscellaneous Aliases |
|
||||||
|
|
||||||
| Alias | Command | Description | |
|
||||||
| -------- | -------------------------------------------------|---------------------------------------- | |
|
||||||
| `allpkgs`| aptitude search -F "%p" --disable-columns ~i | Display all installed packages | |
|
||||||
| `mydeb` | time dpkg-buildpackage -rfakeroot -us -uc | Create a basic .deb package | |
|
||||||
|
|
||||||
## Functions |
|
||||||
|
|
||||||
| Fucntion | Description | |
|
||||||
|-----------------------|-------------------------------------------------------------------------------| |
|
||||||
| `apt-copy` | Create a simple script that can be used to 'duplicate' a system | |
|
||||||
| `apt-history` | Displays apt history for a command | |
|
||||||
| `kerndeb` | Builds kernel packages | |
|
||||||
| `apt-list-packages` | List packages by size | |
|
||||||
|
|
@ -1,232 +0,0 @@ |
|||||||
# Authors: |
|
||||||
# https://github.com/AlexBio |
|
||||||
# https://github.com/dbb |
|
||||||
# https://github.com/Mappleconfusers |
|
||||||
# |
|
||||||
# Debian-related zsh aliases and functions for zsh |
|
||||||
|
|
||||||
# Use apt or aptitude if installed, fallback is apt-get |
|
||||||
# You can just set apt_pref='apt-get' to override it. |
|
||||||
if [[ -e $( which -p apt 2>&1 ) ]]; then |
|
||||||
apt_pref='apt' |
|
||||||
apt_upgr='upgrade' |
|
||||||
elif [[ -e $( which -p aptitude 2>&1 ) ]]; then |
|
||||||
apt_pref='aptitude' |
|
||||||
apt_upgr='safe-upgrade' |
|
||||||
else |
|
||||||
apt_pref='apt-get' |
|
||||||
apt_upgr='upgrade' |
|
||||||
fi |
|
||||||
|
|
||||||
# Use sudo by default if it's installed |
|
||||||
if [[ -e $( which -p sudo 2>&1 ) ]]; then |
|
||||||
use_sudo=1 |
|
||||||
fi |
|
||||||
|
|
||||||
# Aliases ################################################################### |
|
||||||
# These are for more obscure uses of apt-get and aptitude that aren't covered |
|
||||||
# below. |
|
||||||
alias age='apt-get' |
|
||||||
alias api='aptitude' |
|
||||||
|
|
||||||
# Some self-explanatory aliases |
|
||||||
alias acs="apt-cache search" |
|
||||||
alias aps='aptitude search' |
|
||||||
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \ |
|
||||||
--no-gui --disable-columns search" # search package |
|
||||||
|
|
||||||
# apt-file |
|
||||||
alias afs='apt-file search --regexp' |
|
||||||
|
|
||||||
|
|
||||||
# These are apt-get only |
|
||||||
alias asrc='apt-get source' |
|
||||||
alias app='apt-cache policy' |
|
||||||
|
|
||||||
# superuser operations ###################################################### |
|
||||||
if [[ $use_sudo -eq 1 ]]; then |
|
||||||
# commands using sudo ####### |
|
||||||
alias aac='sudo $apt_pref autoclean' |
|
||||||
alias abd='sudo $apt_pref build-dep' |
|
||||||
alias ac='sudo $apt_pref clean' |
|
||||||
alias ad='sudo $apt_pref update' |
|
||||||
alias adg='sudo $apt_pref update && sudo $apt_pref $apt_upgr' |
|
||||||
alias adu='sudo $apt_pref update && sudo $apt_pref dist-upgrade' |
|
||||||
alias afu='sudo apt-file update' |
|
||||||
alias au='sudo $apt_pref $apt_upgr' |
|
||||||
alias ai='sudo $apt_pref install' |
|
||||||
# Install all packages given on the command line while using only the first word of each line: |
|
||||||
# acs ... | ail |
|
||||||
alias ail="sed -e 's/ */ /g' -e 's/ *//' | cut -s -d ' ' -f 1 | "' xargs sudo $apt_pref install' |
|
||||||
alias ap='sudo $apt_pref purge' |
|
||||||
alias ar='sudo $apt_pref remove' |
|
||||||
|
|
||||||
# apt-get only |
|
||||||
alias ads='sudo apt-get dselect-upgrade' |
|
||||||
|
|
||||||
# Install all .deb files in the current directory. |
|
||||||
# Warning: you will need to put the glob in single quotes if you use: |
|
||||||
# glob_subst |
|
||||||
alias dia='sudo dpkg -i ./*.deb' |
|
||||||
alias di='sudo dpkg -i' |
|
||||||
|
|
||||||
# Remove ALL kernel images and headers EXCEPT the one in use |
|
||||||
alias kclean='sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \ |
|
||||||
?not(~n`uname -r`))' |
|
||||||
|
|
||||||
|
|
||||||
# commands using su ######### |
|
||||||
else |
|
||||||
alias aac='su -ls \'$apt_pref autoclean\' root' |
|
||||||
abd() { |
|
||||||
cmd="su -lc '$apt_pref build-dep $@' root" |
|
||||||
print "$cmd" |
|
||||||
eval "$cmd" |
|
||||||
} |
|
||||||
alias ac='su -ls \'$apt_pref clean\' root' |
|
||||||
alias ad='su -lc \'$apt_pref update\' root' |
|
||||||
alias adg='su -lc \'$apt_pref update && aptitude $apt_upgr\' root' |
|
||||||
alias adu='su -lc \'$apt_pref update && aptitude dist-upgrade\' root' |
|
||||||
alias afu='su -lc "apt-file update"' |
|
||||||
alias ag='su -lc \'$apt_pref $apt_upgr\' root' |
|
||||||
ai() { |
|
||||||
cmd="su -lc 'aptitude -P install $@' root" |
|
||||||
print "$cmd" |
|
||||||
eval "$cmd" |
|
||||||
} |
|
||||||
ap() { |
|
||||||
cmd="su -lc '$apt_pref -P purge $@' root" |
|
||||||
print "$cmd" |
|
||||||
eval "$cmd" |
|
||||||
} |
|
||||||
ar() { |
|
||||||
cmd="su -lc '$apt_pref -P remove $@' root" |
|
||||||
print "$cmd" |
|
||||||
eval "$cmd" |
|
||||||
} |
|
||||||
|
|
||||||
# Install all .deb files in the current directory |
|
||||||
# Assumes glob_subst is off |
|
||||||
alias dia='su -lc "dpkg -i ./*.deb" root' |
|
||||||
alias di='su -lc "dpkg -i" root' |
|
||||||
|
|
||||||
# Remove ALL kernel images and headers EXCEPT the one in use |
|
||||||
alias kclean='su -lc '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) \ |
|
||||||
?not(~n`uname -r`))'\'' root' |
|
||||||
fi |
|
||||||
|
|
||||||
# Completion ################################################################ |
|
||||||
|
|
||||||
# |
|
||||||
# Registers a compdef for $1 that calls $apt_pref with the commands $2 |
|
||||||
# To do that it creates a new completion function called _apt_pref_$2 |
|
||||||
# |
|
||||||
apt_pref_compdef() { |
|
||||||
local f fb |
|
||||||
f="_apt_pref_${2}" |
|
||||||
|
|
||||||
eval "function ${f}() { |
|
||||||
shift words; |
|
||||||
service=\"\$apt_pref\"; |
|
||||||
words=(\"\$apt_pref\" '$2' \$words); |
|
||||||
((CURRENT++)) |
|
||||||
test \"\${apt_pref}\" = 'aptitude' && _aptitude || _apt |
|
||||||
}" |
|
||||||
|
|
||||||
compdef "$f" "$1" |
|
||||||
} |
|
||||||
|
|
||||||
apt_pref_compdef aac "autoclean" |
|
||||||
apt_pref_compdef abd "build-dep" |
|
||||||
apt_pref_compdef ac "clean" |
|
||||||
apt_pref_compdef ad "update" |
|
||||||
apt_pref_compdef afu "update" |
|
||||||
apt_pref_compdef ag "$apt_upgr" |
|
||||||
apt_pref_compdef ai "install" |
|
||||||
apt_pref_compdef ail "install" |
|
||||||
apt_pref_compdef ap "purge" |
|
||||||
apt_pref_compdef ar "remove" |
|
||||||
apt_pref_compdef ads "dselect-upgrade" |
|
||||||
|
|
||||||
# Misc. ##################################################################### |
|
||||||
# print all installed packages |
|
||||||
alias allpkgs='aptitude search -F "%p" --disable-columns ~i' |
|
||||||
|
|
||||||
# Create a basic .deb package |
|
||||||
alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc' |
|
||||||
|
|
||||||
|
|
||||||
# Functions ################################################################# |
|
||||||
# create a simple script that can be used to 'duplicate' a system |
|
||||||
apt-copy() { |
|
||||||
print '#!/bin/sh'"\n" > apt-copy.sh |
|
||||||
|
|
||||||
cmd='$apt_pref install' |
|
||||||
|
|
||||||
for p in ${(f)"$(aptitude search -F "%p" --disable-columns \~i)"}; { |
|
||||||
cmd="${cmd} ${p}" |
|
||||||
} |
|
||||||
|
|
||||||
print $cmd "\n" >> apt-copy.sh |
|
||||||
|
|
||||||
chmod +x apt-copy.sh |
|
||||||
} |
|
||||||
|
|
||||||
# Prints apt history |
|
||||||
# Usage: |
|
||||||
# apt-history install |
|
||||||
# apt-history upgrade |
|
||||||
# apt-history remove |
|
||||||
# apt-history rollback |
|
||||||
# apt-history list |
|
||||||
# Based On: https://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html |
|
||||||
apt-history () { |
|
||||||
case "$1" in |
|
||||||
install) |
|
||||||
zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*) |
|
||||||
;; |
|
||||||
upgrade|remove) |
|
||||||
zgrep --no-filename $1 $(ls -rt /var/log/dpkg*) |
|
||||||
;; |
|
||||||
rollback) |
|
||||||
zgrep --no-filename upgrade $(ls -rt /var/log/dpkg*) | \ |
|
||||||
grep "$2" -A10000000 | \ |
|
||||||
grep "$3" -B10000000 | \ |
|
||||||
awk '{print $4"="$5}' |
|
||||||
;; |
|
||||||
list) |
|
||||||
zgrep --no-filename '' $(ls -rt /var/log/dpkg*) |
|
||||||
;; |
|
||||||
*) |
|
||||||
echo "Parameters:" |
|
||||||
echo " install - Lists all packages that have been installed." |
|
||||||
echo " upgrade - Lists all packages that have been upgraded." |
|
||||||
echo " remove - Lists all packages that have been removed." |
|
||||||
echo " rollback - Lists rollback information." |
|
||||||
echo " list - Lists all contains of dpkg logs." |
|
||||||
;; |
|
||||||
esac |
|
||||||
} |
|
||||||
|
|
||||||
# Kernel-package building shortcut |
|
||||||
kerndeb () { |
|
||||||
# temporarily unset MAKEFLAGS ( '-j3' will fail ) |
|
||||||
MAKEFLAGS=$( print - $MAKEFLAGS | perl -pe 's/-j\s*[\d]+//g' ) |
|
||||||
print '$MAKEFLAGS set to '"'$MAKEFLAGS'" |
|
||||||
appendage='-custom' # this shows up in $ (uname -r ) |
|
||||||
revision=$(date +"%Y%m%d") # this shows up in the .deb file name |
|
||||||
|
|
||||||
make-kpkg clean |
|
||||||
|
|
||||||
time fakeroot make-kpkg --append-to-version "$appendage" --revision \ |
|
||||||
"$revision" kernel_image kernel_headers |
|
||||||
} |
|
||||||
|
|
||||||
# List packages by size |
|
||||||
function apt-list-packages { |
|
||||||
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | \ |
|
||||||
grep -v deinstall | \ |
|
||||||
sort -n | \ |
|
||||||
awk '{print $1" "$2}' |
|
||||||
} |
|
||||||
|
|
@ -1,78 +0,0 @@ |
|||||||
# dircycle |
|
||||||
|
|
||||||
Plugin for cycling through the directory stack |
|
||||||
|
|
||||||
This plugin enables directory navigation similar to using back and forward on browsers or common file explorers like Finder or Nautilus. It uses a small zle trick that lets you cycle through your directory stack left or right using <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> . This is useful when moving back and forth between directories in development environments, and can be thought of as kind of a nondestructive pushd/popd. |
|
||||||
|
|
||||||
## Enabling the plugin |
|
||||||
|
|
||||||
1. Open your `.zshrc` file and add `dircycle` in the plugins section: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=( |
|
||||||
# all your enabled plugins |
|
||||||
dircycle |
|
||||||
) |
|
||||||
``` |
|
||||||
|
|
||||||
2. Reload the source file or restart your Terminal session: |
|
||||||
|
|
||||||
```console |
|
||||||
$ source ~/.zshrc |
|
||||||
$ |
|
||||||
``` |
|
||||||
|
|
||||||
## Usage Examples |
|
||||||
|
|
||||||
Say you opened these directories on the terminal: |
|
||||||
|
|
||||||
```console |
|
||||||
~$ cd Projects |
|
||||||
~/Projects$ cd Hacktoberfest |
|
||||||
~/Projects/Hacktoberfest$ cd oh-my-zsh |
|
||||||
~/Projects/Hacktoberfest/oh-my-zsh$ dirs -v |
|
||||||
0 ~/Projects/Hacktoberfest/oh-my-zsh |
|
||||||
1 ~/Projects/Hacktoberfest |
|
||||||
2 ~/Projects |
|
||||||
3 ~ |
|
||||||
``` |
|
||||||
|
|
||||||
By pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd>, the current working directory or `$CWD` will be from `oh-my-zsh` to `Hacktoberfest`. Press it again and it will be at `Projects`. |
|
||||||
|
|
||||||
And by pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd>, the `$CWD` will be from `Projects` to `Hacktoberfest`. Press it again and it will be at `oh-my-zsh`. |
|
||||||
|
|
||||||
Here's a example history table with the same accessed directories like above: |
|
||||||
|
|
||||||
| Current `$CWD` | Key press | New `$CWD` | |
|
||||||
| --------------- | ----------------------------------------------------- | --------------- | |
|
||||||
| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Hacktoberfest` | |
|
||||||
| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `Projects` | |
|
||||||
| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | `~` | |
|
||||||
| `~` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Projects` | |
|
||||||
| `Projects` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `Hacktoberfest` | |
|
||||||
| `Hacktoberfest` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `oh-my-zsh` | |
|
||||||
| `oh-my-zsh` | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | `~` | |
|
||||||
|
|
||||||
Note the last traversal, when pressing <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> on a last known `$CWD`, it will change back to the first known `$CWD`, which in the example is `~`. |
|
||||||
|
|
||||||
Here's an asciinema cast demonstrating the example above: |
|
||||||
|
|
||||||
[![asciicast](https://asciinema.org/a/204406.png)](https://asciinema.org/a/204406) |
|
||||||
|
|
||||||
## Functions |
|
||||||
|
|
||||||
| Function | Description | |
|
||||||
| -------------------- | --------------------------------------------------------------------------------------------------------- | |
|
||||||
| `insert-cycledleft` | Change `$CWD` to the previous known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | |
|
||||||
| `insert-cycledright` | Change `$CWD` to the next known stack, binded on <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | |
|
||||||
|
|
||||||
## Rebinding keys |
|
||||||
|
|
||||||
You can bind these functions to other key sequences, as long as you know the bindkey sequence. For example, these commands bind to <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> / <kbd>Right</kbd> in `xterm-256color`: |
|
||||||
|
|
||||||
```zsh |
|
||||||
bindkey '^[[1;4D' insert-cycledleft |
|
||||||
bindkey '^[[1;4C' insert-cycledright |
|
||||||
``` |
|
||||||
|
|
||||||
You can get the bindkey sequence by pressing <kbd>Ctrl</kbd> + <kbd>V</kbd>, then pressing the keyboard shortcut you want to use. |
|
@ -1,54 +0,0 @@ |
|||||||
# enables cycling through the directory stack using |
|
||||||
# Ctrl+Shift+Left/Right |
|
||||||
# |
|
||||||
# left/right direction follows the order in which directories |
|
||||||
# were visited, like left/right arrows do in a browser |
|
||||||
|
|
||||||
# NO_PUSHD_MINUS syntax: |
|
||||||
# pushd +N: start counting from left of `dirs' output |
|
||||||
# pushd -N: start counting from right of `dirs' output |
|
||||||
|
|
||||||
switch-to-dir () { |
|
||||||
setopt localoptions nopushdminus |
|
||||||
[[ ${#dirstack} -eq 0 ]] && return 1 |
|
||||||
|
|
||||||
while ! builtin pushd -q $1 &>/dev/null; do |
|
||||||
# We found a missing directory: pop it out of the dir stack |
|
||||||
builtin popd -q $1 |
|
||||||
|
|
||||||
# Stop trying if there are no more directories in the dir stack |
|
||||||
[[ ${#dirstack} -eq 0 ]] && return 1 |
|
||||||
done |
|
||||||
} |
|
||||||
|
|
||||||
insert-cycledleft () { |
|
||||||
switch-to-dir +1 || return |
|
||||||
|
|
||||||
local fn |
|
||||||
for fn (chpwd $chpwd_functions precmd $precmd_functions); do |
|
||||||
(( $+functions[$fn] )) && $fn |
|
||||||
done |
|
||||||
zle reset-prompt |
|
||||||
} |
|
||||||
zle -N insert-cycledleft |
|
||||||
|
|
||||||
insert-cycledright () { |
|
||||||
switch-to-dir -0 || return |
|
||||||
|
|
||||||
local fn |
|
||||||
for fn (chpwd $chpwd_functions precmd $precmd_functions); do |
|
||||||
(( $+functions[$fn] )) && $fn |
|
||||||
done |
|
||||||
zle reset-prompt |
|
||||||
} |
|
||||||
zle -N insert-cycledright |
|
||||||
|
|
||||||
|
|
||||||
# These sequences work for xterm, Apple Terminal.app, and probably others. |
|
||||||
# Not for rxvt-unicode, but it doesn't seem differentiate Ctrl-Shift-Arrow |
|
||||||
# from plain Shift-Arrow, at least by default. |
|
||||||
# iTerm2 does not have these key combinations defined by default; you will need |
|
||||||
# to add them under "Keys" in your profile if you want to use this. You can do |
|
||||||
# this conveniently by loading the "xterm with Numeric Keypad" preset. |
|
||||||
bindkey "\e[1;6D" insert-cycledleft |
|
||||||
bindkey "\e[1;6C" insert-cycledright |
|
@ -1,17 +0,0 @@ |
|||||||
# Dirhistory plugin |
|
||||||
|
|
||||||
This plugin adds keyboard shortcuts for navigating directory history and hierarchy. |
|
||||||
|
|
||||||
To use it, add `dirhistory` to the plugins array in your zshrc file: |
|
||||||
|
|
||||||
```zsh |
|
||||||
plugins=(... dirhistory) |
|
||||||
``` |
|
||||||
## Keyboard Shortcuts |
|
||||||
|
|
||||||
| Shortcut | Description | |
|
||||||
|-----------------------------------|-----------------------------------------------------------| |
|
||||||
| <kbd>alt</kbd> + <kbd>left</kbd> | Go to previous directory | |
|
||||||
| <kbd>alt</kbd> + <kbd>right</kbd> | Undo <kbd>alt</kbd> + <kbd>left</kbd> | |
|
||||||
| <kbd>alt</kbd> + <kbd>up</kbd> | Move into the parent directory | |
|
||||||
| <kbd>alt</kbd> + <kbd>down</kbd> | Move into the first child directory by alphabetical order | |
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue