Compare commits

..

14 Commits

Author SHA1 Message Date
F.B. 5f212fcbbf
Merge 5359bbf0e7 into 7dd26c5d5c 2026-01-26 08:22:47 -06:00
Shohei YOSHIDA 7dd26c5d5c
Merge pull request #1219 from SyrupyTasty/master
Fix Decrypt completion
2026-01-26 00:31:32 +09:00
Syrupy 8794fdca69
Fix Decrypt completion
Fix 'decrypt the input data' option
2026-01-25 12:18:42 +08:00
Shohei YOSHIDA d41e237045
Merge pull request #1218 from zsh-users/refactor-jrnl
Refactoring jrnl completion
2026-01-24 08:46:30 +09:00
Shohei YOSHIDA 93dc422070
Refactoring jrnl completion
- Apply format
- Update URL
- Update flags to latest version
2026-01-24 08:45:05 +09:00
Shohei YOSHIDA 6370f5a58f
Merge pull request #1217 from Tillerino/master
jrnl: Completion for tags
2026-01-23 18:31:53 +09:00
Tillmann Gaida 8ecee23cab jrnl: Add completion for tags 2026-01-23 08:49:57 +01:00
Shohei YOSHIDA 8a994c20d7
Merge pull request #1215 from zsh-users/update-qmk
Update qmk completion to version 1.2.0
2026-01-21 18:23:28 +09:00
Shohei YOSHIDA 672ae69366
Merge pull request #1216 from zsh-users/update-node-js
Update node.js completion to version 25.4.0
2026-01-21 15:32:50 +09:00
Shohei YOSHIDA 7288768da6
Update node.js completion to version 25.4.0 2026-01-20 12:29:26 +09:00
Shohei YOSHIDA 1ba992dcde
Update qmk completion to version 1.2.0 2026-01-19 17:40:18 +09:00
Shohei YOSHIDA c31ad08eff
Merge pull request #1213 from Magniquick/master
Add gio completion
2026-01-14 11:32:08 +09:00
Magniquick 05a1cf8a8a fix gio completions 2026-01-14 06:23:07 +05:30
Magniquick 9f8413696d Add gio completion 2025-12-31 18:32:53 +05:30
5 changed files with 551 additions and 28 deletions

307
src/_gio Normal file
View File

