From 08018d5386374463f4b7348aee384924442aefce Mon Sep 17 00:00:00 2001 From: Andrey Orst Date: Sun, 11 Nov 2018 13:41:15 +0300 Subject: [PATCH] move fzf commands to submodules --- rc/fzf-modules/VCS/fzf-bzr.kak | 32 + rc/fzf-modules/VCS/fzf-git.kak | 32 + rc/fzf-modules/VCS/fzf-hg.kak | 32 + rc/fzf-modules/VCS/fzf-svn.kak | 32 + rc/fzf-modules/fzf-buffer.kak | 59 ++ rc/fzf-modules/fzf-cd.kak | 31 + rc/fzf-modules/fzf-ctags.kak | 1223 ++++++++++++++++++++++++++ rc/fzf-modules/fzf-file.kak | 61 ++ rc/fzf-modules/fzf-search.kak | 24 + rc/fzf-modules/fzf-vcs.kak | 56 ++ rc/fzf.kak | 1483 -------------------------------- 11 files changed, 1582 insertions(+), 1483 deletions(-) create mode 100644 rc/fzf-modules/VCS/fzf-bzr.kak create mode 100644 rc/fzf-modules/VCS/fzf-git.kak create mode 100644 rc/fzf-modules/VCS/fzf-hg.kak create mode 100644 rc/fzf-modules/VCS/fzf-svn.kak create mode 100644 rc/fzf-modules/fzf-buffer.kak create mode 100644 rc/fzf-modules/fzf-cd.kak create mode 100644 rc/fzf-modules/fzf-ctags.kak create mode 100644 rc/fzf-modules/fzf-file.kak create mode 100644 rc/fzf-modules/fzf-search.kak create mode 100644 rc/fzf-modules/fzf-vcs.kak diff --git a/rc/fzf-modules/VCS/fzf-bzr.kak b/rc/fzf-modules/VCS/fzf-bzr.kak new file mode 100644 index 0000000..1f6bb1a --- /dev/null +++ b/rc/fzf-modules/VCS/fzf-bzr.kak @@ -0,0 +1,32 @@ +# ╭─────────────╥─────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-svn.kak │ +# ╞═════════════╩═════════════════════════╡ +# │ Submodule for Bzr support for fzf.kak │ +# ╞═══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰───────────────────────────────────────╯ + +declare-option -docstring "command to provide list of files in GNU Bazaar repository to fzf. Arguments are supported +Supported tools: + : : + GNU Bazaar: ""bzr"" + +Default arguments: + ""bzr ls -R --versioned -0"" +" \ +str fzf_bzr_command "bzr" + +map global fzf-vcs -docstring "edit file from GNU Bazaar tree" 'b' ': fzf-bzr' + +define-command -hidden fzf-bzr %{ evaluate-commands %sh{ + case $kak_opt_fzf_bzr_command in + bzr) + cmd="bzr ls -R --versioned -0" ;; + bzr*) + cmd=$kak_opt_fzf_bzr_command ;; + esac + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" +}} + diff --git a/rc/fzf-modules/VCS/fzf-git.kak b/rc/fzf-modules/VCS/fzf-git.kak new file mode 100644 index 0000000..4e98a84 --- /dev/null +++ b/rc/fzf-modules/VCS/fzf-git.kak @@ -0,0 +1,32 @@ +# ╭─────────────╥─────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-svn.kak │ +# ╞═════════════╩═════════════════════════╡ +# │ Submodule for Git support for fzf.kak │ +# ╞═══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰───────────────────────────────────────╯ + +declare-option -docstring "command to provide list of files in git tree to fzf. Arguments are supported +Supported tools: + : : + Git : ""git"" + +Default arguments: + ""git ls-tree --name-only -r HEAD"" +" \ +str fzf_git_command "git" + +map global fzf-vcs -docstring "edit file from Git tree" 'g' ': fzf-git' + +define-command -hidden fzf-git %{ evaluate-commands %sh{ + case $kak_opt_fzf_git_command in + git) + cmd="git ls-tree --name-only -r HEAD" ;; + git*) + cmd=$kak_opt_fzf_git_command ;; + esac + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" +}} + diff --git a/rc/fzf-modules/VCS/fzf-hg.kak b/rc/fzf-modules/VCS/fzf-hg.kak new file mode 100644 index 0000000..94a2e0c --- /dev/null +++ b/rc/fzf-modules/VCS/fzf-hg.kak @@ -0,0 +1,32 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-svn.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Submodule for Hg support for fzf.kak │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +declare-option -docstring "command to provide list of files in mercurial repository to fzf. Arguments are supported +Supported tools: + : : + Mercurial SCM: ""hg"" + +Default arguments: + ""hg locate -f -0 -I .hg locate -f -0 -I ."" +" \ +str fzf_hg_command "hg" + +map global fzf-vcs -docstring "edit file from mercurial tree" 'h' ': fzf-hg' + +define-command -hidden fzf-hg %{ evaluate-commands %sh{ + case $kak_opt_fzf_hg_command in + hg) + cmd="hg locate -f -0 -I .hg locate -f -0 -I ." ;; + hg*) + cmd=$kak_opt_fzf_hg_command ;; + esac + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" +}} + diff --git a/rc/fzf-modules/VCS/fzf-svn.kak b/rc/fzf-modules/VCS/fzf-svn.kak new file mode 100644 index 0000000..4e3004d --- /dev/null +++ b/rc/fzf-modules/VCS/fzf-svn.kak @@ -0,0 +1,32 @@ +# ╭─────────────╥─────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-svn.kak │ +# ╞═════════════╩═════════════════════════╡ +# │ Submodule for SVN support for fzf.kak │ +# ╞═══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰───────────────────────────────────────╯ + +declare-option -docstring "command to provide list of files in svn repository to fzf. Arguments are supported +Supported tools: + : : + Subversion: ""svn"" + +Default arguments: + ""svn list -R . | grep -v '$/' | tr '\\n' '\\0'"" +" \ +str fzf_svn_command "svn" + +map global fzf-vcs -docstring "edit file from Subversion tree" 's' ': fzf-svn' + +define-command -hidden fzf-svn %{ evaluate-commands %sh{ + case $kak_opt_fzf_svn_command in + svn) + cmd="svn list -R . | grep -v '$/' | tr '\\n' '\\0'" ;; + svn*) + cmd=$kak_opt_fzf_svn_command ;; + esac + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" +}} + diff --git a/rc/fzf-modules/fzf-buffer.kak b/rc/fzf-modules/fzf-buffer.kak new file mode 100644 index 0000000..84bce7f --- /dev/null +++ b/rc/fzf-modules/fzf-buffer.kak @@ -0,0 +1,59 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-buffer.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Module for changing buffers with fzf │ +# │ for fzf.kak plugin │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +map global fzf -docstring "open buffer" 'b' ': fzf-buffer' + +define-command -hidden fzf-buffer %{ evaluate-commands %sh{ + tmp=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-fzf.XXXXXX)) + setbuf=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-setbuf.XXXXXX)) + delbuf=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-delbuf.XXXXXX)) + buffers=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-buffers.XXXXXX)) + IFS="'" + for buffer in $kak_buflist; do + [ ! -z $buffer ] && [ $buffer != ' ' ] && echo $buffer >> $buffers + done + if [ ! -z "${kak_client_env_TMUX}" ]; then + cmd="cat $buffers | fzf-tmux -d $kak_opt_fzf_tmux_height --expect ctrl-d > $tmp" + elif [ ! -z "${kak_opt_termcmd}" ]; then + cmd="$kak_opt_termcmd \"sh -c 'cat $buffers | fzf --expect ctrl-d > $tmp'\"" + else + echo "fail termcmd option is not set" + fi + + echo "info -title 'fzf buffer' 'Set buffer to edit in current client +: delete selected buffer'" + + echo "echo evaluate-commands -client $kak_client \"buffer \'\$1'\" | kak -p $kak_session" > $setbuf + echo "echo evaluate-commands -client $kak_client \"delete-buffer \'\$1'\" | kak -p $kak_session" > $delbuf + echo "echo evaluate-commands -client $kak_client \"fzf-buffer \" | kak -p $kak_session" >> $delbuf + chmod 755 $setbuf + chmod 755 $delbuf + ( + eval "$cmd" + if [ -s $tmp ]; then + ( + read action + read buf + if [ "$action" = "ctrl-d" ]; then + $setbuf $kak_bufname + $delbuf $buf + else + $setbuf $buf + fi + ) < $tmp + else + $setbuf $kak_bufname + fi + rm $tmp + rm $setbuf + rm $delbuf + rm $buffers + ) > /dev/null 2>&1 < /dev/null & +}} diff --git a/rc/fzf-modules/fzf-cd.kak b/rc/fzf-modules/fzf-cd.kak new file mode 100644 index 0000000..dfd7cdb --- /dev/null +++ b/rc/fzf-modules/fzf-cd.kak @@ -0,0 +1,31 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-cd.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Module for changing directories with │ +# │ fzf for fzf.kak plugin │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +declare-option -docstring "command to provide list of directories to fzf. +Default value: + find: (echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print) +" \ +str fzf_cd_command "find" + +map global fzf -docstring "change directory" 'c' ': fzf-cd' + +define-command -hidden fzf-cd %{ evaluate-commands %sh{ + title="fzf change directory" + message="Change the server''s working directory" + echo "info -title '$title' '$message'" + case $kak_opt_fzf_cd_command in + find) + cmd="(echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print)" ;; + *) + cmd=$kak_opt_fzf_cd_command ;; + esac + echo "fzf %{change-directory \$1} %{$cmd}" +}} + diff --git a/rc/fzf-modules/fzf-ctags.kak b/rc/fzf-modules/fzf-ctags.kak new file mode 100644 index 0000000..2e15903 --- /dev/null +++ b/rc/fzf-modules/fzf-ctags.kak @@ -0,0 +1,1223 @@ +# ╭─────────────╥──────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-ctags.kak │ +# ╞═════════════╩══════════════════════════╡ +# │ Module for searching tags with fzf │ +# │ and universal-ctags for fzf.kak plugin │ +# ╞════════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰────────────────────────────────────────╯ + +declare-option -docstring "command to provide list of ctags to fzf. Arguments are supported +Supported tools: + : : + universal-ctags: ""readtags"" + +Default arguments: + ""readtags -l | cut -f1"" +" \ +str fzf_tag_command "readtags" + +map global fzf -docstring "find tag" 't' ': fzf-tag' + +declare-option -hidden -docstring "A set of mappings for Ada filetype" \ +str fzf_tag_ada " +: package specifications +: packages +: types +: subtypes +: record type components +: enum type literals +: variables +: generic formal parameters +: constants +: user defined exceptions +: subprogram specifications +: subprograms +: task specifications +: tasks +: protected data specifications +: protected data +: task/protected data entries +: labels +: loop/declare identifiers +: (ctags internal use)" + +declare-option -hidden -docstring "A set of mappings for Ant filetype" \ +str fzf_tag_ant " +: projects +: targets +: properties(global) +: antfiles" + +declare-option -hidden -docstring "A set of mappings for Asciidoc filetype" \ +str fzf_tag_asciidoc " +: chapters +: sections +: level 2 sections +: level 3 sections +: level 4 sections +: level 5 sections +: anchors" + +declare-option -hidden -docstring "A set of mappings for Asm filetype" \ +str fzf_tag_asm " +: defines +: labels +: macros +: types (structs and records) +: sections" + +declare-option -hidden -docstring "A set of mappings for Asp filetype" \ +str fzf_tag_asp " +: constants +: classes +: functions +: subroutines +: variables" + +declare-option -hidden -docstring "A set of mappings for Autoconf filetype" \ +str fzf_tag_autoconf " +: packages +: templates +: autoconf macros +: options specified with --with-... +: options specified with --enable-... +: substitution keys +: automake conditions +: definitions" + +declare-option -hidden -docstring "A set of mappings for AutoIt filetype" \ +str fzf_tag_autoit " +: functions +: regions +: global variables +: local variables +: included scripts" + +declare-option -hidden -docstring "A set of mappings for Automake filetype" \ +str fzf_tag_automake " +: directories +: programs +: manuals +: ltlibraries +: libraries +: scripts +: datum +: conditions" + +declare-option -hidden -docstring "A set of mappings for Awk filetype" \ +str fzf_tag_awk " +: functions" + +declare-option -hidden -docstring "A set of mappings for Basic filetype" \ +str fzf_tag_basic " +: constants +: functions +: labels +: types +: variables +: enumerations" + +declare-option -hidden -docstring "A set of mappings for BETA filetype" \ +str fzf_tag_beta " +: fragment definitions +: slots (fragment uses) +: patterns (virtual or rebound)" + +declare-option -hidden -docstring "A set of mappings for Clojure filetype" \ +str fzf_tag_clojure " +: functions +: namespaces" + +declare-option -hidden -docstring "A set of mappings for CMake filetype" \ +str fzf_tag_cmake " +: functions +: macros +: targets +: variable definitions +: options specified with -D +: projects +: regex" + +declare-option -hidden -docstring "A set of mappings for C filetype" \ +str fzf_tag_c " +: macro definitions +: enumerators (values inside an enumeration) +: function definitions +: enumeration names +: included header files +: struct, and union members +: structure names +: typedefs +: union names +: variable definitions" + +declare-option -hidden -docstring "A set of mappings for C++ filetype" \ +str fzf_tag_cpp " +: macro definitions +: enumerators (values inside an enumeration) +: function definitions +: enumeration names +: included header files +: class, struct, and union members +: structure names +: typedefs +: union names +: variable definitions +: classes +: namespaces" + +declare-option -hidden -docstring "A set of mappings for CPreProcessor filetype" \ +str fzf_tag_cpreprocessor " +: macro definitions +: included header files" + +declare-option -hidden -docstring "A set of mappings for CSS filetype" \ +str fzf_tag_css " +: classes +: selectors +: identities" + +declare-option -hidden -docstring "A set of mappings for C# filetype" \ +str fzf_tag_csharp " +: classes +: macro definitions +: enumerators (values inside an enumeration) +: events +: fields +: enumeration names +: interfaces +: methods +: namespaces +: properties +: structure names +: typedefs" + +declare-option -hidden -docstring "A set of mappings for Ctags filetype" \ +str fzf_tag_ctags " +: language definitions +: kind definitions" + +declare-option -hidden -docstring "A set of mappings for Cobol filetype" \ +str fzf_tag_cobol " +: paragraphs +: data items +: source code file +: file descriptions (FD, SD, RD) +: group items +: program ids +: sections +: divisions" + +declare-option -hidden -docstring "A set of mappings for CUDA filetype" \ +str fzf_tag_cuda " +: macro definitions +: enumerators (values inside an enumeration) +: function definitions +: enumeration names +: included header files +: struct, and union members +: structure names +: typedefs +: union names +: variable definitions" + +declare-option -hidden -docstring "A set of mappings for D filetype" \ +str fzf_tag_d " +: aliases +: classes +: enumeration names +: enumerators (values inside an enumeration) +: function definitions +: interfaces +: class, struct, and union members +: mixins +: modules +: namespaces +: structure names +: templates +: union names +: variable definitions +: version statements" + +declare-option -hidden -docstring "A set of mappings for Diff filetype" \ +str fzf_tag_diff " +: modified files +: newly created files +: deleted files +: hunks" + +declare-option -hidden -docstring "A set of mappings for DTD filetype" \ +str fzf_tag_dtd " +: entities +: parameter entities +: elements +: attributes +: notations" + +declare-option -hidden -docstring "A set of mappings for DTS filetype" \ +str fzf_tag_dts " +: phandlers +: labels +: regex" + +declare-option -hidden -docstring "A set of mappings for DosBatch filetype" \ +str fzf_tag_dosbatch " +: labels +: variables" + +declare-option -hidden -docstring "A set of mappings for Eiffel filetype" \ +str fzf_tag_eiffel " +: classes +: features" + +declare-option -hidden -docstring "A set of mappings for Elm filetype" \ +str fzf_tag_elm " +: Module +: Renamed Imported Module +: Port +: Type Definition +: Type Constructor +: Type Alias +: Functions" + +declare-option -hidden -docstring "A set of mappings for Erlang filetype" \ +str fzf_tag_erlang " +: macro definitions +: functions +: modules +: record definitions +: type definitions" + +declare-option -hidden -docstring "A set of mappings for Falcon filetype" \ +str fzf_tag_falcon " +: classes +: functions +: class members +: variables +: imports" + +declare-option -hidden -docstring "A set of mappings for Flex filetype" \ +str fzf_tag_flex " +: functions +: classes +: methods +: properties +: global variables +: mxtags" + +declare-option -hidden -docstring "A set of mappings for Fortran filetype" \ +str fzf_tag_fortran " +: block data +: common blocks +: entry points +: enumerations +: functions +: interface contents, generic names, and operators +: type and structure components +: labels +: modules +: type bound procedures +: namelists +: enumeration values +: programs +: subroutines +: derived types and structures +: program (global) and module variables +: submodules" + +declare-option -hidden -docstring "A set of mappings for Fypp filetype" \ +str fzf_tag_fypp " +: macros" + +declare-option -hidden -docstring "A set of mappings for Gdbinit filetype" \ +str fzf_tag_gdbinit " +: definitions +: toplevel variables" + +declare-option -hidden -docstring "A set of mappings for Go filetype" \ +str fzf_tag_go " +: packages +: functions +: constants +: types +: variables +: structs +: interfaces +: struct members +: struct anonymous members +: unknown +: name for specifying imported package" + +declare-option -hidden -docstring "A set of mappings for HTML filetype" \ +str fzf_tag_html " +: named anchors +: H1 headings +: H2 headings +: H3 headings" + +declare-option -hidden -docstring "A set of mappings for Iniconf filetype" \ +str fzf_tag_iniconf " +: sections +: keys" + +declare-option -hidden -docstring "A set of mappings for ITcl filetype" \ +str fzf_tag_itcl " +: classes +: methods +: object-specific variables +: common variables +: procedures within the class namespace" + +declare-option -hidden -docstring "A set of mappings for Java filetype" \ +str fzf_tag_java " +: annotation declarations +: classes +: enum constants +: fields +: enum types +: interfaces +: methods +: packages" + +declare-option -hidden -docstring "A set of mappings for JavaProperties filetype" \ +str fzf_tag_javaproperties " +: keys" + +declare-option -hidden -docstring "A set of mappings for JavaScript filetype" \ +str fzf_tag_javascript " +: functions +: classes +: methods +: properties +: constants +: global variables +: generators" + +declare-option -hidden -docstring "A set of mappings for JSON filetype" \ +str fzf_tag_json " +: objects +: arrays +: numbers +: strings +: booleans +: nulls" + +declare-option -hidden -docstring "A set of mappings for LdScript filetype" \ +str fzf_tag_ldscript " +: sections +: symbols +: versions +: input sections" + +declare-option -hidden -docstring "A set of mappings for Lisp filetype" \ +str fzf_tag_lisp " +: functions" + +declare-option -hidden -docstring "A set of mappings for Lua filetype" \ +str fzf_tag_lua " +: functions" + +declare-option -hidden -docstring "A set of mappings for M4 filetype" \ +str fzf_tag_m4 " +: macros +: macro files" + +declare-option -hidden -docstring "A set of mappings for Man filetype" \ +str fzf_tag_man " +: titles +: sections" + +declare-option -hidden -docstring "A set of mappings for Make filetype" \ +str fzf_tag_make " +: macros +: targets +: makefiles" + +declare-option -hidden -docstring "A set of mappings for Markdown filetype" \ +str fzf_tag_markdown " +: chapsters +: sections +: subsections +: subsubsections +: level 4 subsections +: level 5 subsections +: regex" + +declare-option -hidden -docstring "A set of mappings for MatLab filetype" \ +str fzf_tag_matlab " +: function +: variable +: class" + +declare-option -hidden -docstring "A set of mappings for Myrddin filetype" \ +str fzf_tag_myrddin " +: functions +: constants +: variables +: types +: traits +: packages" + +declare-option -hidden -docstring "A set of mappings for ObjectiveC filetype" \ +str fzf_tag_objectivec " +: class interface +: class implementation +: Protocol +: Object's method +: Class' method +: Global variable +: Object field +: A function +: A property +: A type alias +: A type structure +: An enumeration +: A preprocessor macro" + +declare-option -hidden -docstring "A set of mappings for OCaml filetype" \ +str fzf_tag_ocaml " +: classes +: Object's method +: Module or functor +: Global variable +: Signature item +: Type name +: A function +: A constructor +: A 'structure' field +: An exception" + +declare-option -hidden -docstring "A set of mappings for Passwd filetype" \ +str fzf_tag_passwd " +: user names" + +declare-option -hidden -docstring "A set of mappings for Pascal filetype" \ +str fzf_tag_pascal " +: functions +: procedures" + +declare-option -hidden -docstring "A set of mappings for Perl filetype" \ +str fzf_tag_perl " +: constants +: formats +: labels +: packages +: subroutines" + +declare-option -hidden -docstring "A set of mappings for Perl6 filetype" \ +str fzf_tag_perl6 " +: classes +: grammars +: methods +: modules +: packages +: roles +: rules +: submethods +: subroutines +: tokens" + +declare-option -hidden -docstring "A set of mappings for PHP filetype" \ +str fzf_tag_php " +: classes +: constant definitions +: functions +: interfaces +: namespaces +: traits +: variables +: aliases" + +declare-option -hidden -docstring "A set of mappings for Pod filetype" \ +str fzf_tag_pod " +: chapters +: sections +: subsections +: subsubsections" + +declare-option -hidden -docstring "A set of mappings for Protobuf filetype" \ +str fzf_tag_protobuf " +: packages +: messages +: fields +: enum constants +: enum types +: services" + +declare-option -hidden -docstring "A set of mappings for PuppetManifest filetype" \ +str fzf_tag_puppetmanifest " +: classes +: definitions +: nodes +: resources +: variables" + +declare-option -hidden -docstring "A set of mappings for Python filetype" \ +str fzf_tag_python " +: classes +: functions +: class members +: variables +: name referring a module defined in other file +: modules +: name referring a class/variable/function/module defined in other module" + +declare-option -hidden -docstring "A set of mappings for PythonLoggingConfig filetype" \ +str fzf_tag_pythonloggingconfig " +: logger sections +: logger qualnames" + +declare-option -hidden -docstring "A set of mappings for QemuHX filetype" \ +str fzf_tag_qemuhx " +: QEMU Management Protocol dispatch table entries +: item in texinfo doc" + +declare-option -hidden -docstring "A set of mappings for QtMoc filetype" \ +str fzf_tag_qtmoc " +: slots +: signals +: properties" + +declare-option -hidden -docstring "A set of mappings for R filetype" \ +str fzf_tag_r " +: functions +: libraries +: sources +: global variables +: function variables" + +declare-option -hidden -docstring "A set of mappings for RSpec filetype" \ +str fzf_tag_rspec " +: describes +: contexts" + +declare-option -hidden -docstring "A set of mappings for REXX filetype" \ +str fzf_tag_rexx " +: subroutines" + +declare-option -hidden -docstring "A set of mappings for Robot filetype" \ +str fzf_tag_robot " +: testcases +: keywords +: variables" + +declare-option -hidden -docstring "A set of mappings for RpmSpec filetype" \ +str fzf_tag_rpmspec " +: tags +: macros +: packages +: global macros" + +declare-option -hidden -docstring "A set of mappings for ReStructuredText filetype" \ +str fzf_tag_restructuredtext " +: chapters +: sections +: subsections +: subsubsections +: targets" + +declare-option -hidden -docstring "A set of mappings for Ruby filetype" \ +str fzf_tag_ruby " +: classes +: methods +: modules +: singleton methods" + +declare-option -hidden -docstring "A set of mappings for Rust filetype" \ +str fzf_tag_rust " +: module +: structural type +: trait interface +: implementation +: Function +: Enum +: Type Alias +: Global variable +: Macro Definition +: A struct field +: An enum variant +: A method" + +declare-option -hidden -docstring "A set of mappings for Scheme filetype" \ +str fzf_tag_scheme " +: functions +: sets" + +declare-option -hidden -docstring "A set of mappings for Sh filetype" \ +str fzf_tag_sh " +: aliases +: functions +: script files +: label for here document" + +declare-option -hidden -docstring "A set of mappings for SLang filetype" \ +str fzf_tag_slang " +: functions +: namespaces" + +declare-option -hidden -docstring "A set of mappings for SML filetype" \ +str fzf_tag_sml " +: exception declarations +: function definitions +: functor definitions +: signature declarations +: structure declarations +: type definitions +: value bindings" + +declare-option -hidden -docstring "A set of mappings for SQL filetype" \ +str fzf_tag_sql " +: cursors +: functions +: record fields +: block label +: packages +: procedures +: subtypes +: tables +: triggers +: variables +: indexes +: events +: publications +: services +: domains +: views +: synonyms +: MobiLink Table Scripts +: MobiLink Conn Scripts +: MobiLink Properties " + +declare-option -hidden -docstring "A set of mappings for SystemdUnit filetype" \ +str fzf_tag_systemdunit " +: units" + +declare-option -hidden -docstring "A set of mappings for Tcl filetype" \ +str fzf_tag_tcl " +: procedures +: namespaces" + +declare-option -hidden -docstring "A set of mappings for TclOO filetype" \ +str fzf_tag_tcloo " +: classes +: methods" + +declare-option -hidden -docstring "A set of mappings for Tex filetype" \ +str fzf_tag_tex " +: parts +: chapters +: sections +: subsections +: subsubsections +: paragraphs +: subparagraphs +: labels +: includes" + +declare-option -hidden -docstring "A set of mappings for TTCN filetype" \ +str fzf_tag_ttcn " +: module definition +: type definition +: constant definition +: template definition +: function definition +: signature definition +: testcase definition +: altstep definition +: group definition +: module parameter definition +: variable instance +: timer instance +: port instance +: record/set/union member +: enumeration value" + +declare-option -hidden -docstring "A set of mappings for Vera filetype" \ +str fzf_tag_vera " +: classes +: macro definitions +: enumerators (values inside an enumeration) +: function definitions +: enumeration names +: interfaces +: class, struct, and union members +: programs +: signals +: tasks +: typedefs +: variable definitions +: included header files" + +declare-option -hidden -docstring "A set of mappings for Verilog filetype" \ +str fzf_tag_verilog " +: constants (define, parameter, specparam) +: events +: functions +: modules +: net data types +: ports +: register data types +: tasks +: blocks" + +declare-option -hidden -docstring "A set of mappings for SystemVerilog filetype" \ +str fzf_tag_systemverilog " +: constants (define, parameter, specparam, enum values) +: events +: functions +: modules +: net data types +: ports +: register data types +: tasks +: blocks +: assertions +: classes +: covergroups +: enumerators +: interfaces +: modports +: packages +: programs +: properties +: structs and unions +: type declarations" + +declare-option -hidden -docstring "A set of mappings for VHDL filetype" \ +str fzf_tag_vhdl " +: constant declarations +: type definitions +: subtype definitions +: record names +: entity declarations +: function prototypes and declarations +: procedure prototypes and declarations +: package definitions" + +declare-option -hidden -docstring "A set of mappings for Vim filetype" \ +str fzf_tag_vim " +: autocommand groups +: user-defined commands +: function definitions +: maps +: variable definitions +: vimball filename" + +declare-option -hidden -docstring "A set of mappings for WindRes filetype" \ +str fzf_tag_windres " +: dialogs +: menus +: icons +: bitmaps +: cursors +: fonts +: versions +: accelerators" + +declare-option -hidden -docstring "A set of mappings for YACC filetype" \ +str fzf_tag_yacc " +: labels" + +declare-option -hidden -docstring "A set of mappings for YumRepo filetype" \ +str fzf_tag_yumrepo " +: repository id" + +declare-option -hidden -docstring "A set of mappings for Zephir filetype" \ +str fzf_tag_zephir " +: classes +: constant definitions +: functions +: interfaces +: namespaces +: traits +: variables +: aliases" + +declare-option -hidden -docstring "A set of mappings for DBusIntrospect filetype" \ +str fzf_tag_dbusintrospect " +: interfaces +: methods +: signals +: properties" + +declare-option -hidden -docstring "A set of mappings for Glade filetype" \ +str fzf_tag_glade " +: identifiers +: classes +: handlers" + +declare-option -hidden -docstring "A set of mappings for Maven2 filetype" \ +str fzf_tag_maven2 " +: group identifiers +: artifact identifiers +: properties +: repository identifiers" + +declare-option -hidden -docstring "A set of mappings for PlistXML filetype" \ +str fzf_tag_plistxml " +: keys" + +declare-option -hidden -docstring "A set of mappings for RelaxNG filetype" \ +str fzf_tag_relaxng " +: elements +: attributes +: named patterns" + +declare-option -hidden -docstring "A set of mappings for SVG filetype" \ +str fzf_tag_svg " +: id attributes" + +declare-option -hidden -docstring "A set of mappings for XSLT filetype" \ +str fzf_tag_xslt " +: stylesheets +: parameters +: matched template +: matched template +: variables" + +declare-option -hidden -docstring "A set of mappings for Yaml filetype" \ +str fzf_tag_yaml " +: anchors" + +declare-option -hidden -docstring "A set of mappings for AnsiblePlaybook filetype" \ +str fzf_tag_ansibleplaybook " +: plays" + +define-command -hidden fzf-tag -params ..1 %{ evaluate-commands %sh{ + case $kak_opt_filetype in + ada) + additional_keybindings="--expect ctrl-alt-p --expect alt-p --expect ctrl-alt-t --expect alt-t --expect ctrl-alt-u --expect alt-u --expect alt-c --expect alt-l --expect ctrl-alt-v --expect alt-v --expect alt-f --expect alt-n --expect alt-x --expect ctrl-alt-r --expect alt-r --expect ctrl-alt-k --expect alt-k --expect ctrl-alt-o --expect alt-o --expect ctrl-alt-e --expect alt-e --expect alt-b --expect alt-i --expect alt-a --expect alt-y --expect ctrl-alt-s" + additional_message=$kak_opt_fzf_tag_ada ;; + ant) + additional_keybindings="--expect alt-p --expect alt-t --expect ctrl-alt-p --expect alt-i" + additional_message=$kak_opt_fzf_tag_ant ;; + asciidoc) + additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t --expect alt-u --expect alt-a" + additional_message=$kak_opt_fzf_tag_asciidoc ;; + asm) + additional_keybindings="--expect alt-d --expect alt-l --expect alt-m --expect alt-t --expect alt-s" + additional_message=$kak_opt_fzf_tag_asm ;; + asp) + additional_keybindings="--expect alt-d --expect alt-c --expect alt-f --expect alt-s --expect alt-v" + additional_message=$kak_opt_fzf_tag_asp ;; + autoconf) + additional_keybindings="--expect alt-p --expect alt-t --expect alt-m --expect alt-w --expect alt-e --expect alt-s --expect alt-c --expect alt-d" + additional_message=$kak_opt_fzf_tag_autoconf ;; + autoit) + additional_keybindings="--expect alt-f --expect alt-r --expect alt-g --expect alt-l --expect ctrl-alt-s" + additional_message=$kak_opt_fzf_tag_autoit ;; + automake) + additional_keybindings="--expect alt-d --expect ctrl-alt-p --expect ctrl-alt-m --expect ctrl-alt-t --expect ctrl-alt-l --expect ctrl-alt-s --expect ctrl-alt-d --expect alt-c" + additional_message=$kak_opt_fzf_tag_automake ;; + awk) + additional_keybindings="--expect alt-f" + additional_message=$kak_opt_fzf_tag_awk ;; + basic) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-l --expect alt-t --expect alt-v --expect alt-g" + additional_message=$kak_opt_fzf_tag_basic ;; + beta) + additional_keybindings="--expect alt-f --expect alt-p --expect alt-s --expect alt-v" + additional_message=$kak_opt_fzf_tag_beta ;; + clojure) + additional_keybindings="--expect alt-f --expect alt-n" + additional_message=$kak_opt_fzf_tag_clojure ;; + cmake) + additional_keybindings="--expect alt-f --expect alt-m --expect alt-t --expect alt-v --expect ctrl-alt-d --expect alt-p --expect alt-r" + additional_message=$kak_opt_fzf_tag_cmake ;; + c) + additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l" + additional_message=$kak_opt_fzf_tag_c ;; + cpp) + additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l --expect alt-c --expect alt-n --expect ctrl-alt-a --expect ctrl-alt-n --expect ctrl-alt-u" + additional_message=$kak_opt_fzf_tag_cpp ;; + cpreprocessor) + additional_keybindings="--expect alt-d --expect alt-h" + additional_message=$kak_opt_fzf_tag_cpreprocessor ;; + css) + additional_keybindings="--expect alt-c --expect alt-s --expect alt-i" + additional_message=$kak_opt_fzf_tag_css ;; + csharp) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect ctrl-alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-n --expect alt-p --expect alt-s --expect alt-t" + additional_message=$kak_opt_fzf_tag_csharp ;; + ctags) + additional_keybindings="--expect alt-l --expect alt-k" + additional_message=$kak_opt_fzf_tag_ctags ;; + cobol) + additional_keybindings="--expect alt-p --expect alt-d --expect ctrl-alt-s --expect ctrl-alt-F --expect alt-g --expect ctrl-alt-p --expect alt-s --expect ctrl-alt-d" + additional_message=$kak_opt_fzf_tag_cobol ;; + cuda) + additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l" + additional_message=$kak_opt_fzf_tag_cuda ;; + d) + additional_keybindings="--expect alt-a --expect alt-c --expect alt-g --expect alt-e --expect alt-x --expect alt-f --expect alt-i --expect alt-l --expect alt-m --expect ctrl-alt-x --expect ctrl-alt-m --expect alt-n --expect alt-p --expect alt-s --expect ctrl-alt-t --expect alt-u --expect alt-v --expect ctrl-alt-v" + additional_message=$kak_opt_fzf_tag_d ;; + diff) + additional_keybindings="--expect alt-m --expect alt-n --expect alt-d --expect alt-h" + additional_message=$kak_opt_fzf_tag_diff ;; + dtd) + additional_keybindings="--expect ctrl-alt-e --expect alt-p --expect alt-e --expect alt-a --expect alt-n" + additional_message=$kak_opt_fzf_tag_dtd ;; + dts) + additional_keybindings="--expect alt-p --expect alt-l --expect alt-r" + additional_message=$kak_opt_fzf_tag_dts ;; + dosbatch) + additional_keybindings="--expect alt-l --expect alt-v" + additional_message=$kak_opt_fzf_tag_dosbatch ;; + eiffel) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-l" + additional_message=$kak_opt_fzf_tag_eiffel ;; + elm) + additional_keybindings="--expect ctrl-alt-M --expect ctrl-alt-N --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-C --expect ctrl-alt-A --expect ctrl-alt-F" + additional_message=$kak_opt_fzf_tag_elm ;; + erlang) + additional_keybindings="--expect alt-d --expect alt-f --expect alt-m --expect alt-r --expect alt-t" + additional_message=$kak_opt_fzf_tag_erlang ;; + falcon) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-i" + additional_message=$kak_opt_fzf_tag_falcon ;; + flex) + additional_keybindings="--expect alt-f --expect alt-c --expect alt-m --expect alt-p --expect alt-v --expect alt-x" + additional_message=$kak_opt_fzf_tag_flex ;; + fortran) + additional_keybindings="--expect alt-b --expect alt-c --expect alt-e --expect ctrl-alt-e --expect alt-f --expect alt-i --expect alt-k --expect alt-l --expect ctrl-alt-l --expect alt-m --expect ctrl-alt-m --expect alt-n --expect ctrl-alt-n --expect alt-p --expect ctrl-alt-p --expect alt-s --expect alt-t --expect alt-v --expect ctrl-alt-s" + additional_message=$kak_opt_fzf_tag_fortran ;; + fypp) + additional_keybindings="--expect alt-m" + additional_message=$kak_opt_fzf_tag_fypp ;; + gdbinit) + additional_keybindings="--expect alt-d --expect ctrl-alt-d --expect alt-t --expect alt-l" + additional_message=$kak_opt_fzf_tag_gdbinit ;; + go) + additional_keybindings="--expect alt-p --expect alt-f --expect alt-c --expect alt-t --expect alt-v --expect alt-s --expect alt-i --expect alt-m --expect ctrl-alt-m --expect alt-u --expect ctrl-alt-p" + additional_message=$kak_opt_fzf_tag_go ;; + html) + additional_keybindings="--expect alt-a --expect ctrl-alt-H --expect ctrl-alt-I --expect ctrl-alt-J" + additional_message=$kak_opt_fzf_tag_html ;; + iniconf) + additional_keybindings="--expect alt-s --expect alt-k" + additional_message=$kak_opt_fzf_tag_iniconf ;; + itcl) + additional_keybindings="--expect alt-c --expect alt-m --expect alt-v --expect ctrl-alt-c --expect alt-p" + additional_message=$kak_opt_fzf_tag_itcl ;; + java) + additional_keybindings="--expect alt-a --expect alt-c --expect alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-p" + additional_message=$kak_opt_fzf_tag_java ;; + javaproperties) + additional_keybindings="--expect alt-k" + additional_message=$kak_opt_fzf_tag_javaproperties ;; + javascript) + additional_keybindings="--expect alt-f --expect alt-c --expect alt-m --expect alt-p --expect ctrl-alt-c --expect alt-v --expect alt-g" + additional_message=$kak_opt_fzf_tag_javascript ;; + json) + additional_keybindings="--expect alt-o --expect alt-a --expect alt-n --expect alt-s --expect alt-b --expect alt-z" + additional_message=$kak_opt_fzf_tag_json ;; + ldscript) + additional_keybindings="--expect ctrl-alt-s --expect alt-s --expect alt-v --expect alt-i" + additional_message=$kak_opt_fzf_tag_ldscript ;; + lisp) + additional_keybindings="--expect alt-f" + additional_message=$kak_opt_fzf_tag_lisp ;; + lua) + additional_keybindings="--expect alt-f" + additional_message=$kak_opt_fzf_tag_lua ;; + m4) + additional_keybindings="--expect alt-d --expect ctrl-alt-i" + additional_message=$kak_opt_fzf_tag_m4 ;; + man) + additional_keybindings="--expect alt-t --expect alt-s" + additional_message=$kak_opt_fzf_tag_man ;; + make) + additional_keybindings="--expect alt-m --expect alt-t --expect ctrl-alt-i" + additional_message=$kak_opt_fzf_tag_make ;; + markdown) + additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t --expect alt-u --expect alt-r" + additional_message=$kak_opt_fzf_tag_markdown ;; + matlab) + additional_keybindings="--expect alt-f --expect alt-v --expect alt-c" + additional_message=$kak_opt_fzf_tag_matlab ;; + myrddin) + additional_keybindings="--expect alt-f --expect alt-c --expect alt-v --expect alt-t --expect alt-r --expect alt-p" + additional_message=$kak_opt_fzf_tag_myrddin ;; + objectivec) + additional_keybindings="--expect alt-i --expect ctrl-alt-i --expect ctrl-alt-p --expect ctrl-alt-M --expect ctrl-alt-C --expect ctrl-alt-V --expect ctrl-alt-e --expect ctrl-alt-F --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-S --expect ctrl-alt-E --expect ctrl-alt-m" + additional_message=$kak_opt_fzf_tag_objectivec ;; + ocaml) + additional_keybindings="--expect alt-c --expect ctrl-alt-M --expect ctrl-alt-m --expect ctrl-alt-V --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-F --expect ctrl-alt-c --expect ctrl-alt-R --expect ctrl-alt-E" + additional_message=$kak_opt_fzf_tag_ocaml ;; + passwd) + additional_keybindings="--expect alt-u" + additional_message=$kak_opt_fzf_tag_passwd ;; + pascal) + additional_keybindings="--expect alt-f --expect alt-p" + additional_message=$kak_opt_fzf_tag_pascal ;; + perl) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-l --expect alt-p --expect alt-s --expect alt-d" + additional_message=$kak_opt_fzf_tag_perl ;; + perl6) + additional_keybindings="--expect alt-c --expect alt-g --expect alt-m --expect alt-o --expect alt-p --expect alt-r --expect alt-u --expect alt-b --expect alt-s --expect alt-t" + additional_message=$kak_opt_fzf_tag_perl6 ;; + php) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect alt-i --expect alt-l --expect alt-n --expect alt-t --expect alt-v --expect alt-a" + additional_message=$kak_opt_fzf_tag_php ;; + pod) + additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t" + additional_message=$kak_opt_fzf_tag_pod ;; + protobuf) + additional_keybindings="--expect alt-p --expect alt-m --expect alt-f --expect alt-e --expect alt-g --expect alt-s --expect ctrl-alt-R" + additional_message=$kak_opt_fzf_tag_protobuf ;; + puppetmanifest) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-n --expect alt-r --expect alt-v" + additional_message=$kak_opt_fzf_tag_puppetmanifest ;; + python) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect ctrl-alt-i --expect alt-i --expect alt-x --expect alt-z --expect alt-l" + additional_message=$kak_opt_fzf_tag_python ;; + pythonloggingconfig) + additional_keybindings="--expect ctrl-alt-l --expect alt-q" + additional_message=$kak_opt_fzf_tag_pythonloggingconfig ;; + qemuhx) + additional_keybindings="--expect ctrl-alt-Q --expect alt-i" + additional_message=$kak_opt_fzf_tag_qemuhx ;; + qtmoc) + additional_keybindings="--expect alt-s --expect ctrl-alt-s --expect alt-p" + additional_message=$kak_opt_fzf_tag_qtmoc ;; + r) + additional_keybindings="--expect alt-f --expect alt-l --expect alt-s --expect alt-g --expect alt-v" + additional_message=$kak_opt_fzf_tag_r ;; + rspec) + additional_keybindings="--expect alt-d --expect alt-c" + additional_message=$kak_opt_fzf_tag_rspec ;; + rexx) + additional_keybindings="--expect alt-s" + additional_message=$kak_opt_fzf_tag_rexx ;; + robot) + additional_keybindings="--expect alt-t --expect alt-k --expect alt-v" + additional_message=$kak_opt_fzf_tag_robot ;; + rpmspec) + additional_keybindings="--expect alt-t --expect alt-m --expect alt-p --expect alt-g" + additional_message=$kak_opt_fzf_tag_rpmspec ;; + restructuredtext) + additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t" + additional_message=$kak_opt_fzf_tag_restructuredtext ;; + ruby) + additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect ctrl-alt-s" + additional_message=$kak_opt_fzf_tag_ruby ;; + rust) + additional_keybindings="--expect alt-n --expect alt-s --expect alt-i --expect alt-c --expect ctrl-alt-F --expect ctrl-alt-G --expect ctrl-alt-T --expect ctrl-alt-V --expect ctrl-alt-m --expect ctrl-alt-M --expect ctrl-alt-E --expect ctrl-alt-p" + additional_message=$kak_opt_fzf_tag_rust ;; + scheme) + additional_keybindings="--expect alt-f --expect alt-s" + additional_message=$kak_opt_fzf_tag_scheme ;; + sh) + additional_keybindings="--expect alt-a --expect alt-f --expect alt-s --expect alt-h" + additional_message=$kak_opt_fzf_tag_sh ;; + slang) + additional_keybindings="--expect alt-f --expect alt-n" + additional_message=$kak_opt_fzf_tag_slang ;; + sml) + additional_keybindings="--expect alt-e --expect alt-f --expect alt-c --expect alt-s --expect alt-r --expect alt-t --expect alt-v" + additional_message=$kak_opt_fzf_tag_sml ;; + sql) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect ctrl-alt-e --expect alt-l --expect ctrl-alt-l --expect ctrl-alt-p --expect alt-p --expect alt-r --expect alt-s --expect alt-t --expect ctrl-alt-t --expect alt-v --expect alt-i --expect alt-e --expect ctrl-alt-u --expect ctrl-alt-r --expect ctrl-alt-d --expect ctrl-alt-v --expect alt-n --expect ctrl-alt-X --expect ctrl-alt-Y --expect ctrl-alt-Z" + additional_message=$kak_opt_fzf_tag_sql ;; + systemdunit) + additional_keybindings="--expect alt-u" + additional_message=$kak_opt_fzf_tag_systemdunit ;; + tcl) + additional_keybindings="--expect alt-p --expect alt-n" + additional_message=$kak_opt_fzf_tag_tcl ;; + tcloo) + additional_keybindings="--expect alt-c --expect alt-m" + additional_message=$kak_opt_fzf_tag_tcloo ;; + tex) + additional_keybindings="--expect alt-p --expect alt-c --expect alt-s --expect alt-u --expect alt-b --expect ctrl-alt-p --expect ctrl-alt-g --expect alt-l --expect alt-i" + additional_message=$kak_opt_fzf_tag_tex ;; + ttcn) + additional_keybindings="--expect ctrl-alt-m --expect alt-t --expect alt-c --expect alt-d --expect alt-f --expect alt-s --expect ctrl-alt-c --expect alt-a --expect ctrl-alt-g --expect ctrl-alt-p --expect alt-v --expect ctrl-alt-t --expect alt-p --expect alt-m --expect alt-e" + additional_message=$kak_opt_fzf_tag_ttcn ;; + vera) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-p --expect ctrl-alt-p --expect alt-s --expect alt-t --expect ctrl-alt-t --expect alt-v --expect alt-x --expect alt-h" + additional_message=$kak_opt_fzf_tag_vera ;; + verilog) + additional_keybindings="--expect alt-c --expect alt-e --expect alt-f --expect alt-m --expect alt-n --expect alt-p --expect alt-r --expect alt-t --expect alt-b" + additional_message=$kak_opt_fzf_tag_verilog ;; + systemverilog) + additional_keybindings="--expect alt-c --expect alt-e --expect alt-f --expect alt-m --expect alt-n --expect alt-p --expect alt-r --expect alt-t --expect alt-b --expect ctrl-alt-a --expect ctrl-alt-c --expect ctrl-alt-v --expect ctrl-alt-e --expect ctrl-alt-i --expect ctrl-alt-m --expect ctrl-alt-k --expect ctrl-alt-p --expect ctrl-alt-q --expect ctrl-alt-r --expect ctrl-alt-s --expect ctrl-alt-t" + additional_message=$kak_opt_fzf_tag_systemverilog ;; + vhdl) + additional_keybindings="--expect alt-c --expect alt-t --expect ctrl-alt-t --expect alt-r --expect alt-e --expect ctrl-alt-c --expect alt-d --expect alt-f --expect alt-p --expect ctrl-alt-p --expect alt-l" + additional_message=$kak_opt_fzf_tag_vhdl ;; + vim) + additional_keybindings="--expect alt-a --expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-n" + additional_message=$kak_opt_fzf_tag_vim ;; + windres) + additional_keybindings="--expect alt-d --expect alt-m --expect alt-i --expect alt-b --expect alt-c --expect alt-f --expect alt-v --expect alt-a" + additional_message=$kak_opt_fzf_tag_windres ;; + yacc) + additional_keybindings="--expect alt-l" + additional_message=$kak_opt_fzf_tag_yacc ;; + yumrepo) + additional_keybindings="--expect alt-r" + additional_message=$kak_opt_fzf_tag_yumrepo ;; + zephir) + additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect alt-i --expect alt-l --expect alt-n --expect alt-t --expect alt-v --expect alt-a" + additional_message=$kak_opt_fzf_tag_zephir ;; + dbusintrospect) + additional_keybindings="--expect alt-i --expect alt-m --expect alt-s --expect alt-p" + additional_message=$kak_opt_fzf_tag_dbusintrospect ;; + glade) + additional_keybindings="--expect alt-i --expect alt-c --expect alt-h" + additional_message=$kak_opt_fzf_tag_glade ;; + maven2) + additional_keybindings="--expect alt-g --expect alt-a --expect alt-p --expect alt-r" + additional_message=$kak_opt_fzf_tag_maven2 ;; + plistxml) + additional_keybindings="--expect alt-k" + additional_message=$kak_opt_fzf_tag_plistxml ;; + relaxng) + additional_keybindings="--expect alt-e --expect alt-a --expect alt-n" + additional_message=$kak_opt_fzf_tag_relaxng ;; + svg) + additional_keybindings="--expect alt-i" + additional_message=$kak_opt_fzf_tag_svg ;; + xslt) + additional_keybindings="--expect alt-s --expect alt-p --expect alt-m --expect alt-n --expect alt-v" + additional_message=$kak_opt_fzf_tag_xslt ;; + yaml) + additional_keybindings="--expect alt-a" + additional_message=$kak_opt_fzf_tag_yaml ;; + ansibleplaybook) + additional_keybindings="--expect alt-p" + additional_message=$kak_opt_fzf_tag_ansibleplaybook ;; + *) + additional_keybindings= + additional_message= + ;; + esac + + if [ ! -z "$1" ]; then + mode=$(echo "$additional_message" | grep ":" | awk '{$1=""; print}' | sed "s/\(.*\)/:\1/") + cmd="readtags -Q '(eq? \$kind $1)' -l | cut -f1" + else + cmd="readtags -l | cut -f1" + fi + + [ ! -z "${kak_client_env_TMUX}" ] && tmux_keybindings=" +: open tag in horizontal split +: open tag in vertical split" + + message="Jump to a symbol''s definition +: open tag in new buffer +: open tag in new window" + + [ ! -z "$additional_message" ] && message="$message $tmux_keybindings + +Additional filters for $kak_opt_filetype filetype: $additional_message" + + echo "info -title 'fzf tag$mode' '$message'" + + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + + echo "fzf %{ctags-search \$1} %{$cmd} %{--expect ctrl-w $additional_flags $additional_keybindings}" +}} diff --git a/rc/fzf-modules/fzf-file.kak b/rc/fzf-modules/fzf-file.kak new file mode 100644 index 0000000..3b36685 --- /dev/null +++ b/rc/fzf-modules/fzf-file.kak @@ -0,0 +1,61 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-file.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Module for opening files with fzf │ +# │ for fzf.kak plugin │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +declare-option -docstring "command to provide list of files to fzf. Arguments are supported +Supported tools: + : : + GNU Find: ""find"" + The Silver Searcher: ""ag"" + ripgrep: ""rg"" + fd: ""fd"" + +Default arguments: + find: ""find -type f -follow"" + ag: ""ag -l -f --hidden --one-device ."" + rg: ""rg -L --hidden --files"" + fd: ""fd --type f --follow"" +" \ +str fzf_file_command "find" + +map global fzf -docstring "open file" 'f' ': fzf-file' + +define-command -hidden fzf-file %{ evaluate-commands %sh{ + if [ -z $(command -v $kak_opt_fzf_file_command) ]; then + echo "echo -markup '{Information}''$kak_opt_fzf_file_command'' is not installed. Falling back to ''find'''" + kak_opt_fzf_file_command="find" + fi + case $kak_opt_fzf_file_command in + find) + cmd="find -type f -follow" ;; + ag) + cmd="ag -l -f --hidden --one-device . " ;; + rg) + cmd="rg -L --hidden --files" ;; + fd) + cmd="fd --type f --follow" ;; + find*|ag*|rg*|fd*) + cmd=$kak_opt_fzf_file_command ;; + *) + executable=$(echo $kak_opt_fzf_file_command | awk '{print $1'}| tr '(' ' ' | cut -d " " -f 2) + echo "echo -markup '{Information}''$executable'' is not supported by the script. fzf.kak may not work as you expect.'" + cmd=$kak_opt_fzf_file_command ;; + esac + title="fzf file" + [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" +: open file in horizontal split +: open file in vertical split" + message="Open single or multiple files. +: open file in new buffer. +: open file in new window $additional_keybindings" + echo "info -title '$title' '$message'" + [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" + echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" +}} + diff --git a/rc/fzf-modules/fzf-search.kak b/rc/fzf-modules/fzf-search.kak new file mode 100644 index 0000000..5a07f2f --- /dev/null +++ b/rc/fzf-modules/fzf-search.kak @@ -0,0 +1,24 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-search.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Module for searching inside current │ +# │ buffer with fzf for fzf.kak │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +map global fzf -docstring "search in buffer" 's' ': fzf-buffer-search' + +define-command -hidden fzf-buffer-search %{ evaluate-commands %sh{ + title="fzf buffer search" + message="Search buffer with fzf, and jump to result location" + echo "info -title '$title' '$message'" + line=$kak_cursor_line + char=$(expr $kak_cursor_char_column - 1) + buffer_content=$(mktemp ${TMPDIR:-/tmp}/kak-curr-buff.XXXXXX) + echo "execute-keys %{%cat>$buffer_content;}" + echo "execute-keys $line g $char l" + echo "fzf %{execute-keys \$1 gx} %{(nl -b a -n ln $buffer_content} %{--reverse | cut -f 1; rm $buffer_content)}" +}} + diff --git a/rc/fzf-modules/fzf-vcs.kak b/rc/fzf-modules/fzf-vcs.kak new file mode 100644 index 0000000..6806f9e --- /dev/null +++ b/rc/fzf-modules/fzf-vcs.kak @@ -0,0 +1,56 @@ +# ╭─────────────╥────────────────────────╮ +# │ Author: ║ File: │ +# │ Andrey Orst ║ fzf-vcs.kak │ +# ╞═════════════╩════════════════════════╡ +# │ Module that declares VCS submodule │ +# │ for various version control systems │ +# │ to open files with fzf │ +# ╞══════════════════════════════════════╡ +# │ GitHub.com/andreyorst/fzf.kak │ +# ╰──────────────────────────────────────╯ + +try %{ declare-user-mode fzf-vcs } catch %{echo -markup "{Error}Can't declare mode 'fzf-vcs' - already exists"} + +map global fzf -docstring "edit file from vcs repo" 'v' ': fzf-vcs' +map global fzf -docstring "svitch to vcs selection mode" 'V' ': fzf-vcs-mode' + +define-command -docstring "Enter fzf-vcs-mode. +This mode allows selecting specific vcs command." \ +fzf-vcs-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-vcs' } } + +define-command -hidden -docstring "Wrapper command for fzf vcs to automatically decect +used version control system. + +Supported vcs: + Git: ""git"" + Subversion: ""svn"" + Mercurial SCM: ""hg"" + GNU Bazaar: ""bzr"" +" \ +fzf-vcs %{ evaluate-commands %sh{ + commands="git rev-parse --is-inside-work-tree +svn info +hg --cwd . root +bzr status" + IFS=' +' + for cmd in $commands; do + eval $cmd >/dev/null 2>&1 + res=$? + if [ "$res" = "0" ]; then + vcs=$(echo $cmd | awk '{print $1}') + title="fzf $vcs" + [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" +: open file in horizontal split +: open file in vertical split" + message="Open single or multiple files from git tree. +: open file in new buffer. +: open file in new window $additional_keybindings" + echo "info -title '$title' '$message'" + echo "fzf-$vcs" + exit + fi + done + echo "echo -markup '{Information}No VCS found in current folder'" +}} + diff --git a/rc/fzf.kak b/rc/fzf.kak index 050d782..19d73a3 100644 --- a/rc/fzf.kak +++ b/rc/fzf.kak @@ -9,75 +9,8 @@ # ╰─────────────────────────────────╯ try %{ declare-user-mode fzf } catch %{echo -markup "{Error}Can't declare mode 'fzf' - already exists"} -try %{ declare-user-mode fzf-vcs } catch %{echo -markup "{Error}Can't declare mode 'fzf-vcs' - already exists"} # Options -declare-option -docstring "command to provide list of files to fzf. Arguments are supported -Supported tools: - : : - GNU Find: ""find"" - The Silver Searcher: ""ag"" - ripgrep: ""rg"" - fd: ""fd"" - -Default arguments: - find: ""find -type f -follow"" - ag: ""ag -l -f --hidden --one-device ."" - rg: ""rg -L --hidden --files"" - fd: ""fd --type f --follow"" -" \ -str fzf_file_command "find" - -declare-option -docstring "command to provide list of files in git tree to fzf. Arguments are supported -Supported tools: - : : - Git : ""git"" - -Default arguments: - ""git ls-tree --name-only -r HEAD"" -" \ -str fzf_git_command "git" - -declare-option -docstring "command to provide list of files in svn repository to fzf. Arguments are supported -Supported tools: - : : - Subversion: ""svn"" - -Default arguments: - ""svn list -R . | grep -v '$/' | tr '\\n' '\\0'"" -" \ -str fzf_svn_command "svn" - -declare-option -docstring "command to provide list of files in mercurial repository to fzf. Arguments are supported -Supported tools: - : : - Mercurial SCM: ""hg"" - -Default arguments: - ""hg locate -f -0 -I .hg locate -f -0 -I ."" -" \ -str fzf_hg_command "hg" - -declare-option -docstring "command to provide list of files in GNU Bazaar repository to fzf. Arguments are supported -Supported tools: - : : - GNU Bazaar: ""bzr"" - -Default arguments: - ""bzr ls -R --versioned -0"" -" \ -str fzf_bzr_command "bzr" - -declare-option -docstring "command to provide list of ctags to fzf. Arguments are supported -Supported tools: - : : - universal-ctags: ""readtags"" - -Default arguments: - ""readtags -l | cut -f1"" -" \ -str fzf_tag_command "readtags" - declare-option -docstring "allow showing preview window Default value: true @@ -120,26 +53,6 @@ declare-option -docstring "height of preview window Default value: 60%%" \ str fzf_preview_height '60%' -declare-option -docstring "command to provide list of directories to fzf. -Default value: - find: (echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print) -" \ -str fzf_cd_command "find" - -# default mappings -map global fzf -docstring "open buffer" 'b' ': fzf-buffer' -map global fzf -docstring "change directory" 'c' ': fzf-cd' -map global fzf -docstring "open file" 'f' ': fzf-file' -map global fzf -docstring "edit file from vcs repo" 'v' ': fzf-vcs' -map global fzf -docstring "svitch to vcs selection mode" 'V' ': fzf-vcs-mode' -map global fzf -docstring "search in buffer" 's' ': fzf-buffer-search' -map global fzf -docstring "find tag" 't' ': fzf-tag' - -map global fzf-vcs -docstring "edit file from Git tree" 'g' ': fzf-git' -map global fzf-vcs -docstring "edit file from Subversion tree" 's' ': fzf-svn' -map global fzf-vcs -docstring "edit file from mercurial tree" 'h' ': fzf-hg' -map global fzf-vcs -docstring "edit file from GNU Bazaar tree" 'b' ': fzf-bzr' - # Commands define-command -docstring "Enter fzf-mode. fzf-mode contains mnemonic key bindings for every fzf.kak command @@ -149,152 +62,6 @@ Best used with mapping like: " \ fzf-mode %{ try %{ evaluate-commands 'enter-user-mode fzf' } } -define-command -docstring "Enter fzf-mode. -fzf-mode contains mnemonic key bindings for every fzf.kak command - -Best used with mapping like: - map global normal '' ': fzf-mode' -" \ -fzf-vcs-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-vcs' } } - -define-command -hidden fzf-file %{ evaluate-commands %sh{ - if [ -z $(command -v $kak_opt_fzf_file_command) ]; then - echo "echo -markup '{Information}''$kak_opt_fzf_file_command'' is not installed. Falling back to ''find'''" - kak_opt_fzf_file_command="find" - fi - case $kak_opt_fzf_file_command in - find) - cmd="find -type f -follow" ;; - ag) - cmd="ag -l -f --hidden --one-device . " ;; - rg) - cmd="rg -L --hidden --files" ;; - fd) - cmd="fd --type f --follow" ;; - find*|ag*|rg*|fd*) - cmd=$kak_opt_fzf_file_command ;; - *) - executable=$(echo $kak_opt_fzf_file_command | awk '{print $1'}| tr '(' ' ' | cut -d " " -f 2) - echo "echo -markup '{Information}''$executable'' is not supported by the script. fzf.kak may not work as you expect.'" - cmd=$kak_opt_fzf_file_command ;; - esac - title="fzf file" - [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" -: open file in horizontal split -: open file in vertical split" - message="Open single or multiple files. -: open file in new buffer. -: open file in new window $additional_keybindings" - echo "info -title '$title' '$message'" - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" -}} - -define-command -hidden -docstring "Wrapper command for fzf vcs to automatically decect -used version control system. - -Supported vcs: - Git: ""git"" - Subversion: ""svn"" - Mercurial SCM: ""hg"" - GNU Bazaar: ""bzr"" -" \ -fzf-vcs %{ evaluate-commands %sh{ - commands="git rev-parse --is-inside-work-tree -svn info -hg --cwd . root -bzr status" - IFS=' -' - for cmd in $commands; do - eval $cmd >/dev/null 2>&1 - res=$? - if [ "$res" = "0" ]; then - vcs=$(echo $cmd | awk '{print $1}') - title="fzf $vcs" - [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" -: open file in horizontal split -: open file in vertical split" - message="Open single or multiple files from git tree. -: open file in new buffer. -: open file in new window $additional_keybindings" - echo "info -title '$title' '$message'" - echo "fzf-$vcs" - exit - fi - done - echo "echo -markup '{Information}No VCS found in current folder'" -}} - -define-command -hidden fzf-git %{ evaluate-commands %sh{ - case $kak_opt_fzf_git_command in - git) - cmd="git ls-tree --name-only -r HEAD" ;; - git*) - cmd=$kak_opt_fzf_git_command ;; - esac - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" -}} - -define-command -hidden fzf-hg %{ evaluate-commands %sh{ - case $kak_opt_fzf_hg_command in - hg) - cmd="hg locate -f -0 -I .hg locate -f -0 -I ." ;; - hg*) - cmd=$kak_opt_fzf_hg_command ;; - esac - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" -}} - -define-command -hidden fzf-svn %{ evaluate-commands %sh{ - case $kak_opt_fzf_svn_command in - svn) - cmd="svn list -R . | grep -v '$/' | tr '\\n' '\\0'" ;; - svn*) - cmd=$kak_opt_fzf_svn_command ;; - esac - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" -}} - -define-command -hidden fzf-bzr %{ evaluate-commands %sh{ - case $kak_opt_fzf_bzr_command in - bzr) - cmd="bzr ls -R --versioned -0" ;; - bzr*) - cmd=$kak_opt_fzf_bzr_command ;; - esac - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - echo "fzf %{edit \$1} %{$cmd} %{-m --expect ctrl-w $additional_flags}" -}} - -define-command -hidden fzf-cd %{ evaluate-commands %sh{ - title="fzf change directory" - message="Change the server''s working directory" - echo "info -title '$title' '$message'" - case $kak_opt_fzf_cd_command in - find) - cmd="(echo .. && find \( -path '*/.svn*' -o -path '*/.git*' \) -prune -o -type d -print)" ;; - *) - cmd=$kak_opt_fzf_cd_command ;; - esac - echo "fzf %{change-directory \$1} %{$cmd}" -}} - -define-command -hidden fzf-buffer-search %{ evaluate-commands %sh{ - title="fzf buffer search" - message="Search buffer with fzf, and jump to result location" - echo "info -title '$title' '$message'" - line=$kak_cursor_line - char=$(expr $kak_cursor_char_column - 1) - buffer_content=$(mktemp ${TMPDIR:-/tmp}/kak-curr-buff.XXXXXX) - echo "execute-keys %{%cat>$buffer_content;}" - echo "execute-keys $line g $char l" - echo "fzf %{execute-keys \$1 gx} %{(nl -b a -n ln $buffer_content} %{--reverse | cut -f 1; rm $buffer_content)}" -}} - define-command -hidden fzf -params 2..3 %{ evaluate-commands %sh{ callback=$1 items_command=$2 @@ -388,1253 +155,3 @@ define-command -hidden fzf -params 2..3 %{ evaluate-commands %sh{ ) > /dev/null 2>&1 < /dev/null & }} -define-command -hidden fzf-buffer %{ evaluate-commands %sh{ - tmp=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-fzf.XXXXXX)) - setbuf=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-setbuf.XXXXXX)) - delbuf=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-delbuf.XXXXXX)) - buffers=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-buffers.XXXXXX)) - IFS="'" - for buffer in $kak_buflist; do - [ ! -z $buffer ] && [ $buffer != ' ' ] && echo $buffer >> $buffers - done - if [ ! -z "${kak_client_env_TMUX}" ]; then - cmd="cat $buffers | fzf-tmux -d $kak_opt_fzf_tmux_height --expect ctrl-d > $tmp" - elif [ ! -z "${kak_opt_termcmd}" ]; then - cmd="$kak_opt_termcmd \"sh -c 'cat $buffers | fzf --expect ctrl-d > $tmp'\"" - else - echo "fail termcmd option is not set" - fi - - echo "info -title 'fzf buffer' 'Set buffer to edit in current client -: delete selected buffer'" - - echo "echo evaluate-commands -client $kak_client \"buffer \'\$1'\" | kak -p $kak_session" > $setbuf - echo "echo evaluate-commands -client $kak_client \"delete-buffer \'\$1'\" | kak -p $kak_session" > $delbuf - echo "echo evaluate-commands -client $kak_client \"fzf-buffer \" | kak -p $kak_session" >> $delbuf - chmod 755 $setbuf - chmod 755 $delbuf - ( - eval "$cmd" - if [ -s $tmp ]; then - ( - read action - read buf - if [ "$action" = "ctrl-d" ]; then - $setbuf $kak_bufname - $delbuf $buf - else - $setbuf $buf - fi - ) < $tmp - else - $setbuf $kak_bufname - fi - rm $tmp - rm $setbuf - rm $delbuf - rm $buffers - ) > /dev/null 2>&1 < /dev/null & -}} - -declare-option -hidden -docstring "A set of mappings for Ada filetype" \ -str fzf_tag_ada " -: package specifications -: packages -: types -: subtypes -: record type components -: enum type literals -: variables -: generic formal parameters -: constants -: user defined exceptions -: subprogram specifications -: subprograms -: task specifications -: tasks -: protected data specifications -: protected data -: task/protected data entries -: labels -: loop/declare identifiers -: (ctags internal use)" - -declare-option -hidden -docstring "A set of mappings for Ant filetype" \ -str fzf_tag_ant " -: projects -: targets -: properties(global) -: antfiles" - -declare-option -hidden -docstring "A set of mappings for Asciidoc filetype" \ -str fzf_tag_asciidoc " -: chapters -: sections -: level 2 sections -: level 3 sections -: level 4 sections -: level 5 sections -: anchors" - -declare-option -hidden -docstring "A set of mappings for Asm filetype" \ -str fzf_tag_asm " -: defines -: labels -: macros -: types (structs and records) -: sections" - -declare-option -hidden -docstring "A set of mappings for Asp filetype" \ -str fzf_tag_asp " -: constants -: classes -: functions -: subroutines -: variables" - -declare-option -hidden -docstring "A set of mappings for Autoconf filetype" \ -str fzf_tag_autoconf " -: packages -: templates -: autoconf macros -: options specified with --with-... -: options specified with --enable-... -: substitution keys -: automake conditions -: definitions" - -declare-option -hidden -docstring "A set of mappings for AutoIt filetype" \ -str fzf_tag_autoit " -: functions -: regions -: global variables -: local variables -: included scripts" - -declare-option -hidden -docstring "A set of mappings for Automake filetype" \ -str fzf_tag_automake " -: directories -: programs -: manuals -: ltlibraries -: libraries -: scripts -: datum -: conditions" - -declare-option -hidden -docstring "A set of mappings for Awk filetype" \ -str fzf_tag_awk " -: functions" - -declare-option -hidden -docstring "A set of mappings for Basic filetype" \ -str fzf_tag_basic " -: constants -: functions -: labels -: types -: variables -: enumerations" - -declare-option -hidden -docstring "A set of mappings for BETA filetype" \ -str fzf_tag_beta " -: fragment definitions -: slots (fragment uses) -: patterns (virtual or rebound)" - -declare-option -hidden -docstring "A set of mappings for Clojure filetype" \ -str fzf_tag_clojure " -: functions -: namespaces" - -declare-option -hidden -docstring "A set of mappings for CMake filetype" \ -str fzf_tag_cmake " -: functions -: macros -: targets -: variable definitions -: options specified with -D -: projects -: regex" - -declare-option -hidden -docstring "A set of mappings for C filetype" \ -str fzf_tag_c " -: macro definitions -: enumerators (values inside an enumeration) -: function definitions -: enumeration names -: included header files -: struct, and union members -: structure names -: typedefs -: union names -: variable definitions" - -declare-option -hidden -docstring "A set of mappings for C++ filetype" \ -str fzf_tag_cpp " -: macro definitions -: enumerators (values inside an enumeration) -: function definitions -: enumeration names -: included header files -: class, struct, and union members -: structure names -: typedefs -: union names -: variable definitions -: classes -: namespaces" - -declare-option -hidden -docstring "A set of mappings for CPreProcessor filetype" \ -str fzf_tag_cpreprocessor " -: macro definitions -: included header files" - -declare-option -hidden -docstring "A set of mappings for CSS filetype" \ -str fzf_tag_css " -: classes -: selectors -: identities" - -declare-option -hidden -docstring "A set of mappings for C# filetype" \ -str fzf_tag_csharp " -: classes -: macro definitions -: enumerators (values inside an enumeration) -: events -: fields -: enumeration names -: interfaces -: methods -: namespaces -: properties -: structure names -: typedefs" - -declare-option -hidden -docstring "A set of mappings for Ctags filetype" \ -str fzf_tag_ctags " -: language definitions -: kind definitions" - -declare-option -hidden -docstring "A set of mappings for Cobol filetype" \ -str fzf_tag_cobol " -: paragraphs -: data items -: source code file -: file descriptions (FD, SD, RD) -: group items -: program ids -: sections -: divisions" - -declare-option -hidden -docstring "A set of mappings for CUDA filetype" \ -str fzf_tag_cuda " -: macro definitions -: enumerators (values inside an enumeration) -: function definitions -: enumeration names -: included header files -: struct, and union members -: structure names -: typedefs -: union names -: variable definitions" - -declare-option -hidden -docstring "A set of mappings for D filetype" \ -str fzf_tag_d " -: aliases -: classes -: enumeration names -: enumerators (values inside an enumeration) -: function definitions -: interfaces -: class, struct, and union members -: mixins -: modules -: namespaces -: structure names -: templates -: union names -: variable definitions -: version statements" - -declare-option -hidden -docstring "A set of mappings for Diff filetype" \ -str fzf_tag_diff " -: modified files -: newly created files -: deleted files -: hunks" - -declare-option -hidden -docstring "A set of mappings for DTD filetype" \ -str fzf_tag_dtd " -: entities -: parameter entities -: elements -: attributes -: notations" - -declare-option -hidden -docstring "A set of mappings for DTS filetype" \ -str fzf_tag_dts " -: phandlers -: labels -: regex" - -declare-option -hidden -docstring "A set of mappings for DosBatch filetype" \ -str fzf_tag_dosbatch " -: labels -: variables" - -declare-option -hidden -docstring "A set of mappings for Eiffel filetype" \ -str fzf_tag_eiffel " -: classes -: features" - -declare-option -hidden -docstring "A set of mappings for Elm filetype" \ -str fzf_tag_elm " -: Module -: Renamed Imported Module -: Port -: Type Definition -: Type Constructor -: Type Alias -: Functions" - -declare-option -hidden -docstring "A set of mappings for Erlang filetype" \ -str fzf_tag_erlang " -: macro definitions -: functions -: modules -: record definitions -: type definitions" - -declare-option -hidden -docstring "A set of mappings for Falcon filetype" \ -str fzf_tag_falcon " -: classes -: functions -: class members -: variables -: imports" - -declare-option -hidden -docstring "A set of mappings for Flex filetype" \ -str fzf_tag_flex " -: functions -: classes -: methods -: properties -: global variables -: mxtags" - -declare-option -hidden -docstring "A set of mappings for Fortran filetype" \ -str fzf_tag_fortran " -: block data -: common blocks -: entry points -: enumerations -: functions -: interface contents, generic names, and operators -: type and structure components -: labels -: modules -: type bound procedures -: namelists -: enumeration values -: programs -: subroutines -: derived types and structures -: program (global) and module variables -: submodules" - -declare-option -hidden -docstring "A set of mappings for Fypp filetype" \ -str fzf_tag_fypp " -: macros" - -declare-option -hidden -docstring "A set of mappings for Gdbinit filetype" \ -str fzf_tag_gdbinit " -: definitions -: toplevel variables" - -declare-option -hidden -docstring "A set of mappings for Go filetype" \ -str fzf_tag_go " -: packages -: functions -: constants -: types -: variables -: structs -: interfaces -: struct members -: struct anonymous members -: unknown -: name for specifying imported package" - -declare-option -hidden -docstring "A set of mappings for HTML filetype" \ -str fzf_tag_html " -: named anchors -: H1 headings -: H2 headings -: H3 headings" - -declare-option -hidden -docstring "A set of mappings for Iniconf filetype" \ -str fzf_tag_iniconf " -: sections -: keys" - -declare-option -hidden -docstring "A set of mappings for ITcl filetype" \ -str fzf_tag_itcl " -: classes -: methods -: object-specific variables -: common variables -: procedures within the class namespace" - -declare-option -hidden -docstring "A set of mappings for Java filetype" \ -str fzf_tag_java " -: annotation declarations -: classes -: enum constants -: fields -: enum types -: interfaces -: methods -: packages" - -declare-option -hidden -docstring "A set of mappings for JavaProperties filetype" \ -str fzf_tag_javaproperties " -: keys" - -declare-option -hidden -docstring "A set of mappings for JavaScript filetype" \ -str fzf_tag_javascript " -: functions -: classes -: methods -: properties -: constants -: global variables -: generators" - -declare-option -hidden -docstring "A set of mappings for JSON filetype" \ -str fzf_tag_json " -: objects -: arrays -: numbers -: strings -: booleans -: nulls" - -declare-option -hidden -docstring "A set of mappings for LdScript filetype" \ -str fzf_tag_ldscript " -: sections -: symbols -: versions -: input sections" - -declare-option -hidden -docstring "A set of mappings for Lisp filetype" \ -str fzf_tag_lisp " -: functions" - -declare-option -hidden -docstring "A set of mappings for Lua filetype" \ -str fzf_tag_lua " -: functions" - -declare-option -hidden -docstring "A set of mappings for M4 filetype" \ -str fzf_tag_m4 " -: macros -: macro files" - -declare-option -hidden -docstring "A set of mappings for Man filetype" \ -str fzf_tag_man " -: titles -: sections" - -declare-option -hidden -docstring "A set of mappings for Make filetype" \ -str fzf_tag_make " -: macros -: targets -: makefiles" - -declare-option -hidden -docstring "A set of mappings for Markdown filetype" \ -str fzf_tag_markdown " -: chapsters -: sections -: subsections -: subsubsections -: level 4 subsections -: level 5 subsections -: regex" - -declare-option -hidden -docstring "A set of mappings for MatLab filetype" \ -str fzf_tag_matlab " -: function -: variable -: class" - -declare-option -hidden -docstring "A set of mappings for Myrddin filetype" \ -str fzf_tag_myrddin " -: functions -: constants -: variables -: types -: traits -: packages" - -declare-option -hidden -docstring "A set of mappings for ObjectiveC filetype" \ -str fzf_tag_objectivec " -: class interface -: class implementation -: Protocol -: Object's method -: Class' method -: Global variable -: Object field -: A function -: A property -: A type alias -: A type structure -: An enumeration -: A preprocessor macro" - -declare-option -hidden -docstring "A set of mappings for OCaml filetype" \ -str fzf_tag_ocaml " -: classes -: Object's method -: Module or functor -: Global variable -: Signature item -: Type name -: A function -: A constructor -: A 'structure' field -: An exception" - -declare-option -hidden -docstring "A set of mappings for Passwd filetype" \ -str fzf_tag_passwd " -: user names" - -declare-option -hidden -docstring "A set of mappings for Pascal filetype" \ -str fzf_tag_pascal " -: functions -: procedures" - -declare-option -hidden -docstring "A set of mappings for Perl filetype" \ -str fzf_tag_perl " -: constants -: formats -: labels -: packages -: subroutines" - -declare-option -hidden -docstring "A set of mappings for Perl6 filetype" \ -str fzf_tag_perl6 " -: classes -: grammars -: methods -: modules -: packages -: roles -: rules -: submethods -: subroutines -: tokens" - -declare-option -hidden -docstring "A set of mappings for PHP filetype" \ -str fzf_tag_php " -: classes -: constant definitions -: functions -: interfaces -: namespaces -: traits -: variables -: aliases" - -declare-option -hidden -docstring "A set of mappings for Pod filetype" \ -str fzf_tag_pod " -: chapters -: sections -: subsections -: subsubsections" - -declare-option -hidden -docstring "A set of mappings for Protobuf filetype" \ -str fzf_tag_protobuf " -: packages -: messages -: fields -: enum constants -: enum types -: services" - -declare-option -hidden -docstring "A set of mappings for PuppetManifest filetype" \ -str fzf_tag_puppetmanifest " -: classes -: definitions -: nodes -: resources -: variables" - -declare-option -hidden -docstring "A set of mappings for Python filetype" \ -str fzf_tag_python " -: classes -: functions -: class members -: variables -: name referring a module defined in other file -: modules -: name referring a class/variable/function/module defined in other module" - -declare-option -hidden -docstring "A set of mappings for PythonLoggingConfig filetype" \ -str fzf_tag_pythonloggingconfig " -: logger sections -: logger qualnames" - -declare-option -hidden -docstring "A set of mappings for QemuHX filetype" \ -str fzf_tag_qemuhx " -: QEMU Management Protocol dispatch table entries -: item in texinfo doc" - -declare-option -hidden -docstring "A set of mappings for QtMoc filetype" \ -str fzf_tag_qtmoc " -: slots -: signals -: properties" - -declare-option -hidden -docstring "A set of mappings for R filetype" \ -str fzf_tag_r " -: functions -: libraries -: sources -: global variables -: function variables" - -declare-option -hidden -docstring "A set of mappings for RSpec filetype" \ -str fzf_tag_rspec " -: describes -: contexts" - -declare-option -hidden -docstring "A set of mappings for REXX filetype" \ -str fzf_tag_rexx " -: subroutines" - -declare-option -hidden -docstring "A set of mappings for Robot filetype" \ -str fzf_tag_robot " -: testcases -: keywords -: variables" - -declare-option -hidden -docstring "A set of mappings for RpmSpec filetype" \ -str fzf_tag_rpmspec " -: tags -: macros -: packages -: global macros" - -declare-option -hidden -docstring "A set of mappings for ReStructuredText filetype" \ -str fzf_tag_restructuredtext " -: chapters -: sections -: subsections -: subsubsections -: targets" - -declare-option -hidden -docstring "A set of mappings for Ruby filetype" \ -str fzf_tag_ruby " -: classes -: methods -: modules -: singleton methods" - -declare-option -hidden -docstring "A set of mappings for Rust filetype" \ -str fzf_tag_rust " -: module -: structural type -: trait interface -: implementation -: Function -: Enum -: Type Alias -: Global variable -: Macro Definition -: A struct field -: An enum variant -: A method" - -declare-option -hidden -docstring "A set of mappings for Scheme filetype" \ -str fzf_tag_scheme " -: functions -: sets" - -declare-option -hidden -docstring "A set of mappings for Sh filetype" \ -str fzf_tag_sh " -: aliases -: functions -: script files -: label for here document" - -declare-option -hidden -docstring "A set of mappings for SLang filetype" \ -str fzf_tag_slang " -: functions -: namespaces" - -declare-option -hidden -docstring "A set of mappings for SML filetype" \ -str fzf_tag_sml " -: exception declarations -: function definitions -: functor definitions -: signature declarations -: structure declarations -: type definitions -: value bindings" - -declare-option -hidden -docstring "A set of mappings for SQL filetype" \ -str fzf_tag_sql " -: cursors -: functions -: record fields -: block label -: packages -: procedures -: subtypes -: tables -: triggers -: variables -: indexes -: events -: publications -: services -: domains -: views -: synonyms -: MobiLink Table Scripts -: MobiLink Conn Scripts -: MobiLink Properties " - -declare-option -hidden -docstring "A set of mappings for SystemdUnit filetype" \ -str fzf_tag_systemdunit " -: units" - -declare-option -hidden -docstring "A set of mappings for Tcl filetype" \ -str fzf_tag_tcl " -: procedures -: namespaces" - -declare-option -hidden -docstring "A set of mappings for TclOO filetype" \ -str fzf_tag_tcloo " -: classes -: methods" - -declare-option -hidden -docstring "A set of mappings for Tex filetype" \ -str fzf_tag_tex " -: parts -: chapters -: sections -: subsections -: subsubsections -: paragraphs -: subparagraphs -: labels -: includes" - -declare-option -hidden -docstring "A set of mappings for TTCN filetype" \ -str fzf_tag_ttcn " -: module definition -: type definition -: constant definition -: template definition -: function definition -: signature definition -: testcase definition -: altstep definition -: group definition -: module parameter definition -: variable instance -: timer instance -: port instance -: record/set/union member -: enumeration value" - -declare-option -hidden -docstring "A set of mappings for Vera filetype" \ -str fzf_tag_vera " -: classes -: macro definitions -: enumerators (values inside an enumeration) -: function definitions -: enumeration names -: interfaces -: class, struct, and union members -: programs -: signals -: tasks -: typedefs -: variable definitions -: included header files" - -declare-option -hidden -docstring "A set of mappings for Verilog filetype" \ -str fzf_tag_verilog " -: constants (define, parameter, specparam) -: events -: functions -: modules -: net data types -: ports -: register data types -: tasks -: blocks" - -declare-option -hidden -docstring "A set of mappings for SystemVerilog filetype" \ -str fzf_tag_systemverilog " -: constants (define, parameter, specparam, enum values) -: events -: functions -: modules -: net data types -: ports -: register data types -: tasks -: blocks -: assertions -: classes -: covergroups -: enumerators -: interfaces -: modports -: packages -: programs -: properties -: structs and unions -: type declarations" - -declare-option -hidden -docstring "A set of mappings for VHDL filetype" \ -str fzf_tag_vhdl " -: constant declarations -: type definitions -: subtype definitions -: record names -: entity declarations -: function prototypes and declarations -: procedure prototypes and declarations -: package definitions" - -declare-option -hidden -docstring "A set of mappings for Vim filetype" \ -str fzf_tag_vim " -: autocommand groups -: user-defined commands -: function definitions -: maps -: variable definitions -: vimball filename" - -declare-option -hidden -docstring "A set of mappings for WindRes filetype" \ -str fzf_tag_windres " -: dialogs -: menus -: icons -: bitmaps -: cursors -: fonts -: versions -: accelerators" - -declare-option -hidden -docstring "A set of mappings for YACC filetype" \ -str fzf_tag_yacc " -: labels" - -declare-option -hidden -docstring "A set of mappings for YumRepo filetype" \ -str fzf_tag_yumrepo " -: repository id" - -declare-option -hidden -docstring "A set of mappings for Zephir filetype" \ -str fzf_tag_zephir " -: classes -: constant definitions -: functions -: interfaces -: namespaces -: traits -: variables -: aliases" - -declare-option -hidden -docstring "A set of mappings for DBusIntrospect filetype" \ -str fzf_tag_dbusintrospect " -: interfaces -: methods -: signals -: properties" - -declare-option -hidden -docstring "A set of mappings for Glade filetype" \ -str fzf_tag_glade " -: identifiers -: classes -: handlers" - -declare-option -hidden -docstring "A set of mappings for Maven2 filetype" \ -str fzf_tag_maven2 " -: group identifiers -: artifact identifiers -: properties -: repository identifiers" - -declare-option -hidden -docstring "A set of mappings for PlistXML filetype" \ -str fzf_tag_plistxml " -: keys" - -declare-option -hidden -docstring "A set of mappings for RelaxNG filetype" \ -str fzf_tag_relaxng " -: elements -: attributes -: named patterns" - -declare-option -hidden -docstring "A set of mappings for SVG filetype" \ -str fzf_tag_svg " -: id attributes" - -declare-option -hidden -docstring "A set of mappings for XSLT filetype" \ -str fzf_tag_xslt " -: stylesheets -: parameters -: matched template -: matched template -: variables" - -declare-option -hidden -docstring "A set of mappings for Yaml filetype" \ -str fzf_tag_yaml " -: anchors" - -declare-option -hidden -docstring "A set of mappings for AnsiblePlaybook filetype" \ -str fzf_tag_ansibleplaybook " -: plays" - -define-command -hidden fzf-tag -params ..1 %{ evaluate-commands %sh{ - case $kak_opt_filetype in - ada) - additional_keybindings="--expect ctrl-alt-p --expect alt-p --expect ctrl-alt-t --expect alt-t --expect ctrl-alt-u --expect alt-u --expect alt-c --expect alt-l --expect ctrl-alt-v --expect alt-v --expect alt-f --expect alt-n --expect alt-x --expect ctrl-alt-r --expect alt-r --expect ctrl-alt-k --expect alt-k --expect ctrl-alt-o --expect alt-o --expect ctrl-alt-e --expect alt-e --expect alt-b --expect alt-i --expect alt-a --expect alt-y --expect ctrl-alt-s" - additional_message=$kak_opt_fzf_tag_ada ;; - ant) - additional_keybindings="--expect alt-p --expect alt-t --expect ctrl-alt-p --expect alt-i" - additional_message=$kak_opt_fzf_tag_ant ;; - asciidoc) - additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t --expect alt-u --expect alt-a" - additional_message=$kak_opt_fzf_tag_asciidoc ;; - asm) - additional_keybindings="--expect alt-d --expect alt-l --expect alt-m --expect alt-t --expect alt-s" - additional_message=$kak_opt_fzf_tag_asm ;; - asp) - additional_keybindings="--expect alt-d --expect alt-c --expect alt-f --expect alt-s --expect alt-v" - additional_message=$kak_opt_fzf_tag_asp ;; - autoconf) - additional_keybindings="--expect alt-p --expect alt-t --expect alt-m --expect alt-w --expect alt-e --expect alt-s --expect alt-c --expect alt-d" - additional_message=$kak_opt_fzf_tag_autoconf ;; - autoit) - additional_keybindings="--expect alt-f --expect alt-r --expect alt-g --expect alt-l --expect ctrl-alt-s" - additional_message=$kak_opt_fzf_tag_autoit ;; - automake) - additional_keybindings="--expect alt-d --expect ctrl-alt-p --expect ctrl-alt-m --expect ctrl-alt-t --expect ctrl-alt-l --expect ctrl-alt-s --expect ctrl-alt-d --expect alt-c" - additional_message=$kak_opt_fzf_tag_automake ;; - awk) - additional_keybindings="--expect alt-f" - additional_message=$kak_opt_fzf_tag_awk ;; - basic) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-l --expect alt-t --expect alt-v --expect alt-g" - additional_message=$kak_opt_fzf_tag_basic ;; - beta) - additional_keybindings="--expect alt-f --expect alt-p --expect alt-s --expect alt-v" - additional_message=$kak_opt_fzf_tag_beta ;; - clojure) - additional_keybindings="--expect alt-f --expect alt-n" - additional_message=$kak_opt_fzf_tag_clojure ;; - cmake) - additional_keybindings="--expect alt-f --expect alt-m --expect alt-t --expect alt-v --expect ctrl-alt-d --expect alt-p --expect alt-r" - additional_message=$kak_opt_fzf_tag_cmake ;; - c) - additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l" - additional_message=$kak_opt_fzf_tag_c ;; - cpp) - additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l --expect alt-c --expect alt-n --expect ctrl-alt-a --expect ctrl-alt-n --expect ctrl-alt-u" - additional_message=$kak_opt_fzf_tag_cpp ;; - cpreprocessor) - additional_keybindings="--expect alt-d --expect alt-h" - additional_message=$kak_opt_fzf_tag_cpreprocessor ;; - css) - additional_keybindings="--expect alt-c --expect alt-s --expect alt-i" - additional_message=$kak_opt_fzf_tag_css ;; - csharp) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect ctrl-alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-n --expect alt-p --expect alt-s --expect alt-t" - additional_message=$kak_opt_fzf_tag_csharp ;; - ctags) - additional_keybindings="--expect alt-l --expect alt-k" - additional_message=$kak_opt_fzf_tag_ctags ;; - cobol) - additional_keybindings="--expect alt-p --expect alt-d --expect ctrl-alt-s --expect ctrl-alt-F --expect alt-g --expect ctrl-alt-p --expect alt-s --expect ctrl-alt-d" - additional_message=$kak_opt_fzf_tag_cobol ;; - cuda) - additional_keybindings="--expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-z --expect ctrl-alt-l" - additional_message=$kak_opt_fzf_tag_cuda ;; - d) - additional_keybindings="--expect alt-a --expect alt-c --expect alt-g --expect alt-e --expect alt-x --expect alt-f --expect alt-i --expect alt-l --expect alt-m --expect ctrl-alt-x --expect ctrl-alt-m --expect alt-n --expect alt-p --expect alt-s --expect ctrl-alt-t --expect alt-u --expect alt-v --expect ctrl-alt-v" - additional_message=$kak_opt_fzf_tag_d ;; - diff) - additional_keybindings="--expect alt-m --expect alt-n --expect alt-d --expect alt-h" - additional_message=$kak_opt_fzf_tag_diff ;; - dtd) - additional_keybindings="--expect ctrl-alt-e --expect alt-p --expect alt-e --expect alt-a --expect alt-n" - additional_message=$kak_opt_fzf_tag_dtd ;; - dts) - additional_keybindings="--expect alt-p --expect alt-l --expect alt-r" - additional_message=$kak_opt_fzf_tag_dts ;; - dosbatch) - additional_keybindings="--expect alt-l --expect alt-v" - additional_message=$kak_opt_fzf_tag_dosbatch ;; - eiffel) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-l" - additional_message=$kak_opt_fzf_tag_eiffel ;; - elm) - additional_keybindings="--expect ctrl-alt-M --expect ctrl-alt-N --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-C --expect ctrl-alt-A --expect ctrl-alt-F" - additional_message=$kak_opt_fzf_tag_elm ;; - erlang) - additional_keybindings="--expect alt-d --expect alt-f --expect alt-m --expect alt-r --expect alt-t" - additional_message=$kak_opt_fzf_tag_erlang ;; - falcon) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-i" - additional_message=$kak_opt_fzf_tag_falcon ;; - flex) - additional_keybindings="--expect alt-f --expect alt-c --expect alt-m --expect alt-p --expect alt-v --expect alt-x" - additional_message=$kak_opt_fzf_tag_flex ;; - fortran) - additional_keybindings="--expect alt-b --expect alt-c --expect alt-e --expect ctrl-alt-e --expect alt-f --expect alt-i --expect alt-k --expect alt-l --expect ctrl-alt-l --expect alt-m --expect ctrl-alt-m --expect alt-n --expect ctrl-alt-n --expect alt-p --expect ctrl-alt-p --expect alt-s --expect alt-t --expect alt-v --expect ctrl-alt-s" - additional_message=$kak_opt_fzf_tag_fortran ;; - fypp) - additional_keybindings="--expect alt-m" - additional_message=$kak_opt_fzf_tag_fypp ;; - gdbinit) - additional_keybindings="--expect alt-d --expect ctrl-alt-d --expect alt-t --expect alt-l" - additional_message=$kak_opt_fzf_tag_gdbinit ;; - go) - additional_keybindings="--expect alt-p --expect alt-f --expect alt-c --expect alt-t --expect alt-v --expect alt-s --expect alt-i --expect alt-m --expect ctrl-alt-m --expect alt-u --expect ctrl-alt-p" - additional_message=$kak_opt_fzf_tag_go ;; - html) - additional_keybindings="--expect alt-a --expect ctrl-alt-H --expect ctrl-alt-I --expect ctrl-alt-J" - additional_message=$kak_opt_fzf_tag_html ;; - iniconf) - additional_keybindings="--expect alt-s --expect alt-k" - additional_message=$kak_opt_fzf_tag_iniconf ;; - itcl) - additional_keybindings="--expect alt-c --expect alt-m --expect alt-v --expect ctrl-alt-c --expect alt-p" - additional_message=$kak_opt_fzf_tag_itcl ;; - java) - additional_keybindings="--expect alt-a --expect alt-c --expect alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-p" - additional_message=$kak_opt_fzf_tag_java ;; - javaproperties) - additional_keybindings="--expect alt-k" - additional_message=$kak_opt_fzf_tag_javaproperties ;; - javascript) - additional_keybindings="--expect alt-f --expect alt-c --expect alt-m --expect alt-p --expect ctrl-alt-c --expect alt-v --expect alt-g" - additional_message=$kak_opt_fzf_tag_javascript ;; - json) - additional_keybindings="--expect alt-o --expect alt-a --expect alt-n --expect alt-s --expect alt-b --expect alt-z" - additional_message=$kak_opt_fzf_tag_json ;; - ldscript) - additional_keybindings="--expect ctrl-alt-s --expect alt-s --expect alt-v --expect alt-i" - additional_message=$kak_opt_fzf_tag_ldscript ;; - lisp) - additional_keybindings="--expect alt-f" - additional_message=$kak_opt_fzf_tag_lisp ;; - lua) - additional_keybindings="--expect alt-f" - additional_message=$kak_opt_fzf_tag_lua ;; - m4) - additional_keybindings="--expect alt-d --expect ctrl-alt-i" - additional_message=$kak_opt_fzf_tag_m4 ;; - man) - additional_keybindings="--expect alt-t --expect alt-s" - additional_message=$kak_opt_fzf_tag_man ;; - make) - additional_keybindings="--expect alt-m --expect alt-t --expect ctrl-alt-i" - additional_message=$kak_opt_fzf_tag_make ;; - markdown) - additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t --expect alt-u --expect alt-r" - additional_message=$kak_opt_fzf_tag_markdown ;; - matlab) - additional_keybindings="--expect alt-f --expect alt-v --expect alt-c" - additional_message=$kak_opt_fzf_tag_matlab ;; - myrddin) - additional_keybindings="--expect alt-f --expect alt-c --expect alt-v --expect alt-t --expect alt-r --expect alt-p" - additional_message=$kak_opt_fzf_tag_myrddin ;; - objectivec) - additional_keybindings="--expect alt-i --expect ctrl-alt-i --expect ctrl-alt-p --expect ctrl-alt-M --expect ctrl-alt-C --expect ctrl-alt-V --expect ctrl-alt-e --expect ctrl-alt-F --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-S --expect ctrl-alt-E --expect ctrl-alt-m" - additional_message=$kak_opt_fzf_tag_objectivec ;; - ocaml) - additional_keybindings="--expect alt-c --expect ctrl-alt-M --expect ctrl-alt-m --expect ctrl-alt-V --expect ctrl-alt-P --expect ctrl-alt-T --expect ctrl-alt-F --expect ctrl-alt-c --expect ctrl-alt-R --expect ctrl-alt-E" - additional_message=$kak_opt_fzf_tag_ocaml ;; - passwd) - additional_keybindings="--expect alt-u" - additional_message=$kak_opt_fzf_tag_passwd ;; - pascal) - additional_keybindings="--expect alt-f --expect alt-p" - additional_message=$kak_opt_fzf_tag_pascal ;; - perl) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-l --expect alt-p --expect alt-s --expect alt-d" - additional_message=$kak_opt_fzf_tag_perl ;; - perl6) - additional_keybindings="--expect alt-c --expect alt-g --expect alt-m --expect alt-o --expect alt-p --expect alt-r --expect alt-u --expect alt-b --expect alt-s --expect alt-t" - additional_message=$kak_opt_fzf_tag_perl6 ;; - php) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect alt-i --expect alt-l --expect alt-n --expect alt-t --expect alt-v --expect alt-a" - additional_message=$kak_opt_fzf_tag_php ;; - pod) - additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t" - additional_message=$kak_opt_fzf_tag_pod ;; - protobuf) - additional_keybindings="--expect alt-p --expect alt-m --expect alt-f --expect alt-e --expect alt-g --expect alt-s --expect ctrl-alt-R" - additional_message=$kak_opt_fzf_tag_protobuf ;; - puppetmanifest) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-n --expect alt-r --expect alt-v" - additional_message=$kak_opt_fzf_tag_puppetmanifest ;; - python) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect ctrl-alt-i --expect alt-i --expect alt-x --expect alt-z --expect alt-l" - additional_message=$kak_opt_fzf_tag_python ;; - pythonloggingconfig) - additional_keybindings="--expect ctrl-alt-l --expect alt-q" - additional_message=$kak_opt_fzf_tag_pythonloggingconfig ;; - qemuhx) - additional_keybindings="--expect ctrl-alt-Q --expect alt-i" - additional_message=$kak_opt_fzf_tag_qemuhx ;; - qtmoc) - additional_keybindings="--expect alt-s --expect ctrl-alt-s --expect alt-p" - additional_message=$kak_opt_fzf_tag_qtmoc ;; - r) - additional_keybindings="--expect alt-f --expect alt-l --expect alt-s --expect alt-g --expect alt-v" - additional_message=$kak_opt_fzf_tag_r ;; - rspec) - additional_keybindings="--expect alt-d --expect alt-c" - additional_message=$kak_opt_fzf_tag_rspec ;; - rexx) - additional_keybindings="--expect alt-s" - additional_message=$kak_opt_fzf_tag_rexx ;; - robot) - additional_keybindings="--expect alt-t --expect alt-k --expect alt-v" - additional_message=$kak_opt_fzf_tag_robot ;; - rpmspec) - additional_keybindings="--expect alt-t --expect alt-m --expect alt-p --expect alt-g" - additional_message=$kak_opt_fzf_tag_rpmspec ;; - restructuredtext) - additional_keybindings="--expect alt-c --expect alt-s --expect ctrl-alt-s --expect alt-t --expect ctrl-alt-t" - additional_message=$kak_opt_fzf_tag_restructuredtext ;; - ruby) - additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect ctrl-alt-s" - additional_message=$kak_opt_fzf_tag_ruby ;; - rust) - additional_keybindings="--expect alt-n --expect alt-s --expect alt-i --expect alt-c --expect ctrl-alt-F --expect ctrl-alt-G --expect ctrl-alt-T --expect ctrl-alt-V --expect ctrl-alt-m --expect ctrl-alt-M --expect ctrl-alt-E --expect ctrl-alt-p" - additional_message=$kak_opt_fzf_tag_rust ;; - scheme) - additional_keybindings="--expect alt-f --expect alt-s" - additional_message=$kak_opt_fzf_tag_scheme ;; - sh) - additional_keybindings="--expect alt-a --expect alt-f --expect alt-s --expect alt-h" - additional_message=$kak_opt_fzf_tag_sh ;; - slang) - additional_keybindings="--expect alt-f --expect alt-n" - additional_message=$kak_opt_fzf_tag_slang ;; - sml) - additional_keybindings="--expect alt-e --expect alt-f --expect alt-c --expect alt-s --expect alt-r --expect alt-t --expect alt-v" - additional_message=$kak_opt_fzf_tag_sml ;; - sql) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect ctrl-alt-e --expect alt-l --expect ctrl-alt-l --expect ctrl-alt-p --expect alt-p --expect alt-r --expect alt-s --expect alt-t --expect ctrl-alt-t --expect alt-v --expect alt-i --expect alt-e --expect ctrl-alt-u --expect ctrl-alt-r --expect ctrl-alt-d --expect ctrl-alt-v --expect alt-n --expect ctrl-alt-X --expect ctrl-alt-Y --expect ctrl-alt-Z" - additional_message=$kak_opt_fzf_tag_sql ;; - systemdunit) - additional_keybindings="--expect alt-u" - additional_message=$kak_opt_fzf_tag_systemdunit ;; - tcl) - additional_keybindings="--expect alt-p --expect alt-n" - additional_message=$kak_opt_fzf_tag_tcl ;; - tcloo) - additional_keybindings="--expect alt-c --expect alt-m" - additional_message=$kak_opt_fzf_tag_tcloo ;; - tex) - additional_keybindings="--expect alt-p --expect alt-c --expect alt-s --expect alt-u --expect alt-b --expect ctrl-alt-p --expect ctrl-alt-g --expect alt-l --expect alt-i" - additional_message=$kak_opt_fzf_tag_tex ;; - ttcn) - additional_keybindings="--expect ctrl-alt-m --expect alt-t --expect alt-c --expect alt-d --expect alt-f --expect alt-s --expect ctrl-alt-c --expect alt-a --expect ctrl-alt-g --expect ctrl-alt-p --expect alt-v --expect ctrl-alt-t --expect alt-p --expect alt-m --expect alt-e" - additional_message=$kak_opt_fzf_tag_ttcn ;; - vera) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-i --expect alt-l --expect alt-m --expect alt-p --expect ctrl-alt-p --expect alt-s --expect alt-t --expect ctrl-alt-t --expect alt-v --expect alt-x --expect alt-h" - additional_message=$kak_opt_fzf_tag_vera ;; - verilog) - additional_keybindings="--expect alt-c --expect alt-e --expect alt-f --expect alt-m --expect alt-n --expect alt-p --expect alt-r --expect alt-t --expect alt-b" - additional_message=$kak_opt_fzf_tag_verilog ;; - systemverilog) - additional_keybindings="--expect alt-c --expect alt-e --expect alt-f --expect alt-m --expect alt-n --expect alt-p --expect alt-r --expect alt-t --expect alt-b --expect ctrl-alt-a --expect ctrl-alt-c --expect ctrl-alt-v --expect ctrl-alt-e --expect ctrl-alt-i --expect ctrl-alt-m --expect ctrl-alt-k --expect ctrl-alt-p --expect ctrl-alt-q --expect ctrl-alt-r --expect ctrl-alt-s --expect ctrl-alt-t" - additional_message=$kak_opt_fzf_tag_systemverilog ;; - vhdl) - additional_keybindings="--expect alt-c --expect alt-t --expect ctrl-alt-t --expect alt-r --expect alt-e --expect ctrl-alt-c --expect alt-d --expect alt-f --expect alt-p --expect ctrl-alt-p --expect alt-l" - additional_message=$kak_opt_fzf_tag_vhdl ;; - vim) - additional_keybindings="--expect alt-a --expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-n" - additional_message=$kak_opt_fzf_tag_vim ;; - windres) - additional_keybindings="--expect alt-d --expect alt-m --expect alt-i --expect alt-b --expect alt-c --expect alt-f --expect alt-v --expect alt-a" - additional_message=$kak_opt_fzf_tag_windres ;; - yacc) - additional_keybindings="--expect alt-l" - additional_message=$kak_opt_fzf_tag_yacc ;; - yumrepo) - additional_keybindings="--expect alt-r" - additional_message=$kak_opt_fzf_tag_yumrepo ;; - zephir) - additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect alt-i --expect alt-l --expect alt-n --expect alt-t --expect alt-v --expect alt-a" - additional_message=$kak_opt_fzf_tag_zephir ;; - dbusintrospect) - additional_keybindings="--expect alt-i --expect alt-m --expect alt-s --expect alt-p" - additional_message=$kak_opt_fzf_tag_dbusintrospect ;; - glade) - additional_keybindings="--expect alt-i --expect alt-c --expect alt-h" - additional_message=$kak_opt_fzf_tag_glade ;; - maven2) - additional_keybindings="--expect alt-g --expect alt-a --expect alt-p --expect alt-r" - additional_message=$kak_opt_fzf_tag_maven2 ;; - plistxml) - additional_keybindings="--expect alt-k" - additional_message=$kak_opt_fzf_tag_plistxml ;; - relaxng) - additional_keybindings="--expect alt-e --expect alt-a --expect alt-n" - additional_message=$kak_opt_fzf_tag_relaxng ;; - svg) - additional_keybindings="--expect alt-i" - additional_message=$kak_opt_fzf_tag_svg ;; - xslt) - additional_keybindings="--expect alt-s --expect alt-p --expect alt-m --expect alt-n --expect alt-v" - additional_message=$kak_opt_fzf_tag_xslt ;; - yaml) - additional_keybindings="--expect alt-a" - additional_message=$kak_opt_fzf_tag_yaml ;; - ansibleplaybook) - additional_keybindings="--expect alt-p" - additional_message=$kak_opt_fzf_tag_ansibleplaybook ;; - *) - additional_keybindings= - additional_message= - ;; - esac - - if [ ! -z "$1" ]; then - mode=$(echo "$additional_message" | grep ":" | awk '{$1=""; print}' | sed "s/\(.*\)/:\1/") - cmd="readtags -Q '(eq? \$kind $1)' -l | cut -f1" - else - cmd="readtags -l | cut -f1" - fi - - [ ! -z "${kak_client_env_TMUX}" ] && tmux_keybindings=" -: open tag in horizontal split -: open tag in vertical split" - - message="Jump to a symbol''s definition -: open tag in new buffer -: open tag in new window" - - [ ! -z "$additional_message" ] && message="$message $tmux_keybindings - -Additional filters for $kak_opt_filetype filetype: $additional_message" - - echo "info -title 'fzf tag$mode' '$message'" - - [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" - - echo "fzf %{ctags-search \$1} %{$cmd} %{--expect ctrl-w $additional_flags $additional_keybindings}" -}} -