mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-21 18:46:06 +02:00
Adds a rails-style generator that creates a custom plugin in $ZSH_CUSTOM/plugins/<name> from commented templates: the plugin file, a README in the usual shape and, for plugins that wrap a command-line tool, a completion skeleton (or the cached-completion block when the tool generates its own). Anything not passed as an option is asked for interactively; non-interactive shells use defaults. `omz generate` is a new top-level command so that other generators (e.g. `omz generate theme`) can follow the same shape. Templates live in templates/generators/plugin and are syntax-checked by CI. lib/tests/generate-plugin.test.zsh covers the non-interactive path, name validation and the prompt helper. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
44 lines
1.2 KiB
Plaintext
44 lines
1.2 KiB
Plaintext
# %name% plugin
|
|
#
|
|
# %description%
|
|
#
|
|
# This file is sourced by Oh My Zsh in every new shell, so keep it fast.
|
|
# Avoid running external commands at the top level unless you really need to.
|
|
|
|
# Only define anything if the tool is actually installed. Without this guard,
|
|
# people who don't have %command% get aliases that fail with "command not found".
|
|
if (( ! $+commands[%command%] )); then
|
|
return
|
|
fi
|
|
|
|
#
|
|
# Aliases
|
|
#
|
|
# Document every alias in README.md. Short, obvious, and few beats many.
|
|
# The one below is just an example: replace it with something %command% can do.
|
|
#
|
|
|
|
alias %command%s='%command% status'
|
|
|
|
#
|
|
# Functions
|
|
#
|
|
# Anything that needs arguments in the middle, or more than one command,
|
|
# belongs here rather than in an alias.
|
|
#
|
|
|
|
# function %name%_current() {
|
|
# %command% status --short "$@"
|
|
# }
|
|
|
|
%completion%
|
|
|
|
#
|
|
# Need the path to this plugin's own directory (for data files, a lib/ dir...)?
|
|
# This is the standard way to get it, since $0 is not reliable on its own:
|
|
# https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
|
|
#
|
|
# 0="${ZERO:-${${0:#$ZSH_ARGZERO}:-${(%):-%N}}}"
|
|
# 0="${${(M)0:#/*}:-$PWD/$0}"
|
|
# source "${0:A:h}/lib/helpers.zsh"
|