aboutsummaryrefslogtreecommitdiffstats
path: root/src/_phing
diff options
context:
space:
mode:
authorIgor Timoshenko <igor.timoshenko@i.ua>2014-02-12 16:08:44 +0000
committerIgor Timoshenko <igor.timoshenko@i.ua>2014-02-12 16:08:44 +0000
commitc0ebcbe56b89fe96688c4fce88ae5af40132dc42 (patch)
tree87e577c6411b52f8ede175327f33fe10a6ef876f /src/_phing
parentMerge pull request #198 from TimofeyTitovets/master (diff)
downloadzsh-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/_phing94
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