Merge pull request #165 from jozefizso/feature_middleman
Completion for middleman
This commit is contained in:
		
						commit
						bfb970cad3
					
				|  | @ -0,0 +1,136 @@ | |||
| #compdef middleman | ||||
| # ------------------------------------------------------------------------------ | ||||
| # 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 | ||||
		Loading…
	
		Reference in New Issue