Compare commits
14 Commits
ff11a63523
...
5f212fcbbf
| Author | SHA1 | Date |
|---|---|---|
|
|
5f212fcbbf | |
|
|
7dd26c5d5c | |
|
|
8794fdca69 | |
|
|
d41e237045 | |
|
|
93dc422070 | |
|
|
6370f5a58f | |
|
|
8ecee23cab | |
|
|
8a994c20d7 | |
|
|
672ae69366 | |
|
|
7288768da6 | |
|
|
1ba992dcde | |
|
|
c31ad08eff | |
|
|
05a1cf8a8a | |
|
|
9f8413696d |
|
|
@ -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
|
||||
92
src/_jrnl
92
src/_jrnl
|
|
@ -28,7 +28,7 @@
|
|||
# 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
|
||||
|
|
@ -38,29 +38,77 @@
|
|||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
_jrnl() {
|
||||
typeset -A opt_args
|
||||
local context state line
|
||||
local curcontext="$curcontext"
|
||||
local ret=1
|
||||
|
||||
_arguments -C \
|
||||
'(- 1 *)'-h"[Show help and exit]" \
|
||||
'(- 1 *)'-v"[Prints version information and exits]" \
|
||||
'(- 1 *)'-ls"[Displays accessible journals]" \
|
||||
'(- 1 *)'-d"[Execute in debug mode]" \
|
||||
'(- 1 *)'--tags"[Returns a list of all tags and number of occurrences]" \
|
||||
"--short[Show only titles or line containing the search]" \
|
||||
"-from[View entries after this date]:date:" \
|
||||
"-until[View entries before this date]:date:" \
|
||||
"-to[View entries before this date]:date:" \
|
||||
"-on[View entries on this date]:date:" \
|
||||
"-and[Filter by tags using AND (default: OR)]" \
|
||||
"-starred[Show only starred entries]" \
|
||||
"-n[Shows the last n entries matching the filter. And '-3' have the same effect.]":number: \
|
||||
"--export[Export your journal. TYPE can be json, markdown text.]:format:(json markdown text)" \
|
||||
"-o[Optionally specifies output file when using --export If OUTPUT is a directory, exports each entry in individual file instead.]:output file:" \
|
||||
"--encrypt[Encrypts your existing journal with a new pass]" \
|
||||
"--decrypt[Decrypts your journal and stores it in plain text]" \
|
||||
"--edit[Opens your editor to edit the selected entries.]" \
|
||||
_arguments -C \
|
||||
'--debug[Print information useful for troubleshooting]' \
|
||||
'(- *)--help[Show help message]' \
|
||||
'(- *)--version[print version information]' \
|
||||
'--list[List all configured journals]' \
|
||||
'--encrypt[Encrypt selected journal with a password]' \
|
||||
'--decrypt[Decrypt selected journal and store it in plain text]' \
|
||||
'--import[Import entries from another journal]' \
|
||||
'-on[Show entries on this date]:date' \
|
||||
'-today-in-history[Show entries of today over the years]' \
|
||||
'-month[Show entries on this month of any year]:date' \
|
||||
'-day[Show entries on this day of any month]:date' \
|
||||
'-year[Show entries of a specific year]:date' \
|
||||
'-from[Show entries after, or on, this date]:date' \
|
||||
'(-to -until)'{-to,-until}'[Show entries before, or on, this date]' \
|
||||
'-contains[Show entries containing specific text]:text' \
|
||||
'-and[Show only entries that match all conditions(default: OR)]' \
|
||||
'-starred[Show only starred entries (marked with *)]' \
|
||||
'-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
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Node.js v25.0.0 (https://nodejs.org)
|
||||
# Completion script for Node.js v25.4.0 (https://nodejs.org)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# 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-global-navigator[expose experimental Navigator API on the global scope]' \
|
||||
'--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-strip-types[disable experimental type-stripping for TypeScript files]' \
|
||||
'--no-experimental-websocket[experimental WebSocket API (currently set)]' \
|
||||
|
|
@ -164,6 +163,7 @@ _node() {
|
|||
'--no-force-async-hooks-checks[disable checks for async_hooks]' \
|
||||
'--no-global-search-paths[disable global module search paths]' \
|
||||
'--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-webstorage[disable Web Storage API]' \
|
||||
'--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-signal=[causes diagnostic report to be produced on provided signal]:signals:_signals -s' \
|
||||
'--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' \
|
||||
'--run=[run a script specified in package.json]:script:_node_scripts' \
|
||||
'--secure-heap=[total size of the OpenSSL secure heap]: :number' \
|
||||
|
|
|
|||
|
|
@ -990,7 +990,7 @@ _openssl_enc() {
|
|||
'-out[output file name]:file:_files' \
|
||||
'-pass[password source]:source:_openssl_pass_phrase_options' \
|
||||
'-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 encoding produces output without any newline character]' \
|
||||
'-k[password to derive the key from]:password' \
|
||||
|
|
|
|||
173
src/_qmk
173
src/_qmk
|
|
@ -29,7 +29,7 @@
|
|||
# -----------
|
||||
#
|
||||
# Completion script for QMK CLI (https://qmk.fm/).
|
||||
# version: 1.1.1
|
||||
# version: 1.2.0
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
|
|
@ -52,7 +52,7 @@ _qmk() {
|
|||
'--datetime-fmt[Format string for datetimes]:DATETIME_FMT' \
|
||||
'--log-fmt[Format string for printed log output]:LOG_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' \
|
||||
'(--no-color --color)--color[Enable color in output]' \
|
||||
'(--no-color --color)--no-color[Disable color in output]' \
|
||||
|
|
@ -73,7 +73,7 @@ _qmk() {
|
|||
;;
|
||||
esac
|
||||
|
||||
return $ret
|
||||
return ret
|
||||
}
|
||||
|
||||
(( $+functions[_qmk_commands] )) ||
|
||||
|
|
@ -91,8 +91,18 @@ _qmk_commands() {
|
|||
'compile:Compile a QMK Firmware'
|
||||
'doctor:Basic QMK environment checks'
|
||||
'flash:QMK Flash'
|
||||
'generate-autocorrect-data:Generate the autocorrection data file from a dictionary file'
|
||||
'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'
|
||||
'git-submodule:Git Submodule actions'
|
||||
'import-kbfirmware:Import kbfirmware json export'
|
||||
'import-keyboard:Import data driven keyboard'
|
||||
'import-keymap:Import data-driven keymap'
|
||||
|
|
@ -107,6 +117,12 @@ _qmk_commands() {
|
|||
'painter-convert-graphics:Converts an input image 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'
|
||||
'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'
|
||||
)
|
||||
|
||||
|
|
@ -235,6 +251,17 @@ _qmk_flash() {
|
|||
'*: :_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] )) ||
|
||||
_qmk_generate-compilation-database() {
|
||||
_arguments \
|
||||
|
|
@ -243,6 +270,86 @@ _qmk_generate-compilation-database() {
|
|||
'(-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] )) ||
|
||||
_qmk_generate-rgb-breathe-table(){
|
||||
_arguments \
|
||||
|
|
@ -253,6 +360,16 @@ _qmk_generate-rgb-breathe-table(){
|
|||
'(-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] )) ||
|
||||
_qmk_import-kbfirmware() {
|
||||
_arguments \
|
||||
|
|
@ -382,6 +499,56 @@ _qmk_painter-convert-font-image() {
|
|||
'(-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] )) ||
|
||||
_qmk_via2json() {
|
||||
_arguments \
|
||||
|
|
|
|||
Loading…
Reference in New Issue