aboutsummaryrefslogtreecommitdiffstats
path: root/src/_nanoc
diff options
context:
space:
mode:
authorOKURA Masafumi <masafumi.o1988@gmail.com>2020-05-28 07:43:21 +0900
committerOKURA Masafumi <masafumi.o1988@gmail.com>2020-05-28 07:47:52 +0900
commit0bd08521f9eb31a49a0f69cb76e2273d50efb7fc (patch)
treece6346769c8833199112d69018a2527e48fb72d1 /src/_nanoc
parentMerge pull request #746 from syohex/syohex/745 (diff)
downloadzsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar.gz
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar.bz2
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar.lz
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar.xz
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.tar.zst
zsh-completions-0bd08521f9eb31a49a0f69cb76e2273d50efb7fc.zip
Add completion for nanoc
nanoc is a static site generator written in Ruby. Website for nanoc is here: https://nanoc.ws/
Diffstat (limited to 'src/_nanoc')
-rw-r--r--src/_nanoc162
1 files changed, 162 insertions, 0 deletions
diff --git a/src/_nanoc b/src/_nanoc
new file mode 100644
index 0000000..7a0fb1f
--- /dev/null
+++ b/src/_nanoc
@@ -0,0 +1,162 @@
+#compdef nanoc
+# ------------------------------------------------------------------------------
+# Copyright (c) 2020 OKURA Masafumi, 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 nanoc (https://nanoc.ws/)
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * OKURA Masafumi (https://okuramasafumi.com)
+#
+# This works is heavily inspired by the middleman completion by
+# Jozef Izso (https://github.com/jozefizso)
+#
+# ------------------------------------------------------------------------------
+
+local ret=1 state
+
+local -a common_ops
+common_ops=(
+ {-C,--no-color}"[disable color]"
+ {-V,--verbose}"[make output more detailed]"
+ {-d,--debug}"[enable debugging]"
+ {-e,--env=}"[set environment]"
+ {-h,--help}"[show the help message and quit]"
+ {-l,--color}"[enable color]"
+ {-v,--version}"[show version information and quit]"
+ {-w,--warn}"[enable warnings]"
+)
+
+typeset -A opt_args
+_arguments \
+ ':subcommand:->subcommand' \
+ $common_ops \
+ '*::options:->options' && ret=0
+
+case $state in
+ subcommand)
+ local -a subcommands
+ subcommands=(
+ "check:run issue checks"
+ "compile:compile items of this site"
+ "create-site:create a site"
+ "deploy:deploy the compiled site"
+ "help:show help"
+ "prune:remove files not managed by Nanoc from the output directory"
+ "shell:open a shell on the Nanoc environment"
+ "show-data:show data in this site"
+ "show-plugins:show all available plugins"
+ "show-rules:describe the rules for each item"
+ "view:start the web server that serves static files"
+ )
+
+ _describe -t subcommands 'nanoc subcommand' subcommands && ret=0
+ ;;
+
+ options)
+ local -a args
+ args=(
+ $common_ops
+ )
+
+ local -a help
+ help=(
+ "--help[Display help information]"
+ )
+
+ case $words[1] in
+ check)
+ args=(
+ {-L,--list}"[list all checks]"
+ {-a,--all}"[run all checks]"
+ )
+ ;;
+
+ compile)
+ args=(
+ "--diff[generate diff]"
+ )
+ ;;
+
+ create-site)
+ args=(
+ "--force[force creation of new site]"
+ )
+ ;;
+
+ deploy)
+ args=(
+ {-C,--no-check}"[do not run the issue checks marked for deployment]"
+ {-D,--list-deployers}"[list available deployers]"
+ {-L,--list}"[list available locations to deploy to]"
+ {-n,--dry-run}"[show what would be deployed]"
+ {-t,--target=}"[specify the location to deploy to (default:\`default\`)]"
+ )
+ ;;
+
+ prune)
+ args=(
+ {-n,--dry-run}"[print files to be deleted instead of actually deleting them]"
+ {-y,--yes}"[confirm deletion]"
+ )
+ ;;
+
+ shell)
+ args=(
+ {-p,--preprocess}"[run preprocessor]"
+ )
+ ;;
+
+ show-data)
+ args=(
+ )
+ ;;
+
+ show-plugins)
+ args=(
+ )
+ ;;
+
+ show-rules)
+ args=(
+ )
+ ;;
+
+ view)
+ args=(
+ {-H,--handler=}"[specify the handler to use(webrick/mongrel/...)]"
+ {-L,--live-reload}"[reload on changes]"
+ {-o,--host=}"[specify the host to listen on(default: 127.0.0.1)]"
+ {-p,--port=}"[specify the port to listen on(default: 3000)]"
+ )
+ ;;
+ esac
+
+ _arguments $args && ret=0
+ ;;
+esac
+
+return ret