diff options
| author | Igor Timoshenko <igor.timoshenko@i.ua> | 2014-02-12 16:08:44 +0000 |
|---|---|---|
| committer | Igor Timoshenko <igor.timoshenko@i.ua> | 2014-02-12 16:08:44 +0000 |
| commit | c0ebcbe56b89fe96688c4fce88ae5af40132dc42 (patch) | |
| tree | 87e577c6411b52f8ede175327f33fe10a6ef876f /src/_phing | |
| parent | Merge pull request #198 from TimofeyTitovets/master (diff) | |
| download | zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar.gz zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar.bz2 zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar.lz zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar.xz zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.tar.zst zsh-completions-c0ebcbe56b89fe96688c4fce88ae5af40132dc42.zip | |
Added completion script for Phing
Diffstat (limited to 'src/_phing')
| -rw-r--r-- | src/_phing | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/_phing b/src/_phing new file mode 100644 index 0000000..57210da --- /dev/null +++ b/src/_phing @@ -0,0 +1,94 @@ +#compdef phing +# ------------------------------------------------------------------------------ +# Copyright (c) Igor M. Timoshenko <igor.timoshenko@i.ua> +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is furnished +# to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for Phing (http://phing.info). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Igor Timoshenko <igor.timoshenko@i.ua> +# +# ------------------------------------------------------------------------------ + +_phing() { + local context curcontext="$curcontext" state line ret=1 + integer NORMARG + typeset -A opt_args + + # follow http://phing.info/docs/stable/webhelp/sec.commandlineargs.html for more information + _arguments \ + '(-h -help)'{-h,-help}'[display the help screen]' \ + '(-v -version)'{-v,-version}'[print version information and exit]' \ + '(-l -list)'{-l,-list}'[list all available targets in buildfile (excluding targets that have their hidden attribute set to true)]' \ + '(-q -quiet)'{-q,-quiet}'[quiet operation, no output at all]' \ + '-verbose[verbose, give some more output]' \ + '-debug[output debug information]' \ + '-logfile [use given file for log]:file:_files' \ + '-D[set the property to the specified value to be used in the buildfile]' \ + '-find []:file:_files' \ + '-buildfile [specify an alternate buildfile name. Default is build.xml]:file:_files' \ + '-logger [specify an alternate logger. Default is phing.listener.DefaultLogger. Other options include phing.listener.NoBannerLogger, phing.listener.AnsiColorLogger, phing.listener.XmlLogger, phing.listener.TargetLogger and phing.listener.HtmlColorLogger]' \ + '-propertyfile [load properties from the specified file]:file:_files' \ + '(-v --version)'{-v,--version}'[show version]' \ + '1: :->targets' \ + '*:: :->args' \ + && ret=0 + + case $state in + targets) + local buildfile; buildfile=build.xml + if [[ ! -f $buildfile ]] + then + ret=0 + else + local targets; targets=($(sed -nE "/<target /s/.*name=[\"'](\w+)[\"'].*/\1/p" $buildfile)) + _describe -t 'targets' 'target' targets && ret=0 + fi + ;; + args) + if [[ CURRENT -eq NORMARG && ${+opt_args[--match]} -eq 0 ]] + then + # If the current argument is the first non-option argument + # and --match isn't present then a pattern is expected + _message -e patterns 'pattern' && ret=0 + else + _files + fi + ;; + esac + + return ret +} + +_phing "$@" + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et |
