summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/cpanm/_cpanm67
-rw-r--r--plugins/cpanm/cpanm.plugin.zsh4
-rw-r--r--plugins/deb/deb.plugin.zsh12
-rw-r--r--plugins/debian/debian.plugin.zsh60
-rw-r--r--plugins/lol/lol.plugin.zsh26
-rw-r--r--plugins/macports/_port89
-rw-r--r--plugins/macports/macports.plugin.zsh5
-rw-r--r--plugins/perl/perl.plugin.zsh62
-rw-r--r--plugins/ssh-agent/ssh-agent.plugin.zsh2
9 files changed, 326 insertions, 1 deletions
diff --git a/plugins/cpanm/_cpanm b/plugins/cpanm/_cpanm
new file mode 100644
index 000000000..58451d35a
--- /dev/null
+++ b/plugins/cpanm/_cpanm
@@ -0,0 +1,67 @@
+#compdef cpanm
+
+##
+# cpanminus Z Shell completion script
+##
+#
+# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011)
+#
+# The latest code is always located at:
+# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
+#
+
+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
diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh
new file mode 100644
index 000000000..af52d3e8b
--- /dev/null
+++ b/plugins/cpanm/cpanm.plugin.zsh
@@ -0,0 +1,4 @@
+# add cpanm completion function to path
+fpath=($ZSH/plugins/cpanm $fpath)
+autoload -U compinit
+compinit -i
diff --git a/plugins/deb/deb.plugin.zsh b/plugins/deb/deb.plugin.zsh
new file mode 100644
index 000000000..732294a87
--- /dev/null
+++ b/plugins/deb/deb.plugin.zsh
@@ -0,0 +1,12 @@
+# Aliases
+alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \
+ --no-gui --disable-columns search" # search package
+alias ad="sudo apt-get update" # update packages lists
+alias au="sudo apt-get update && \
+ sudo apt-get dselect-upgrade" # upgrade packages
+alias ai="sudo apt-get install" # install package
+alias ar="sudo apt-get remove --purge && \
+ sudo apt-get autoremove --purge" # remove package
+alias ap="apt-cache policy" # apt policy
+alias av="apt-cache show" # show package info
+alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
diff --git a/plugins/debian/debian.plugin.zsh b/plugins/debian/debian.plugin.zsh
new file mode 100644
index 000000000..f8865a412
--- /dev/null
+++ b/plugins/debian/debian.plugin.zsh
@@ -0,0 +1,60 @@
+# https://github.com/dbbolton/
+#
+# Debian-related zsh aliases and functions for zsh
+
+
+# Aliases ###################################################################
+
+# Some self-explanatory aliases
+alias afs='apt-file search --regexp'
+alias aps='aptitude search'
+alias apsrc='apt-get source'
+alias apv='apt-cache policy'
+
+alias apdg='su -c "aptitude update && aptitude safe-upgrade"'
+alias apud='su -c "aptitude update"'
+alias apug='su -c "aptitude safe-upgrade"'
+
+# print all installed packages
+alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
+
+# 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 di='su -c "dpkg -i ./*.deb"'
+
+# Create a basic .deb package
+alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
+
+# Remove ALL kernel images and headers EXCEPT the one in use
+alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
+
+
+
+# Functions #################################################################
+
+# create a simple script that can be used to 'duplicate' a system
+apt-copy() {
+ print '#!/bin/sh'"\n" > apt-copy.sh
+
+ list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
+
+ print 'aptitude install '"$list\n" >> apt-copy.sh
+
+ chmod +x apt-copy.sh
+}
+
+
+# Kernel-package building shortcut
+dbb-build () {
+ MAKEFLAGS='' # temporarily unset MAKEFLAGS ( '-j3' will fail )
+ 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
+}
+
+
diff --git a/plugins/lol/lol.plugin.zsh b/plugins/lol/lol.plugin.zsh
new file mode 100644
index 000000000..a7153bb57
--- /dev/null
+++ b/plugins/lol/lol.plugin.zsh
@@ -0,0 +1,26 @@
+# LOL!!1
+# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh
+
+alias wtf='dmesg'
+alias onoz='cat /var/log/errors.log'
+alias rtfm='man'
+
+alias visible='echo'
+alias invisible='cat'
+alias moar='more'
+
+alias icanhas='mkdir'
+alias donotwant='rm'
+alias dowant='cp'
+alias gtfo='mv'
+
+alias hai='cd'
+alias plz='pwd'
+
+alias inur='locate'
+
+alias nomz='ps -aux'
+alias nomnom='killall'
+
+alias cya='reboot'
+alias kthxbai='halt'
diff --git a/plugins/macports/_port b/plugins/macports/_port
new file mode 100644
index 000000000..06d7fb426
--- /dev/null
+++ b/plugins/macports/_port
@@ -0,0 +1,89 @@
+#compdef port
+
+local subcmds
+
+# we cache the list of ports
+# we shall use some cache policy to avoid problems with new ports
+if (( ! $+portlist )); then
+ portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated"))
+fi
+
+subcmds=(
+'activate'
+'archive'
+'build'
+'cat'
+'clean'
+'configure'
+'contents'
+'deactivate'
+'dependents'
+'deps'
+'destroot'
+'dir'
+'distcheck'
+'distclean'
+'dmg'
+'echo'
+'edit'
+'extract'
+'fetch'
+'file'
+'help'
+'info'
+'install'
+'installed'
+'list'
+'livecheck'
+'location'
+'mpkg'
+'outdated'
+'patch'
+'pkg'
+'provides'
+'rpmpackage'
+'search'
+'selfupdate'
+'sync'
+'test'
+'unarchive'
+'uninstall'
+'upgrade'
+'variants'
+'version'
+)
+
+_arguments -C \
+'-v[verbose mode (generate verbose messages)]' \
+'-d[debug mode (generate debugging messages)]' \
+'-q[quiet mode (suppress messages)]' \
+'-D[specify portdir]' \
+'-k[keep mode (do not autoclean after install)]' \
+'-n[dont follow dependencies in upgrade (only for upgrading)]' \
+'-a[upgrade all installed ports (only for upgrading)]' \
+'-u[uninstall non-active ports when upgrading and uninstalling]' \
+'-f[force mode (ignore state file)]' \
+'-s[source-only mode]' \
+'-b[binary-only mode]' \
+'-o[honor state files older than Portfile]' \
+'*::command:->command' \
+&& return 0
+
+case $state in
+ command)
+ if ((CURRENT == 1)); then
+ state=subcommands
+ else
+ state=portname
+ fi
+ ;;
+esac
+
+case $state in
+ subcommands)
+ _describe -t commands 'port commands' subcmds
+ ;;
+ portname)
+ _describe -t commands 'available ports' portlist
+ ;;
+esac
diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh
index 9564829b0..cbbc49265 100644
--- a/plugins/macports/macports.plugin.zsh
+++ b/plugins/macports/macports.plugin.zsh
@@ -5,3 +5,8 @@ alias psu="sudo port selfupdate"
alias puni="sudo port uninstall inactive"
alias puo="sudo port upgrade outdated"
alias pup="psu && puo"
+
+# add macports completion function to path
+fpath=($ZSH/plugins/macports $fpath)
+autoload -U compinit
+compinit -i
diff --git a/plugins/perl/perl.plugin.zsh b/plugins/perl/perl.plugin.zsh
new file mode 100644
index 000000000..f94c4195d
--- /dev/null
+++ b/plugins/perl/perl.plugin.zsh
@@ -0,0 +1,62 @@
+# https://github.com/dbbolton
+#
+# Below are some useful Perl-related aliases/functions that I use with zsh.
+
+
+# Aliases ###################################################################
+
+# perlbrew ########
+alias pbi='perlbrew install'
+alias pbl='perlbrew list'
+alias pbo='perlbrew off'
+alias pbs='perlbrew switch'
+alias pbu='perlbrew use'
+
+# Perl ############
+
+# perldoc`
+alias pd='perldoc'
+
+# use perl like awk/sed
+alias ple='perl -wlne'
+
+# show the latest stable release of Perl
+alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\'
+
+
+
+# Functions #################################################################
+
+# newpl - creates a basic Perl script file and opens it with $EDITOR
+newpl () {
+ # set $EDITOR to 'vim' if it is undefined
+ [[ -z $EDITOR ]] && EDITOR=vim
+
+ # if the file exists, just open it
+ [[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1
+
+ # if it doesn't, make it, and open it
+ [[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\
+ "\n\n" > $1 && $EDITOR $1
+}
+
+
+# pgs - Perl Global Substitution
+# find pattern = 1st arg
+# replace pattern = 2nd arg
+# filename = 3rd arg
+pgs() { # [find] [replace] [filename]
+ perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3"
+}
+
+
+# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files.
+prep() { # [pattern] [filename unless STDOUT]
+ perl -nle 'print if /'"$1"'/;' $2
+}
+
+# say - append a newline to 'print'
+say() {
+ print "$1\n"
+}
+
diff --git a/plugins/ssh-agent/ssh-agent.plugin.zsh b/plugins/ssh-agent/ssh-agent.plugin.zsh
index ce0d645c1..0efc4546f 100644
--- a/plugins/ssh-agent/ssh-agent.plugin.zsh
+++ b/plugins/ssh-agent/ssh-agent.plugin.zsh
@@ -1,7 +1,7 @@
# Based on code from Joseph M. Reagle
# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html
-local SSH_ENV=$HOME/.ssh/environment
+local SSH_ENV=$HOME/.ssh/environment-$HOST
function start_agent {
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}