summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/ant/ant.plugin.zsh6
-rw-r--r--plugins/brew/brew.plugin.zsh12
-rw-r--r--plugins/bundler/bundler.plugin.zsh33
-rw-r--r--plugins/cloudapp/cloudapp.plugin.zsh2
-rwxr-xr-xplugins/cloudapp/cloudapp.rb60
-rw-r--r--plugins/node/node.plugin.zsh5
-rw-r--r--plugins/npm/npm.plugin.zsh2
-rw-r--r--plugins/rails3/rails3.plugin.zsh11
-rw-r--r--plugins/rvm/rvm.plugin.zsh8
-rw-r--r--plugins/svn/svn.plugin.zsh8
10 files changed, 103 insertions, 44 deletions
diff --git a/plugins/ant/ant.plugin.zsh b/plugins/ant/ant.plugin.zsh
index 23bc7756a..691d4d2db 100644
--- a/plugins/ant/ant.plugin.zsh
+++ b/plugins/ant/ant.plugin.zsh
@@ -2,14 +2,14 @@ stat -f%m . > /dev/null 2>&1
if [ "$?" = 0 ]; then
stat_cmd=(stat -f%m)
else
- stat_cmd=(stat -L --format=%y)
+ stat_cmd=(stat -L --format=%Y)
fi
_ant_does_target_list_need_generating () {
if [ ! -f .ant_targets ]; then return 0;
else
- accurate=$($stat_cmd -f%m .ant_targets)
- changed=$($stat_cmd -f%m build.xml)
+ accurate=$($stat_cmd .ant_targets)
+ changed=$($stat_cmd build.xml)
return $(expr $accurate '>=' $changed)
fi
}
diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
index f584a4684..c2e95884e 100644
--- a/plugins/brew/brew.plugin.zsh
+++ b/plugins/brew/brew.plugin.zsh
@@ -1,13 +1 @@
-# Move /usr/local/bin (path where brews are linked) to the front of the path
-# This will allow us to override system binaries like ruby with our brews
-# TODO: Do this in a more compatible way.
-# What if someone doesn't have /usr/bin in their path?
-export PATH=`echo $PATH | sed -e 's|/usr/local/bin||' -e 's|::|:|g'` # Remove /usr/local/bin
-export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/bin:&|'` # Add it in front of /usr/bin
-export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/sbin:&|'` # Add /usr/local/sbin
-
alias brews='brew list -1'
-
-function brew-link-completion {
- ln -s "$(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh" "$ZSH/plugins/brew/_brew.official"
-}
diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh
index fb40e2cec..e98bb4b46 100644
--- a/plugins/bundler/bundler.plugin.zsh
+++ b/plugins/bundler/bundler.plugin.zsh
@@ -1,3 +1,36 @@
alias be="bundle exec"
alias bi="bundle install"
+alias bl="bundle list"
alias bu="bundle update"
+
+# The following is based on https://github.com/gma/bundler-exec
+
+bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails)
+
+## Functions
+
+_bundler-installed() {
+ which bundle > /dev/null 2>&1
+}
+
+_within-bundled-project() {
+ local check_dir=$PWD
+ while [ "$(dirname $check_dir)" != "/" ]; do
+ [ -f "$check_dir/Gemfile" ] && return
+ check_dir="$(dirname $check_dir)"
+ done
+ false
+}
+
+_run-with-bundler() {
+ if _bundler-installed && _within-bundled-project; then
+ bundle exec $@
+ else
+ $@
+ fi
+}
+
+## Main program
+for cmd in $bundled_commands; do
+ alias $cmd="_run-with-bundler $cmd"
+done
diff --git a/plugins/cloudapp/cloudapp.plugin.zsh b/plugins/cloudapp/cloudapp.plugin.zsh
new file mode 100644
index 000000000..99252f690
--- /dev/null
+++ b/plugins/cloudapp/cloudapp.plugin.zsh
@@ -0,0 +1,2 @@
+#!/bin/zsh
+alias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb
diff --git a/plugins/cloudapp/cloudapp.rb b/plugins/cloudapp/cloudapp.rb
new file mode 100755
index 000000000..a11cfdb32
--- /dev/null
+++ b/plugins/cloudapp/cloudapp.rb
@@ -0,0 +1,60 @@
+#!/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`
diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh
index 18f35333c..519bc18da 100644
--- a/plugins/node/node.plugin.zsh
+++ b/plugins/node/node.plugin.zsh
@@ -1,8 +1,5 @@
-# This works if you installed node via homebrew.
-export NODE_PATH="/usr/local/lib/node"
-
# Open the node api for your current version to the optional section.
# TODO: Make the section part easier to use.
-function node-api {
+function node-docs {
open "http://nodejs.org/docs/$(node --version)/api/all.html#$1"
}
diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh
deleted file mode 100644
index 0b0a30e11..000000000
--- a/plugins/npm/npm.plugin.zsh
+++ /dev/null
@@ -1,2 +0,0 @@
-# TODO: Don't do this in such a weird way.
-export PATH=`echo $PATH | sed -e 's|/usr/bin|/usr/local/share/npm/bin:&|'`
diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh
index f669ef047..f4ee637e6 100644
--- a/plugins/rails3/rails3.plugin.zsh
+++ b/plugins/rails3/rails3.plugin.zsh
@@ -1,13 +1,5 @@
# Rails 3 aliases, backwards-compatible with Rails 2.
-function _bundle_command {
- if command -v bundle && [ -e "Gemfile" ]; then
- bundle exec $@
- else
- $@
- fi
-}
-
function _rails_command () {
if [ -e "script/server" ]; then
ruby script/$@
@@ -25,6 +17,3 @@ alias rp='_rails_command plugin'
alias rs='_rails_command server'
alias rsd='_rails_command server --debugger'
alias devlog='tail -f log/development.log'
-
-alias rspec='_bundle_command rspec'
-alias cuke='_bundle_command cucumber'
diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh
index 8a3ec788a..24621fe0b 100644
--- a/plugins/rvm/rvm.plugin.zsh
+++ b/plugins/rvm/rvm.plugin.zsh
@@ -1,7 +1,3 @@
-fpath=($ZSH/plugins/rvm $fpath)
-autoload -U compinit
-compinit -i
-
alias rubies='rvm list rubies'
alias gemsets='rvm gemset list'
@@ -35,10 +31,6 @@ function rvm-update {
rvm reload # TODO: Reload rvm completion?
}
-function rvm-link-completion {
- ln -s "$rvm_path/scripts/zsh/Completion/_rvm" "$ZSH/plugins/rvm/_rvm.official"
-}
-
# TODO: Make this usable w/o rvm.
function gems {
local current_ruby=`rvm-prompt i v p`
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
index 45d461306..86050227d 100644
--- a/plugins/svn/svn.plugin.zsh
+++ b/plugins/svn/svn.plugin.zsh
@@ -13,7 +13,7 @@ function in_svn() {
}
function svn_get_repo_name {
- if [ is_svn ]; then
+ if [ in_svn ]; then
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
@@ -21,13 +21,13 @@ function svn_get_repo_name {
}
function svn_get_rev_nr {
- if [ is_svn ]; then
+ if [ in_svn ]; then
svn info 2> /dev/null | sed -n s/Revision:\ //p
fi
}
function svn_dirty_choose {
- if [ is_svn ]; then
+ if [ in_svn ]; then
s=$(svn status 2>/dev/null)
if [ $s ]; then
echo $1
@@ -39,4 +39,4 @@ function svn_dirty_choose {
function svn_dirty {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
-} \ No newline at end of file
+}