summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2012-06-13 12:34:02 -0700
committerRobby Russell <robby@planetargon.com>2012-06-13 12:34:02 -0700
commitfeb11a71ae007c0b300fbe0e46b4748c02fff7a2 (patch)
tree589637a44230d401e8a4d0ebba984c8468d7e980 /plugins
parent21de917d3bc2dbe48eadadcaa1ad73e3f4a61ccd (diff)
parenta4748a2aad0c57f3fab01d7bd2dcbe6be00263d2 (diff)
downloadzsh-feb11a71ae007c0b300fbe0e46b4748c02fff7a2.tar.gz
zsh-feb11a71ae007c0b300fbe0e46b4748c02fff7a2.tar.bz2
zsh-feb11a71ae007c0b300fbe0e46b4748c02fff7a2.zip
Merge pull request #239 from fred-o/master
Maven and GNU Screen plugins
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mvn/mvn.plugin.zsh6
-rw-r--r--plugins/screen/screen.plugin.zsh54
2 files changed, 60 insertions, 0 deletions
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
new file mode 100644
index 000000000..e8af2f49d
--- /dev/null
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -0,0 +1,6 @@
+function listMavenCompletions {
+ reply=(
+ cli:execute cli:execute-phase archetype:generate generate-sources compile clean install test test-compile deploy package cobertura:cobertura jetty:run gwt:run gwt:debug -DskipTests -Dmaven.test.skip=true -DarchetypeCatalog=http://tapestry.formos.com/maven-snapshot-repository -Dtest= `if [ -d ./src ] ; then find ./src -type f | grep -v svn | sed 's?.*/\([^/]*\)\..*?-Dtest=\1?' ; fi`);
+}
+
+compctl -K listMavenCompletions mvn \ No newline at end of file
diff --git a/plugins/screen/screen.plugin.zsh b/plugins/screen/screen.plugin.zsh
new file mode 100644
index 000000000..98178e807
--- /dev/null
+++ b/plugins/screen/screen.plugin.zsh
@@ -0,0 +1,54 @@
+# if using GNU screen, let the zsh tell screen what the title and hardstatus
+# of the tab window should be.
+if [[ $TERM == "screen" ]]; then
+ if [[ $_GET_PATH == '' ]]; then
+ _GET_PATH='echo $PWD | sed "s/^\/Users\//~/;s/^\/home\//~/;s/^~$USER/~/"'
+ fi
+ if [[ $_GET_HOST == '' ]]; then
+ _GET_HOST='echo $HOST | sed "s/\..*//"'
+ fi
+
+ # use the current user as the prefix of the current tab title
+ TAB_TITLE_PREFIX='"`'$_GET_HOST'`:`'$_GET_PATH' | sed "s:..*/::"`$PROMPT_CHAR"'
+ # when at the shell prompt, show a truncated version of the current path (with
+ # standard ~ replacement) as the rest of the title.
+ TAB_TITLE_PROMPT='$SHELL:t'
+ # when running a command, show the title of the command as the rest of the
+ # title (truncate to drop the path to the command)
+ TAB_TITLE_EXEC='$cmd[1]:t'
+
+ # use the current path (with standard ~ replacement) in square brackets as the
+ # prefix of the tab window hardstatus.
+ TAB_HARDSTATUS_PREFIX='"[`'$_GET_PATH'`] "'
+ # when at the shell prompt, use the shell name (truncated to remove the path to
+ # the shell) as the rest of the title
+ TAB_HARDSTATUS_PROMPT='$SHELL:t'
+ # when running a command, show the command name and arguments as the rest of
+ # the title
+ TAB_HARDSTATUS_EXEC='$cmd'
+
+ # tell GNU screen what the tab window title ($1) and the hardstatus($2) should be
+ function screen_set()
+ {
+ # set the tab window title (%t) for screen
+ print -nR $'\033k'$1$'\033'\\\
+
+ # set hardstatus of tab window (%h) for screen
+ print -nR $'\033]0;'$2$'\a'
+ }
+ # called by zsh before executing a command
+ function preexec()
+ {
+ local -a cmd; cmd=(${(z)1}) # the command string
+ eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_EXEC"
+ eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_EXEC"
+ screen_set $tab_title $tab_hardstatus
+ }
+ # called by zsh before showing the prompt
+ function precmd()
+ {
+ eval "tab_title=$TAB_TITLE_PREFIX:$TAB_TITLE_PROMPT"
+ eval "tab_hardstatus=$TAB_HARDSTATUS_PREFIX:$TAB_HARDSTATUS_PROMPT"
+ screen_set $tab_title $tab_hardstatus
+ }
+fi \ No newline at end of file