From 01a444f5e49196f74513ac45618586a6866d65dd Mon Sep 17 00:00:00 2001 From: Tomo Kazahaya Date: Thu, 17 Aug 2017 20:16:35 -0400 Subject: [PATCH] Add completions for ibus --- src/_ibus | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/_ibus diff --git a/src/_ibus b/src/_ibus new file mode 100644 index 0000000..1771ab1 --- /dev/null +++ b/src/_ibus @@ -0,0 +1,87 @@ +#compdef ibus +# ------------------------------------------------------------------------------ +# Copyright (c) 2017 Github zsh-users - http://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 ibus (https://github.com/ibus/ibus). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Tomo Kazahaya +# +# ------------------------------------------------------------------------------ + +# The completion of "ibus emoji --lang=" depends on _language_codes from +# https://github.com/zsh-users/zsh-completions. + +local context state state_descr line +typeset -A opt_args +local curcontext=$curcontext + +_arguments -C \ + "1:command:(($(ibus help|sed -ne 's/^ \(\S\+\) \+\(.*\)/"\1\\:\2"/p')))" \ + '*: :->args' \ + && return + +case $state in + args) + case $line[1] in + engine) + _arguments \ + "2:engine:(($(ibus list-engine|sed -ne 's/:/\\\\:/g' -e 's/^ \(\S\+\) - \(.*\)$/"\1:\2"/p')))" \ + && return + ;; + read-cache) + _arguments \ + '--system[show the content of the system registry cache]' \ + '--file=[custom registry cache to show]:registry cache:_files' \ + '*: : ' \ + && return + ;; + write-cache) + _arguments \ + '--system[save the system registry cache]' \ + '--file=[custom registry cache to save]:registry cache:_files' \ + '*: : ' \ + && return + ;; + emoji) + _arguments \ + '--font=[emoji font]:emoji font: ' \ + '--lang=[language of emoji annotations]:language:_language_codes ISO-639-1' \ + '--partial-match[match annotations with a partial string]' \ + '*: : ' \ + && return + ;; + esac + ;; +esac + +return 1