summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md15
-rw-r--r--lib/completion.zsh33
-rw-r--r--plugins/copybuffer/README.md11
-rw-r--r--plugins/copybuffer/copybuffer.plugin.zsh14
-rw-r--r--plugins/mvn/mvn.plugin.zsh2
-rw-r--r--plugins/ng/README.md37
-rw-r--r--plugins/ng/ng.plugin.zsh77
-rw-r--r--themes/agnoster.zsh-theme3
8 files changed, 169 insertions, 23 deletions
diff --git a/README.md b/README.md
index aab1af9fd..6da731890 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,15 @@
<img src="https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png" alt="Oh My Zsh">
</p>
-Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration. That sounds boring. Let's try this again.
+Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
-__Oh My Zsh is a way of life!__ Once installed, your terminal prompt will become the talk of the town _or your money back!_ Each time you interact with your command prompt, you'll be able to take advantage of the hundreds of bundled plugins and pretty themes. Strangers will come up to you in cafés and ask you, _"that is amazing. are you some sort of genius?"_ Finally, you'll begin to get the sort of attention that you always felt that you deserved. ...or maybe you'll just use the time that you saved to start flossing more often.
+That sounds boring. Let's try this again.
+
+__Oh My Zsh is a way of life!__
+
+Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
+
+Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often.
To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
@@ -202,7 +208,10 @@ Thank you so much!
## Follow Us
-We have an [@ohmyzsh](https://twitter.com/ohmyzsh) Twitter account. You should follow it.
+We're on the social medias.
+
+* [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it.
+* [Oh My Zsh](https://www.facebook.com/Oh-My-Zsh-296616263819290/) on Facebook.
## Merchandise
diff --git a/lib/completion.zsh b/lib/completion.zsh
index f5b292471..bbd021656 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -1,4 +1,7 @@
# fixme - the load process here seems a bit bizarre
+zmodload -i zsh/complist
+
+WORDCHARS=''
unsetopt menu_complete # do not autoselect the first completion entry
unsetopt flowcontrol
@@ -6,32 +9,26 @@ setopt auto_menu # show completion menu on succesive tab press
setopt complete_in_word
setopt always_to_end
-WORDCHARS=''
-
-zmodload -i zsh/complist
+# should this be in keybindings?
+bindkey -M menuselect '^o' accept-and-infer-next-history
+zstyle ':completion:*:*:*:*:*' menu select
-## case-insensitive (all),partial-word and then substring completion
-if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
- zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
- unset CASE_SENSITIVE
+# case insensitive (all), partial-word and substring completion
+if [[ "$CASE_SENSITIVE" = true ]]; then
+ zstyle ':completion:*' matcher-list 'r:|=*' 'l:|=* r:|=*'
else
- if [ "x$HYPHEN_INSENSITIVE" = "xtrue" ]; then
- zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
- unset HYPHEN_INSENSITIVE
+ if [[ "$HYPHEN_INSENSITIVE" = true ]]; then
+ zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|=*' 'l:|=* r:|=*'
else
- zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+ zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
fi
fi
+unset CASE_SENSITIVE HYPHEN_INSENSITIVE
zstyle ':completion:*' list-colors ''
-
-# should this be in keybindings?
-bindkey -M menuselect '^o' accept-and-infer-next-history
-
-zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
-if [ "$OSTYPE[0,7]" = "solaris" ]
-then
+
+if [[ "$OSTYPE" = solaris* ]]; then
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm"
else
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
diff --git a/plugins/copybuffer/README.md b/plugins/copybuffer/README.md
new file mode 100644
index 000000000..da138bdbd
--- /dev/null
+++ b/plugins/copybuffer/README.md
@@ -0,0 +1,11 @@
+# `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)
+```
diff --git a/plugins/copybuffer/copybuffer.plugin.zsh b/plugins/copybuffer/copybuffer.plugin.zsh
new file mode 100644
index 000000000..cc205d40f
--- /dev/null
+++ b/plugins/copybuffer/copybuffer.plugin.zsh
@@ -0,0 +1,14 @@
+# 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
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
index d290c98ec..625aad949 100644
--- a/plugins/mvn/mvn.plugin.zsh
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -172,7 +172,7 @@ function listMavenCompletions {
gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test
# options
- -Dmaven.test.skip=true -DskipTests -DskipITs -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven -Dmaven.test.failure.ignore=true
+ -Dmaven.test.skip=true -DskipTests -DskipITs -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven -Dmaven.test.failure.ignore=true -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=
# arguments
-am -amd -B -C -c -cpu -D -e -emp -ep -f -fae -ff -fn -gs -h -l -N -npr -npu -nsu -o -P -pl -q -rf -s -T -t -U -up -V -v -X
diff --git a/plugins/ng/README.md b/plugins/ng/README.md
new file mode 100644
index 000000000..86ad64041
--- /dev/null
+++ b/plugins/ng/README.md
@@ -0,0 +1,37 @@
+## NG Plugin
+
+This [ng plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ng)
+ adds completion support for Angular's CLI (named ng).
+
+Ng is hosted on [ng home](https://github.com/catull/angular-cli)
+
+It is used to generate Angular 2 app "stubs", build those apps, configure them,
+test them, lint them etc.
+
+Ahem, "stubs" is not what Angular engineers refer to the items ng can generate
+for you.
+
+"Stubs" can be any one of:
+- class
+- component
+- directive
+- enum
+- module
+- pipe
+- route
+- service
+
+At the moment, `ng completion` creates a very rough completion for Zsh and
+Bash.
+
+It is missing most of the options and a few arguments.
+In future, this plugin may be shortened to simply being
+
+```zsh
+eval `ng completion`
+```
+
+There is hope this materialises in the 21st century.
+
+### CONTRIBUTOR
+ - Carlo Dapor ([catull](https://github.com/catull))
diff --git a/plugins/ng/ng.plugin.zsh b/plugins/ng/ng.plugin.zsh
new file mode 100644
index 000000000..2488bc230
--- /dev/null
+++ b/plugins/ng/ng.plugin.zsh
@@ -0,0 +1,77 @@
+
+ng_opts='addon asset-sizes b build completion d destroy doc e2e g generate get github-pages:deploy gh-pages:deploy h help i init install lint make-this-awesome new s serve server set t test v version -h --help'
+
+_ng_completion () {
+ local words cword opts
+ read -Ac words
+ read -cn cword
+ let cword-=1
+
+ case $words[cword] in
+ addon )
+ opts='-b --blueprint -d -dir --directory --dry-run -sb --skip-bower -sg --skip-git -sn --skip-npm -v --verbose'
+ ;;
+
+ asset-sizes )
+ opts='-o --output-path'
+ ;;
+
+ b | build )
+ opts='--environment --output-path --suppress-sizes --target --watch --watcher -dev -e -prod'
+ ;;
+
+ d | destroy )
+ opts='--dry-run --verbose --pod --classic --dummy --in-repo --in-repo-addon -d -v -p -c -dum -id -ir'
+ ;;
+
+ g | generate )
+ opts='class component directive enum module pipe route service --generate -d --dry-run --verbose -v --pod -p --classic -c --dummy -dum -id --in-repo --in-repo-addon -ir'
+ ;;
+
+ gh-pages:deploy | github-pages:deploy )
+ opts='--environment --gh-token --gh-username --skip-build --user-page --message'
+ ;;
+
+ h | help | -h | --help)
+ opts='--json --verbose -v'
+ ;;
+
+ init )
+ opts='--blueprint --dry-run --link-cli --mobile --name --prefix --skip-bower --skip-npm --source-dir --style --verbose -b -d -lc -n -p -sb -sd -sn -v'
+ ;;
+
+ new )
+ opts='--blueprint --directory --dry-run --link-cli --mobile --prefix --skip-bower --skip-git --skip-npm --source-dir --style --verbose -b -d -dir -lc -p -sb -sd -sg -sn -v'
+ ;;
+
+ s | serve | server )
+ opts='--environment --host --insecure-proxy --inspr --live-reload --live-reload-base-url --live-reload-host --live-reload-live-css --live-reload-port --output-path --port --proxy --ssl --ssl-cert --ssl-key --target --watcher -H -dev -e -lr -lrbu -lrh -lrp -op -out -p -pr -prod -pxy -t -w'
+ ;;
+
+ set )
+ opts='--global -g'
+ ;;
+
+ t | test )
+ opts='--browsers --colors --config-file --environment --filter --host --launch --log-level --module --path --port --query --reporter --server --silent --test-page --test-port --watch -H -c -cf -e -f -m -r -s -tp -w'
+ ;;
+
+ v | version )
+ opts='--verbose'
+ ;;
+
+ ng )
+ opts=$ng_opts
+ ;;
+
+ * )
+ opts=''
+ ;;
+ esac
+
+ setopt shwordsplit
+ reply=($opts)
+ unset shwordsplit
+}
+
+compctl -K _ng_completion ng
diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme
index 278a70181..c6c0a7ac1 100644
--- a/themes/agnoster.zsh-theme
+++ b/themes/agnoster.zsh-theme
@@ -86,7 +86,7 @@ prompt_context() {
# Git: branch/detached head, dirty status
prompt_git() {
-
+ (( $+commands[git] )) || return
local PL_BRANCH_CHAR
() {
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
@@ -128,6 +128,7 @@ prompt_git() {
}
prompt_bzr() {
+ (( $+commands[bzr] )) || return
if (bzr status >/dev/null 2>&1); then
status_mod=`bzr status | head -n1 | grep "modified" | wc -m`
status_all=`bzr status | head -n1 | wc -m`