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