157 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| #compdef middleman
 | |
| # ------------------------------------------------------------------------------
 | |
| # Copyright (c) 2013 Jozef Izso, MIT License
 | |
| #
 | |
| # 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 middleman (http://middlemanapp.com/)
 | |
| #  Includes commands from middleman-blog and middleman-deploy extesions.
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| # Authors
 | |
| # -------
 | |
| #
 | |
| #  * Jozef Izso (https://github.com/jozefizso)
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| 
 | |
| local ret=1 state
 | |
| 
 | |
| local -a common_ops
 | |
| common_ops=(
 | |
|   "--help[Display help]"
 | |
| )
 | |
| 
 | |
| typeset -A opt_args
 | |
| _arguments \
 | |
|   ':subcommand:->subcommand' \
 | |
|   $common_ops \
 | |
|   '*::options:->options' && ret=0
 | |
| 
 | |
| case $state in
 | |
|   subcommand)
 | |
|     local -a subcommands
 | |
|     subcommands=(
 | |
|       "article:Create a new blog article"
 | |
|       "build:Builds the static site for deployment"
 | |
|       "console:Start an interactive console in the context of your Middleman application"
 | |
|       "deploy:Deploy a middleman built site over rsync, ftp, sftp, or git (e.g. gh-pages on github)."
 | |
|       "extension:Create Middleman extension scaffold"
 | |
|       "init:Create new project"
 | |
|       "server:Start the preview server"
 | |
|       "upgrade:Upgrade installed bundle"
 | |
|       "version:Show version"
 | |
|     )
 | |
| 
 | |
|     _describe -t subcommands 'middleman subcommand' subcommands && ret=0
 | |
|   ;;
 | |
| 
 | |
|   options)
 | |
|     local -a args
 | |
|     args=(
 | |
|       $common_ops
 | |
|     )
 | |
| 
 | |
|     local -a help
 | |
|     help=(
 | |
|       "--help[Display help information]"
 | |
|     )
 | |
| 
 | |
|     case $words[1] in
 | |
|       article)
 | |
|         args=(
 | |
|           {-d,--date}"[The date to create the post with (defaults to now)]:date"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       build)
 | |
|         args=(
 | |
|           "--clean[Remove orphaned files from build (Default: true)]"
 | |
|           "--no-clean[Disable removing orphaned files from build]"
 | |
|           {-g,--glob}"[Build a subset of the project]:glob"
 | |
|           "--verbose[Print debug messages]"
 | |
|           "--instrument[Print instrument messages]:instrument"
 | |
|           "--profile[Generate profiling report for the build]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       console)
 | |
|         args=(
 | |
|           {-e,--environment}"[The environment Middleman will run under (Default: development)]:environment"
 | |
|           "--verbose[Print debug messages]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       deploy)
 | |
|         args=(
 | |
|           {-b,--build-before}"[Run \`middleman build\` before the deploy step]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       extension)
 | |
|         args=(
 | |
|           "--git[Default: true]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       init)
 | |
|         args=(
 | |
|           {-T,--template}"[Use a project template: default, html5, mobile, smacss, empty. (Default: default)]:template"
 | |
|           "--css-dir      [The path to the css files]:css_dir"
 | |
|           "--js-dir       [The path to the javascript files]:js_dir"
 | |
|           "--images-dir   [The path to the image files]:images_dir"
 | |
|           "--rack         [Include a config.ru file]"
 | |
|           "--skip-gemfile [Don't create a Gemfile]"
 | |
|           "--skip-bundle  [Don't run bundle install]"
 | |
|           "--skip-git     [Skip Git ignores and keeps]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       server)
 | |
|         args=(
 | |
|           {-e,--environment}"[The environment Middleman will run under (Default: development)]:environment"
 | |
|           {-h,--host}"[Bind to HOST address (Default: 0.0.0.0)]:host"
 | |
|           {-p,--port}"[The port Middleman will listen on (Default: 4567)]:port"
 | |
|           "--verbose                    [Print debug messages]"
 | |
|           "--instrument                 [Print instrument messages]:instrument"
 | |
|           "--disable-watcher            [Disable the file change and delete watcher process]"
 | |
|           "--profile                    [Generate profiling report for server startup]"
 | |
|           "--reload-paths               [Additional paths to auto-reload when files change]:reload_paths"
 | |
|           "--force-polling              [Force file watcher into polling mode]"
 | |
|         )
 | |
|       ;;
 | |
| 
 | |
|       upgrade)
 | |
|         args=()
 | |
|       ;;
 | |
| 
 | |
|       version)
 | |
|         args=()
 | |
|       ;;
 | |
|     esac
 | |
| 
 | |
|     _arguments $args && ret=0
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| return ret
 |