mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-22 05:40:08 +00:00
Merge pull request #239 from fred-o/master
Maven and GNU Screen plugins
This commit is contained in:
commit
feb11a71ae
3 changed files with 62 additions and 1 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -4,5 +4,6 @@ projects.zsh
|
||||||
custom/*
|
custom/*
|
||||||
!custom/example
|
!custom/example
|
||||||
!custom/example.zsh
|
!custom/example.zsh
|
||||||
cache
|
|
||||||
*.swp
|
*.swp
|
||||||
|
!custom/example.zshcache
|
||||||
|
cache/
|
||||||
|
|
6
plugins/mvn/mvn.plugin.zsh
Normal file
6
plugins/mvn/mvn.plugin.zsh
Normal file
|
@ -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
|
54
plugins/screen/screen.plugin.zsh
Normal file
54
plugins/screen/screen.plugin.zsh
Normal file
|
@ -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
|
Loading…
Reference in a new issue