@ -0,0 +1,307 @@
#compdef gio
# ------------------------------------------------------------------------------
# Copyright (c) 2025 Github zsh-users - https://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for gio 2.86.3 (https://docs.gtk.org/gio/).
#
# Status: Basic (subcommands and common options).
# Origin: Original script.
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Magniquick (https://github.com/Magniquick)
#
# ------------------------------------------------------------------------------
_gio() {
local context state line
typeset -A opt_args
local ret=1
_arguments -C \
'(- : *)'{-h,--help}'[show help information]' \
'(- : *)'--version'[display version information]' \
'1:command:->command' \
'*::arg:->args' \
&& ret=0
case $state in
(command)
_gio_commands
;;
(args)
local subcmd=$words[1]
if [[ $subcmd == gio ]]; then
subcmd=$words[2]
fi
case $subcmd in
(help)
_arguments \
'1:command:_gio_commands' \
&& ret=0
;;
(version)
_arguments && ret=0
;;
(cat)
_arguments \
'*:location:_gio_location' \
&& ret=0
;;
(copy)
_arguments \
'(-T --no-target-directory)'{-T,--no-target-directory}'[no target directory]' \
'(-p --progress)'{-p,--progress}'[show progress]' \
'(-i --interactive)'{-i,--interactive}'[prompt before overwrite]' \
'--preserve[preserve all attributes]' \
'(-b --backup)'{-b,--backup}'[backup existing destination files]' \
'(-P --no-dereference)'{-P,--no-dereference}'[never follow symbolic links]' \
'--default-permissions[use default permissions for the destination]' \
'--default-modified-time[use default file modification timestamps for the destination]' \
'*:location:_gio_location' \
&& ret=0
;;
(info)
_arguments \
'(-w --query-writable)'{-w,--query-writable}'[list writable attributes]' \
'(-f --filesystem)'{-f,--filesystem}'[get file system info]' \
'(-a --attributes)'{-a,--attributes}'[attributes to get]:attributes' \
'(-n --nofollow-symlinks)'{-n,--nofollow-symlinks}'[do not follow symbolic links]' \
'*:location:_gio_location' \
&& ret=0
;;
(launch)
_arguments \
'1:desktop file:_gio_desktop_files' \
'*::file argument:_gio_location' \
&& ret=0
;;
(list)
_arguments \
'(-a --attributes)'{-a,--attributes}'[attributes to get]:attributes' \
'(-h --hidden)'{-h,--hidden}'[show hidden files]' \
'(-l --long)'{-l,--long}'[use a long listing format]' \
'(-n --nofollow-symlinks)'{-n,--nofollow-symlinks}'[do not follow symbolic links]' \
'(-d --print-display-names)'{-d,--print-display-names}'[print display names]' \
'(-u --print-uris)'{-u,--print-uris}'[print full URIs]' \
'*:location:_gio_location' \
&& ret=0
;;
(mime)
_arguments \
'1:mimetype:_gio_mime_types' \
'2:handler' \
&& ret=0
;;
(mkdir)
_arguments \
'(-p --parent)'{-p,--parent}'[create parent directories]' \
'*:location:_gio_location' \
&& ret=0
;;
(monitor)
_arguments \
'(-d --dir)'{-d,--dir}'[monitor a directory]:location:_gio_location' \
'(-f --file)'{-f,--file}'[monitor a file]:location:_gio_location' \
'(-D --direct)'{-D,--direct}'[monitor a file directly]:location:_gio_location' \
'(-s --silent)'{-s,--silent}'[monitor a file directly without reporting changes]:location:_gio_location' \
'(-n --no-moves)'{-n,--no-moves}'[report moves and renames as simple deleted/created events]' \
'(-m --mounts)'{-m,--mounts}'[watch for mount events]' \
'*:location:_gio_location' \
&& ret=0
;;
(mount)
_arguments \
'(-m --mountable)'{-m,--mountable}'[mount as mountable]' \
'(-d --device)'{-d,--device}'[mount volume with device file or identifier]:device' \
'(-u --unmount)'{-u,--unmount}'[unmount]' \
'(-e --eject)'{-e,--eject}'[eject]' \
'(-t --stop)'{-t,--stop}'[stop drive with device file]:device' \
'(-s --unmount-scheme)'{-s,--unmount-scheme}'[unmount all mounts with scheme]:scheme' \
'(-f --force)'{-f,--force}'[ignore outstanding file operations when unmounting or ejecting]' \
'(-a --anonymous)'{-a,--anonymous}'[use an anonymous user when authenticating]' \
'(-l --list)'{-l,--list}'[list volumes, drives and mounts]' \
'(-o --monitor)'{-o,--monitor}'[monitor volume, drive and mount events]' \
'(-i --detail)'{-i,--detail}'[show extra information]' \
'--tcrypt-pim[unlock VeraCrypt volume with PIM]:pim' \
'--tcrypt-hidden[mount a TCRYPT hidden volume]' \
'--tcrypt-system[mount a TCRYPT system volume]' \
'*:location:_gio_location' \
&& ret=0
;;
(move)
_arguments \
'(-T --no-target-directory)'{-T,--no-target-directory}'[no target directory]' \
'(-p --progress)'{-p,--progress}'[show progress]' \
'(-i --interactive)'{-i,--interactive}'[prompt before overwrite]' \
'(-b --backup)'{-b,--backup}'[backup existing destination files]' \
'(-C --no-copy-fallback)'{-C,--no-copy-fallback}'[do not use copy and delete fallback]' \
'*:location:_gio_location' \
&& ret=0
;;
(open)
_arguments \
'*:location:_gio_location' \
&& ret=0
;;
(rename)
_arguments \
'1:location:_gio_location' \
'2:new name' \
&& ret=0
;;
(remove)
_arguments \
'(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]' \
'*:location:_gio_location' \
&& ret=0
;;
(save)
_arguments \
'(-b --backup)'{-b,--backup}'[backup existing destination files]' \
'(-c --create)'{-c,--create}'[only create if not existing]' \
'(-a --append)'{-a,--append}'[append to end of file]' \
'(-p --private)'{-p,--private}'[restrict access to current user]' \
'(-u --unlink)'{-u,--unlink}'[replace as if the destination did not exist]' \
'(-v --print-etag)'{-v,--print-etag}'[print new etag at end]' \
'(-e --etag)'{-e,--etag}'[etag of the file being overwritten]:etag' \
'1:destination:_gio_location' \
&& ret=0
;;
(set)
_arguments \
'(-t --type)'{-t,--type}'[type of the attribute]:type' \
'(-n --nofollow-symlinks)'{-n,--nofollow-symlinks}'[do not follow symbolic links]' \
'(-d --delete)'{-d,--delete}'[unset given attribute]' \
'1:location:_gio_location' \
'2:attribute' \
'*::value' \
&& ret=0
;;
(trash)
_arguments \
'(-f --force)'{-f,--force}'[ignore nonexistent files, never prompt]' \
'--empty[empty the trash]' \
'--list[list files in the trash with their original locations]' \
'--restore[restore a file from trash to its original location]' \
'*:location:_gio_location' \
&& ret=0
;;
(tree)
_arguments \
'(-h --hidden)'{-h,--hidden}'[show hidden files]' \
'(-l --follow-symlinks)'{-l,--follow-symlinks}'[follow symbolic links, mounts and shortcuts]' \
'*:location:_gio_location' \
&& ret=0
;;
esac
;;
esac
return ret
}
(( $+functions[_gio_commands] )) ||
_gio_commands() {
local -a commands=(
'help:print help'
'version:print version'
'cat:concatenate files to standard output'
'copy:copy one or more files'
'info:show information about locations'
'launch:launch an application from a desktop file'
'list:list the contents of locations'
'mime:get or set the handler for a mimetype'
'mkdir:create directories'
'monitor:monitor files and directories for changes'
'mount:mount or unmount the locations'
'move:move one or more files'
'open:open files with the default application'
'rename:rename a file'
'remove:delete one or more files'
'save:read from standard input and save'
'set:set a file attribute'
'trash:move or restore files to the trash'
'tree:list the contents of locations in a tree'
)
_describe -t commands 'gio commands' commands
}
(( $+functions[_gio_location] )) ||
_gio_location() {
if (( $+functions[_urls] )); then
_alternative \
'files:files:_files' \
'urls:URL:_urls'
else
_files
fi
}
(( $+functions[_gio_desktop_files] )) ||
_gio_desktop_files() {
local -a search_path data_dirs desktop_files
data_dirs=(${(@s/:/)XDG_DATA_DIRS:-/usr/local/share:/usr/share})
search_path=(
"${XDG_DATA_HOME:-$HOME/.local/share}/applications"
${data_dirs[@]/%/\/applications}
)
desktop_files=()
local dir
for dir in $search_path; do
[[ -d $dir ]] || continue
desktop_files+=($dir/*.desktop(N))
done
compadd -a -- desktop_files
}
(( $+functions[_gio_mime_types] )) ||
_gio_mime_types() {
if (( $+functions[_mime_types] )); then
_mime_types
else
_message 'mime type'
fi
}
_gio "$@"
# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et

View File

@ -28,7 +28,7 @@
# Description # Description
# ----------- # -----------
# #
# Completion script for jrnl a simple journal application for your command line. (https://maebert.github.io/jrnl/). # Completion script for jrnl v4.2.1 (https://github.com/jrnl-org/jrnl).
# #
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Authors # Authors
@ -38,29 +38,77 @@
# #
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
_jrnl() { _jrnl() {
typeset -A opt_args
local context state line
local curcontext="$curcontext"
local ret=1
_arguments -C \ _arguments -C \
'(- 1 *)'-h"[Show help and exit]" \ '--debug[Print information useful for troubleshooting]' \
'(- 1 *)'-v"[Prints version information and exits]" \ '(- *)--help[Show help message]' \
'(- 1 *)'-ls"[Displays accessible journals]" \ '(- *)--version[print version information]' \
'(- 1 *)'-d"[Execute in debug mode]" \ '--list[List all configured journals]' \
'(- 1 *)'--tags"[Returns a list of all tags and number of occurrences]" \ '--encrypt[Encrypt selected journal with a password]' \
"--short[Show only titles or line containing the search]" \ '--decrypt[Decrypt selected journal and store it in plain text]' \
"-from[View entries after this date]:date:" \ '--import[Import entries from another journal]' \
"-until[View entries before this date]:date:" \ '-on[Show entries on this date]:date' \
"-to[View entries before this date]:date:" \ '-today-in-history[Show entries of today over the years]' \
"-on[View entries on this date]:date:" \ '-month[Show entries on this month of any year]:date' \
"-and[Filter by tags using AND (default: OR)]" \ '-day[Show entries on this day of any month]:date' \
"-starred[Show only starred entries]" \ '-year[Show entries of a specific year]:date' \
"-n[Shows the last n entries matching the filter. And '-3' have the same effect.]":number: \ '-from[Show entries after, or on, this date]:date' \
"--export[Export your journal. TYPE can be json, markdown text.]:format:(json markdown text)" \ '(-to -until)'{-to,-until}'[Show entries before, or on, this date]' \
"-o[Optionally specifies output file when using --export If OUTPUT is a directory, exports each entry in individual file instead.]:output file:" \ '-contains[Show entries containing specific text]:text' \
"--encrypt[Encrypts your existing journal with a new pass]" \ '-and[Show only entries that match all conditions(default: OR)]' \
"--decrypt[Decrypts your journal and stores it in plain text]" \ '-starred[Show only starred entries (marked with *)]' \
"--edit[Opens your editor to edit the selected entries.]" \ '-tagged[Show only entries that have at least one tag]' \
'-n[Show a maximum of NUMBER entries. And "-3" has the same effect]:number' \
'-not[exclude entries with that tag]:tag_or_flag' \
'--edit[Opens the selected entries in your configured editor]' \
'--delete[Interactively deletes selected entries]' \
'--change-time[Change timestamp for selected entries(default: now)]:date' \
'--format[Display selected entries in an alternate format]:format:_jrnl_formats' \
'--tags[Alias for "--format tags"]' \
'--short[Show only titles or line containing the search tags]' \
'--config-override[Override configured key-value pair]:key_value' \
'--config-file[Override default config file]:path:_files' \
'*:: :->args' \
&& ret=0
case $state in
(args)
if [[ $PREFIX = @* ]]; then
local -a tags=($(jrnl --tags 2>/dev/null | command grep -oE '@\S+'))
_describe -t tags 'tags' tags && ret=0
fi
;;
esac
return ret
} }
_jrnl (( $+functions[_jrnl_formats] )) ||
_jrnl_formats() {
local -a formats
if (( $+opt_args[--list] )); then
formats=(json yaml)
elif (( $+opt_args[--import] )); then
formats=(jrnl)
else
formats=(boxed calendar dates fancy heatmap json markdown md pretty short tags text txt xml yaml)
fi
_values 'format' $formats
}
_jrnl "$@"
# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et

View File

@ -28,7 +28,7 @@
# Description # Description
# ----------- # -----------
# #
# Completion script for Node.js v25.0.0 (https://nodejs.org) # Completion script for Node.js v25.4.0 (https://nodejs.org)
# #
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Authors # Authors
@ -156,7 +156,6 @@ _node() {
'--no-experimental-detect-module[when ambiguous modules fail to evaluate, try again to evaluate them as ES modules]' \ '--no-experimental-detect-module[when ambiguous modules fail to evaluate, try again to evaluate them as ES modules]' \
'--no-experimental-global-navigator[expose experimental Navigator API on the global scope]' \ '--no-experimental-global-navigator[expose experimental Navigator API on the global scope]' \
'--no-experimental-repl-await[disable experimental await keyword support in REPL]' \ '--no-experimental-repl-await[disable experimental await keyword support in REPL]' \
'--no-experimental-require-module[allow loading synchronous ES Modules in require()]' \
'--no-experimental-sqlite[disable experimental node sqlite module]' \ '--no-experimental-sqlite[disable experimental node sqlite module]' \
'--no-experimental-strip-types[disable experimental type-stripping for TypeScript files]' \ '--no-experimental-strip-types[disable experimental type-stripping for TypeScript files]' \
'--no-experimental-websocket[experimental WebSocket API (currently set)]' \ '--no-experimental-websocket[experimental WebSocket API (currently set)]' \
@ -164,6 +163,7 @@ _node() {
'--no-force-async-hooks-checks[disable checks for async_hooks]' \ '--no-force-async-hooks-checks[disable checks for async_hooks]' \
'--no-global-search-paths[disable global module search paths]' \ '--no-global-search-paths[disable global module search paths]' \
'--no-network-family-autoselection[disable network address family autodetection algorithm]' \ '--no-network-family-autoselection[disable network address family autodetection algorithm]' \
'(--require-module --no-require-module)--no-require-module[disable support for loading a synchronous ES module graph in require()]' \
'--no-warnings[silence all process warnings]' \ '--no-warnings[silence all process warnings]' \
'--no-webstorage[disable Web Storage API]' \ '--no-webstorage[disable Web Storage API]' \
'--node-memory-debug[run with extra debug checks for memory leaks in Node.js itself]' \ '--node-memory-debug[run with extra debug checks for memory leaks in Node.js itself]' \
@ -185,6 +185,7 @@ _node() {
'--report-on-signal=[generate diagnostic report upon receiving signals]' \ '--report-on-signal=[generate diagnostic report upon receiving signals]' \
'--report-signal=[causes diagnostic report to be produced on provided signal]:signals:_signals -s' \ '--report-signal=[causes diagnostic report to be produced on provided signal]:signals:_signals -s' \
'--report-uncaught-exception[generate diagnostic report on uncaught exceptions]' \ '--report-uncaught-exception[generate diagnostic report on uncaught exceptions]' \
'(--require-module --no-require-module)--require-module[support for loading a synchronous ES module graph in require()]' \
'*'{-r,--require}'[module to preload (option can be repeated)]: :_node_files' \ '*'{-r,--require}'[module to preload (option can be repeated)]: :_node_files' \
'--run=[run a script specified in package.json]:script:_node_scripts' \ '--run=[run a script specified in package.json]:script:_node_scripts' \
'--secure-heap=[total size of the OpenSSL secure heap]: :number' \ '--secure-heap=[total size of the OpenSSL secure heap]: :number' \

View File

@ -990,7 +990,7 @@ _openssl_enc() {
'-out[output file name]:file:_files' \ '-out[output file name]:file:_files' \
'-pass[password source]:source:_openssl_pass_phrase_options' \ '-pass[password source]:source:_openssl_pass_phrase_options' \
'-e[encrypt the input data(default behavior)]' \ '-e[encrypt the input data(default behavior)]' \
'-e[decrypt the input data]' \ '-d[decrypt the input data]' \
'(-a -base64)'{-a,-base64}'[Base64 proess the data]' \ '(-a -base64)'{-a,-base64}'[Base64 proess the data]' \
'-A[base64 encoding produces output without any newline character]' \ '-A[base64 encoding produces output without any newline character]' \
'-k[password to derive the key from]:password' \ '-k[password to derive the key from]:password' \

173
src/_qmk
View File

@ -29,7 +29,7 @@
# ----------- # -----------
# #
# Completion script for QMK CLI (https://qmk.fm/). # Completion script for QMK CLI (https://qmk.fm/).
# version: 1.1.1 # version: 1.2.0
# #
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Authors # Authors
@ -52,7 +52,7 @@ _qmk() {
'--datetime-fmt[Format string for datetimes]:DATETIME_FMT' \ '--datetime-fmt[Format string for datetimes]:DATETIME_FMT' \
'--log-fmt[Format string for printed log output]:LOG_FMT' \ '--log-fmt[Format string for printed log output]:LOG_FMT' \
'--log-file-fmt[Format string for log file.]:LOG_FILE_FMT' \ '--log-file-fmt[Format string for log file.]:LOG_FILE_FMT' \
'--log-file-level[Logging level for log file]:(debug,info,warning,error,critical)' \ '--log-file-level[Logging level for log file]:level:(debug info warning error critical)' \
'--log-file[File to write log messages to]:filename:_files' \ '--log-file[File to write log messages to]:filename:_files' \
'(--no-color --color)--color[Enable color in output]' \ '(--no-color --color)--color[Enable color in output]' \
'(--no-color --color)--no-color[Disable color in output]' \ '(--no-color --color)--no-color[Disable color in output]' \
@ -73,7 +73,7 @@ _qmk() {
;; ;;
esac esac
return $ret return ret
} }
(( $+functions[_qmk_commands] )) || (( $+functions[_qmk_commands] )) ||
@ -91,8 +91,18 @@ _qmk_commands() {
'compile:Compile a QMK Firmware' 'compile:Compile a QMK Firmware'
'doctor:Basic QMK environment checks' 'doctor:Basic QMK environment checks'
'flash:QMK Flash' 'flash:QMK Flash'
'generate-autocorrect-data:Generate the autocorrection data file from a dictionary file'
'generate-compilation-database:Create a compilation database' 'generate-compilation-database:Create a compilation database'
'generate-community-modules-rules-mk:Creates a community_modules_rules_mk from a keymap.json file'
'generate-community-modules-h:Creates a community_modules.h from a keymap.json file'
'generate-community-modules-c:Creates a community_modules.c from a keymap.json file'
'generate-community-modules-introspection-h:Creates a community_modules_introspection.h from a keymap.json file'
'generate-community-modules-introspection-c:Creates a community_modules_introspection.c from a keymap.json file'
'generate-led-matrix-community-modules-inc:Creates an led_matrix_community_modules.inc from a keymap.json file'
'generate-rgb-matrix-community-modules-inc:Creates an rgb_matrix_community_modules.inc from a keymap.json file'
'generate-keymap-h:Creates a keymap.h from a QMK Configurator export.'
'generate-rgb-breathe-table:Generates an RGB Light breathing table header' 'generate-rgb-breathe-table:Generates an RGB Light breathing table header'
'git-submodule:Git Submodule actions'
'import-kbfirmware:Import kbfirmware json export' 'import-kbfirmware:Import kbfirmware json export'
'import-keyboard:Import data driven keyboard' 'import-keyboard:Import data driven keyboard'
'import-keymap:Import data-driven keymap' 'import-keymap:Import data-driven keymap'
@ -107,6 +117,12 @@ _qmk_commands() {
'painter-convert-graphics:Converts an input image to something QMK understands' 'painter-convert-graphics:Converts an input image to something QMK understands'
'painter-make-font-image:Converts an input font to something QMK understands' 'painter-make-font-image:Converts an input font to something QMK understands'
'painter-convert-font-image:Converts an input font image to something QMK firmware understands' 'painter-convert-font-image:Converts an input font image to something QMK firmware understands'
'resolve-alias:Resolve any keyboard_aliases for provided rule'
'userspace-doctor:Checks userspace configuration'
'userspace-add:Adds a build target to userspace "qmk.json"'
'userspace-remove:Removes a build target from userspace "qmk.json"'
'userspace-list:Lists the build targets specified in userspace "qmk.json"'
'userspace-compile:Compiles the build targets specified in userspace "qmk.json"'
'via2json:Convert a VIA backup json to keymap.json format' 'via2json:Convert a VIA backup json to keymap.json format'
) )
@ -235,6 +251,17 @@ _qmk_flash() {
'*: :_files' '*: :_files'
} }
(( $+functions[_qmk_generate-autocorrect-data] )) ||
_qmk_generate-autocorrect-data() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'(-km --keymap)'{-km,--keymap}'[The keymap to build a firmware for]:keymap' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'*: :_files'
}
(( $+functions[_qmk_generate-compilation-database] )) || (( $+functions[_qmk_generate-compilation-database] )) ||
_qmk_generate-compilation-database() { _qmk_generate-compilation-database() {
_arguments \ _arguments \
@ -243,6 +270,86 @@ _qmk_generate-compilation-database() {
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' '(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard'
} }
(( $+functions[_qmk_generate-community-modules-rules-mk] )) ||
_qmk_generate-community-modules-rules-mk() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-e --escape)'{-e,--escape}'[Escape spaces in quiet mode]' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-community-modules-h] )) ||
_qmk_generate-community-modules-h() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-community-modules-c] )) ||
_qmk_generate-community-modules-c() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-community-modules-introspection-h] )) ||
_qmk_generate-community-modules-introspection-h() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-community-modules-introspection-c] )) ||
_qmk_generate-community-modules-introspection-c() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-led-matrix-community-modules-inc] )) ||
_qmk_generate-led-matrix-community-modules-inc() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-rgb-matrix-community-modules-inc] )) ||
_qmk_generate-rgb-matrix-community-modules-inc() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-kb --keyboard)'{-kb,--keyboard}'[The keyboard to build a firmware for]:keyboard' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-keymap-h] )) ||
_qmk_generate-keymap-h() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-q --quiet)'{-q,--quiet}'[Quiet mode, only output error message]' \
'(-o --output)'{-o,--output}'[File to write to]:file:_files' \
'*: :_files'
}
(( $+functions[_qmk_generate-rgb-breathe-table] )) || (( $+functions[_qmk_generate-rgb-breathe-table] )) ||
_qmk_generate-rgb-breathe-table(){ _qmk_generate-rgb-breathe-table(){
_arguments \ _arguments \
@ -253,6 +360,16 @@ _qmk_generate-rgb-breathe-table(){
'(-c --center)'{-c,--center}'[The breathing center value, from 1 to 2.7]:num' '(-c --center)'{-c,--center}'[The breathing center value, from 1 to 2.7]:num'
} }
(( $+functions[_qmk_git-submodule] )) ||
_qmk_git-submodule() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-f --force)'{-f,--force}'[Flag to remove unexpected directories]' \
'--sync[Shallow clone any missing submodules]' \
'--check[Check if the submodules are dirty, and display a warning if they are]' \
'*: :_files'
}
(( $+functions[_qmk_import-kbfirmware] )) || (( $+functions[_qmk_import-kbfirmware] )) ||
_qmk_import-kbfirmware() { _qmk_import-kbfirmware() {
_arguments \ _arguments \
@ -382,6 +499,56 @@ _qmk_painter-convert-font-image() {
'(-i --input)'{-i,--input}'[Specify input graphic file]: :_files' '(-i --input)'{-i,--input}'[Specify input graphic file]: :_files'
} }
(( $+functions[_qmk_resolve-alias] )) ||
_qmk_resolve-alias() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'--allow-unknown[Return original if rule is not a valid keyboard]'
}
(( $+functions[_qmk_userspace-doctor] )) ||
_qmk_userspace-doctor() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]'
}
(( $+functions[_qmk_userspace-add] )) ||
_qmk_userspace-add() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
\*{-e,--env}'[Extra variables to set during build]:env' \
'(-km --keymap)'{-km,--keymap}"[The keymap's name]" \
'(-kb --keyboard)'{-kb,--keyboard}"[The keyboard's name]"
}
(( $+functions[_qmk_userspace-remove] )) ||
_qmk_userspace-remove() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
\*{-e,--env}'[Extra variables to set during build]:env' \
'(-km --keymap)'{-km,--keymap}"[The keymap's name]" \
'(-kb --keyboard)'{-kb,--keyboard}"[The keyboard's name]"
}
(( $+functions[_qmk_userspace-list] )) ||
_qmk_userspace-list() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
'(-e --expand)'{-e,--expand}'[Expands any use of "all" for either keyboard or keymap]'
}
(( $+functions[_qmk_userspace-compile] )) ||
_qmk_userspace-compile() {
_arguments \
'(- *)'{-h,--help}'[show help message and exit]' \
\*{-e,--env}'[Extra variables to set during build]:env' \
'(-p --print-failures)'{-p,--print-failures}'[Print failed builds]' \
'(-n --dry-run)'{-n,--dry-run}'[Do not actually build, just show the commands to be run]' \
'(-c --clean)'{-c,--clean}'[Remove object files before compiling]' \
'(-j --parallel)'{-j,--parallel}'[Set the number of parallel make jobs, 0 means unlimited]:parallel' \
'(-t --no-temp)'{-t,--no-temp}'[Remove temporary files during build]'
}
(( $+functions[_qmk_via2json] )) || (( $+functions[_qmk_via2json] )) ||
_qmk_via2json() { _qmk_via2json() {
_arguments \ _arguments \