1
0
Fork 0

support extended tags for x11

This commit is contained in:
Andrey Orst 2018-10-13 23:28:39 +03:00
parent ee6de84137
commit 9f5a028112

View file

@ -10,7 +10,6 @@
try %{ declare-user-mode fzf } catch %{echo -markup "{Error}Can't declare mode 'fzf' - already exists"} 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"} try %{ declare-user-mode fzf-vcs } catch %{echo -markup "{Error}Can't declare mode 'fzf-vcs' - already exists"}
try %{ declare-user-mode fzf-tag } catch %{echo -markup "{Error}Can't declare mode 'fzf-tag' - already exists"}
# Options # Options
declare-option -docstring "command to provide list of files to fzf. Arguments are supported declare-option -docstring "command to provide list of files to fzf. Arguments are supported
@ -114,29 +113,13 @@ map global fzf -docstring "open file" 'f' '<esc>: fzf-file<re
map global fzf -docstring "edit file from vcs repo" 'v' '<esc>: fzf-vcs<ret>' map global fzf -docstring "edit file from vcs repo" 'v' '<esc>: fzf-vcs<ret>'
map global fzf -docstring "svitch to vcs selection mode" 'V' '<esc>: fzf-vcs-mode<ret>' map global fzf -docstring "svitch to vcs selection mode" 'V' '<esc>: fzf-vcs-mode<ret>'
map global fzf -docstring "search in buffer" 's' '<esc>: fzf-buffer-search<ret>' map global fzf -docstring "search in buffer" 's' '<esc>: fzf-buffer-search<ret>'
map global fzf -docstring "find tag" 't' '<esc>: fzf-tag<ret>' map global fzf -docstring "find tag" 't' '<esc>: fzf-tag-kind<ret>'
map global fzf -docstring "find tag" 'T' '<esc>: fzf-tag-mode<ret>'
map global fzf-vcs -docstring "edit file from Git tree" 'g' '<esc>: fzf-git<ret>' map global fzf-vcs -docstring "edit file from Git tree" 'g' '<esc>: fzf-git<ret>'
map global fzf-vcs -docstring "edit file from Subversion tree" 's' '<esc>: fzf-svn<ret>' map global fzf-vcs -docstring "edit file from Subversion tree" 's' '<esc>: fzf-svn<ret>'
map global fzf-vcs -docstring "edit file from mercurial tree" 'h' '<esc>: fzf-hg<ret>' map global fzf-vcs -docstring "edit file from mercurial tree" 'h' '<esc>: fzf-hg<ret>'
map global fzf-vcs -docstring "edit file from GNU Bazaar tree" 'b' '<esc>: fzf-bzr<ret>' map global fzf-vcs -docstring "edit file from GNU Bazaar tree" 'b' '<esc>: fzf-bzr<ret>'
declare-option -docstring "fzf tag kind filter for functions" \
str fzf_tag_function_kind "f"
declare-option -docstring "fzf tag kind filter for members" \
str fzf_tag_member_kind "m"
declare-option -docstring "fzf tag kind filter for variables" \
str fzf_tag_variable_kind "v"
declare-option -docstring "fzf tag kind filter for includes" \
str fzf_tag_include_kind "h"
declare-option -docstring "fzf tag kind filter for structures" \
str fzf_tag_structure_kind "s"
declare-option -docstring "fzf tag kind filter for classes" \
str fzf_tag_class_kind "c"
declare-option -docstring "fzf tag kind filter for namespacess" \
str fzf_tag_namespaces_kind "c"
# Commands # Commands
define-command -docstring "Enter fzf-mode. define-command -docstring "Enter fzf-mode.
fzf-mode contains mnemonic key bindings for every fzf.kak command fzf-mode contains mnemonic key bindings for every fzf.kak command
@ -154,14 +137,6 @@ Best used with mapping like:
" \ " \
fzf-vcs-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-vcs' } } fzf-vcs-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-vcs' } }
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 '<some key>' ': fzf-mode<ret>'
" \
fzf-tag-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-tag' } }
define-command -hidden fzf-file %{ evaluate-commands %sh{ define-command -hidden fzf-file %{ evaluate-commands %sh{
if [ -z $(command -v $kak_opt_fzf_file_command) ]; then 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'''" echo "echo -markup '{Information}''$kak_opt_fzf_file_command'' is not installed. Falling back to ''find'''"
@ -275,28 +250,6 @@ define-command -hidden fzf-bzr %{ evaluate-commands %sh{
eval echo 'fzf \"edit \$1\" \"$cmd\" \"-m --expect ctrl-w $additional_flags\"' eval echo 'fzf \"edit \$1\" \"$cmd\" \"-m --expect ctrl-w $additional_flags\"'
}} }}
define-command -hidden fzf-tag %{ evaluate-commands %sh{
case $kak_opt_fzf_tag_command in
readtags)
cmd="readtags -l | cut -f1" ;;
readtags*)
cmd=$kak_opt_fzf_tag_command ;;
*)
echo "echo -markup '{Information}$kak_opt_fzf_tag_command is not supported by the script. fzf.kak may not work as you expect."
cmd=$kak_opt_fzf_tag_command ;;
esac
title="fzf tag"
[ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings="
<c-s>: open tag in horizontal split
<c-v>: open tag in vertical split"
message="Jump to a symbol''s definition.<ret>: open tag in new buffer.
<c-w>: open tag in new window $additional_keybindings"
echo "info -title '$title' '$message'"
[ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s"
eval echo 'fzf \"ctags-search \$1\" \"$cmd\" \"--expect ctrl-w $additional_flags\"'
}}
define-command -hidden fzf-cd %{ define-command -hidden fzf-cd %{
evaluate-commands %sh{ evaluate-commands %sh{
title="fzf change directory" title="fzf change directory"
@ -452,13 +405,10 @@ declare-option -hidden -docstring "Set of mappings for Ada filetype" \
str fzf_tag_ada " str fzf_tag_ada "
<a-P>: package specifications <a-P>: package specifications
<a-p>: packages <a-p>: packages
<a-T>: type specifications [off]
<a-t>: types <a-t>: types
<a-U>: subtype specifications [off]
<a-u>: subtypes <a-u>: subtypes
<a-c>: record type components <a-c>: record type components
<a-l>: enum type literals <a-l>: enum type literals
<a-V>: variable specifications [off]
<a-v>: variables <a-v>: variables
<a-f>: generic formal parameters <a-f>: generic formal parameters
<a-n>: constants <a-n>: constants
@ -469,12 +419,9 @@ str fzf_tag_ada "
<a-k>: tasks <a-k>: tasks
<a-O>: protected data specifications <a-O>: protected data specifications
<a-o>: protected data <a-o>: protected data
<a-E>: task/protected data entry specifications [off]
<a-e>: task/protected data entries <a-e>: task/protected data entries
<a-b>: labels <a-b>: labels
<a-i>: loop/declare identifiers <a-i>: loop/declare identifiers
<a-a>: automatic variables [off]
<a-y>: loops and blocks with no identifier [off]
<a-S>: (ctags internal use)" <a-S>: (ctags internal use)"
declare-option -hidden -docstring "Set of mappings for Ant filetype" \ declare-option -hidden -docstring "Set of mappings for Ant filetype" \
@ -556,7 +503,6 @@ str fzf_tag_basic "
declare-option -hidden -docstring "Set of mappings for BETA filetype" \ declare-option -hidden -docstring "Set of mappings for BETA filetype" \
str fzf_tag_beta " str fzf_tag_beta "
<a-f>: fragment definitions <a-f>: fragment definitions
<a-p>: all patterns [off]
<a-s>: slots (fragment uses) <a-s>: slots (fragment uses)
<a-v>: patterns (virtual or rebound)" <a-v>: patterns (virtual or rebound)"
@ -582,16 +528,11 @@ str fzf_tag_c "
<a-f>: function definitions <a-f>: function definitions
<a-g>: enumeration names <a-g>: enumeration names
<a-h>: included header files <a-h>: included header files
<a-l>: local variables [off]
<a-m>: struct, and union members <a-m>: struct, and union members
<a-p>: function prototypes [off]
<a-s>: structure names <a-s>: structure names
<a-t>: typedefs <a-t>: typedefs
<a-u>: union names <a-u>: union names
<a-v>: variable definitions <a-v>: variable definitions"
<a-x>: external and forward variable declarations [off]
<a-z>: function parameters inside function definitions [off]
<a-L>: goto labels [off]"
declare-option -hidden -docstring "Set of mappings for C++ filetype" \ declare-option -hidden -docstring "Set of mappings for C++ filetype" \
str fzf_tag_cpp " str fzf_tag_cpp "
@ -600,21 +541,13 @@ str fzf_tag_cpp "
<a-f>: function definitions <a-f>: function definitions
<a-g>: enumeration names <a-g>: enumeration names
<a-h>: included header files <a-h>: included header files
<a-l>: local variables [off]
<a-m>: class, struct, and union members <a-m>: class, struct, and union members
<a-p>: function prototypes [off]
<a-s>: structure names <a-s>: structure names
<a-t>: typedefs <a-t>: typedefs
<a-u>: union names <a-u>: union names
<a-v>: variable definitions <a-v>: variable definitions
<a-x>: external and forward variable declarations [off]
<a-z>: function parameters inside function definitions [off]
<a-L>: goto labels [off]
<a-c>: classes <a-c>: classes
<a-n>: namespaces <a-n>: namespaces"
<a-A>: namespace aliases [off]
<a-N>: names imported via using scope::symbol [off]
<a-U>: using namespace statements [off]"
declare-option -hidden -docstring "Set of mappings for CPreProcessor filetype" \ declare-option -hidden -docstring "Set of mappings for CPreProcessor filetype" \
str fzf_tag_cpreprocessor " str fzf_tag_cpreprocessor "
@ -636,7 +569,6 @@ str fzf_tag_csharp "
<a-f>: fields <a-f>: fields
<a-g>: enumeration names <a-g>: enumeration names
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-m>: methods <a-m>: methods
<a-n>: namespaces <a-n>: namespaces
<a-p>: properties <a-p>: properties
@ -666,16 +598,11 @@ str fzf_tag_cuda "
<a-f>: function definitions <a-f>: function definitions
<a-g>: enumeration names <a-g>: enumeration names
<a-h>: included header files <a-h>: included header files
<a-l>: local variables [off]
<a-m>: struct, and union members <a-m>: struct, and union members
<a-p>: function prototypes [off]
<a-s>: structure names <a-s>: structure names
<a-t>: typedefs <a-t>: typedefs
<a-u>: union names <a-u>: union names
<a-v>: variable definitions <a-v>: variable definitions"
<a-x>: external and forward variable declarations [off]
<a-z>: function parameters inside function definitions [off]
<a-L>: goto labels [off]"
declare-option -hidden -docstring "Set of mappings for D filetype" \ declare-option -hidden -docstring "Set of mappings for D filetype" \
str fzf_tag_d " str fzf_tag_d "
@ -683,15 +610,12 @@ str fzf_tag_d "
<a-c>: classes <a-c>: classes
<a-g>: enumeration names <a-g>: enumeration names
<a-e>: enumerators (values inside an enumeration) <a-e>: enumerators (values inside an enumeration)
<a-x>: external variable declarations [off]
<a-f>: function definitions <a-f>: function definitions
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-m>: class, struct, and union members <a-m>: class, struct, and union members
<a-X>: mixins <a-X>: mixins
<a-M>: modules <a-M>: modules
<a-n>: namespaces <a-n>: namespaces
<a-p>: function prototypes [off]
<a-s>: structure names <a-s>: structure names
<a-T>: templates <a-T>: templates
<a-u>: union names <a-u>: union names
@ -727,8 +651,7 @@ str fzf_tag_dosbatch "
declare-option -hidden -docstring "Set of mappings for Eiffel filetype" \ declare-option -hidden -docstring "Set of mappings for Eiffel filetype" \
str fzf_tag_eiffel " str fzf_tag_eiffel "
<a-c>: classes <a-c>: classes
<a-f>: features <a-f>: features"
<a-l>: local entities [off]"
declare-option -hidden -docstring "Set of mappings for Elm filetype" \ declare-option -hidden -docstring "Set of mappings for Elm filetype" \
str fzf_tag_elm " str fzf_tag_elm "
@ -775,13 +698,11 @@ str fzf_tag_fortran "
<a-i>: interface contents, generic names, and operators <a-i>: interface contents, generic names, and operators
<a-k>: type and structure components <a-k>: type and structure components
<a-l>: labels <a-l>: labels
<a-L>: local, common block, and namelist variables [off]
<a-m>: modules <a-m>: modules
<a-M>: type bound procedures <a-M>: type bound procedures
<a-n>: namelists <a-n>: namelists
<a-N>: enumeration values <a-N>: enumeration values
<a-p>: programs <a-p>: programs
<a-P>: subprogram prototypes [off]
<a-s>: subroutines <a-s>: subroutines
<a-t>: derived types and structures <a-t>: derived types and structures
<a-v>: program (global) and module variables <a-v>: program (global) and module variables
@ -794,9 +715,7 @@ str fzf_tag_fypp "
declare-option -hidden -docstring "Set of mappings for Gdbinit filetype" \ declare-option -hidden -docstring "Set of mappings for Gdbinit filetype" \
str fzf_tag_gdbinit " str fzf_tag_gdbinit "
<a-d>: definitions <a-d>: definitions
<a-D>: documents [off] <a-t>: toplevel variables"
<a-t>: toplevel variables
<a-l>: local variables [off]"
declare-option -hidden -docstring "Set of mappings for Go filetype" \ declare-option -hidden -docstring "Set of mappings for Go filetype" \
str fzf_tag_go " str fzf_tag_go "
@ -840,7 +759,6 @@ str fzf_tag_java "
<a-f>: fields <a-f>: fields
<a-g>: enum types <a-g>: enum types
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-m>: methods <a-m>: methods
<a-p>: packages" <a-p>: packages"
@ -939,44 +857,6 @@ str fzf_tag_objectivec "
<a-e>: An enumeration <a-e>: An enumeration
<a-M>: <a-A>: preprocessor macro" <a-M>: <a-A>: preprocessor macro"
declare-option -hidden -docstring "Set of mappings for OldC++ [disabled] filetype" \
str fzf_tag_oldc++ [disabled] "
<a-c>: classes
<a-d>: macro definitions
<a-e>: enumerators (values inside an enumeration)
<a-f>: function definitions
<a-g>: enumeration names
<a-h>: included header files
<a-l>: local variables [off]
<a-m>: class, struct, and union members
<a-n>: namespaces
<a-p>: function prototypes [off]
<a-s>: structure names
<a-t>: typedefs
<a-u>: union names
<a-v>: variable definitions
<a-x>: external and forward variable declarations [off]
<a-L>: goto label [off]"
declare-option -hidden -docstring "Set of mappings for OldC [disabled] filetype" \
str fzf_tag_oldc [disabled] "
<a-c>: classes
<a-d>: macro definitions
<a-e>: enumerators (values inside an enumeration)
<a-f>: function definitions
<a-g>: enumeration names
<a-h>: included header files
<a-l>: local variables [off]
<a-m>: class, struct, and union members
<a-n>: namespaces
<a-p>: function prototypes [off]
<a-s>: structure names
<a-t>: typedefs
<a-u>: union names
<a-v>: variable definitions
<a-x>: external and forward variable declarations [off]
<a-L>: goto label [off]"
declare-option -hidden -docstring "Set of mappings for OCaml filetype" \ declare-option -hidden -docstring "Set of mappings for OCaml filetype" \
str fzf_tag_ocaml " str fzf_tag_ocaml "
<a-c>: classes <a-c>: classes
@ -1005,8 +885,7 @@ str fzf_tag_perl "
<a-f>: formats <a-f>: formats
<a-l>: labels <a-l>: labels
<a-p>: packages <a-p>: packages
<a-s>: subroutines <a-s>: subroutines"
<a-d>: subroutine declarations [off]"
declare-option -hidden -docstring "Set of mappings for Perl6 filetype" \ declare-option -hidden -docstring "Set of mappings for Perl6 filetype" \
str fzf_tag_perl6 " str fzf_tag_perl6 "
@ -1027,7 +906,6 @@ str fzf_tag_php "
<a-d>: constant definitions <a-d>: constant definitions
<a-f>: functions <a-f>: functions
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-n>: namespaces <a-n>: namespaces
<a-t>: traits <a-t>: traits
<a-v>: variables <a-v>: variables
@ -1047,8 +925,7 @@ str fzf_tag_protobuf "
<a-f>: fields <a-f>: fields
<a-e>: enum constants <a-e>: enum constants
<a-g>: enum types <a-g>: enum types
<a-s>: services <a-s>: services"
<a-r>: RPC methods [off]"
declare-option -hidden -docstring "Set of mappings for PuppetManifest filetype" \ declare-option -hidden -docstring "Set of mappings for PuppetManifest filetype" \
str fzf_tag_puppetmanifest " str fzf_tag_puppetmanifest "
@ -1066,9 +943,7 @@ str fzf_tag_python "
<a-v>: variables <a-v>: variables
<a-I>: name referring <a-a>: module defined in other file <a-I>: name referring <a-a>: module defined in other file
<a-i>: modules <a-i>: modules
<a-x>: name referring <a-a>: class/variable/function/module defined in other module <a-x>: name referring <a-a>: class/variable/function/module defined in other module"
<a-z>: function parameters [off]
<a-l>: local variables [off]"
declare-option -hidden -docstring "Set of mappings for PythonLoggingConfig filetype" \ declare-option -hidden -docstring "Set of mappings for PythonLoggingConfig filetype" \
str fzf_tag_pythonloggingconfig " str fzf_tag_pythonloggingconfig "
@ -1176,14 +1051,11 @@ str fzf_tag_sml "
declare-option -hidden -docstring "Set of mappings for SQL filetype" \ declare-option -hidden -docstring "Set of mappings for SQL filetype" \
str fzf_tag_sql " str fzf_tag_sql "
<a-c>: cursors <a-c>: cursors
<a-d>: prototypes [off]
<a-f>: functions <a-f>: functions
<a-E>: record fields <a-E>: record fields
<a-l>: local variables [off]
<a-L>: block label <a-L>: block label
<a-P>: packages <a-P>: packages
<a-p>: procedures <a-p>: procedures
<a-r>: records [off]
<a-s>: subtypes <a-s>: subtypes
<a-t>: tables <a-t>: tables
<a-T>: triggers <a-T>: triggers
@ -1251,15 +1123,12 @@ str fzf_tag_vera "
<a-f>: function definitions <a-f>: function definitions
<a-g>: enumeration names <a-g>: enumeration names
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-m>: class, struct, and union members <a-m>: class, struct, and union members
<a-p>: programs <a-p>: programs
<a-P>: function prototypes [off]
<a-s>: signals <a-s>: signals
<a-t>: tasks <a-t>: tasks
<a-T>: typedefs <a-T>: typedefs
<a-v>: variable definitions <a-v>: variable definitions
<a-x>: external variable declarations [off]
<a-h>: included header files" <a-h>: included header files"
declare-option -hidden -docstring "Set of mappings for Verilog filetype" \ declare-option -hidden -docstring "Set of mappings for Verilog filetype" \
@ -1293,7 +1162,6 @@ str fzf_tag_systemverilog "
<a-M>: modports <a-M>: modports
<a-K>: packages <a-K>: packages
<a-P>: programs <a-P>: programs
<a-Q>: prototypes [off]
<a-R>: properties <a-R>: properties
<a-S>: structs and unions <a-S>: structs and unions
<a-T>: type declarations" <a-T>: type declarations"
@ -1305,12 +1173,9 @@ str fzf_tag_vhdl "
<a-T>: subtype definitions <a-T>: subtype definitions
<a-r>: record names <a-r>: record names
<a-e>: entity declarations <a-e>: entity declarations
<a-C>: component declarations [off]
<a-d>: prototypes [off]
<a-f>: function prototypes and declarations <a-f>: function prototypes and declarations
<a-p>: procedure prototypes and declarations <a-p>: procedure prototypes and declarations
<a-P>: package definitions <a-P>: package definitions"
<a-l>: local definitions [off]"
declare-option -hidden -docstring "Set of mappings for Vim filetype" \ declare-option -hidden -docstring "Set of mappings for Vim filetype" \
str fzf_tag_vim " str fzf_tag_vim "
@ -1346,7 +1211,6 @@ str fzf_tag_zephir "
<a-d>: constant definitions <a-d>: constant definitions
<a-f>: functions <a-f>: functions
<a-i>: interfaces <a-i>: interfaces
<a-l>: local variables [off]
<a-n>: namespaces <a-n>: namespaces
<a-t>: traits <a-t>: traits
<a-v>: variables <a-v>: variables
@ -1402,127 +1266,398 @@ declare-option -hidden -docstring "Set of mappings for AnsiblePlaybook filetype"
str fzf_tag_ansibleplaybook " str fzf_tag_ansibleplaybook "
<a-p>: plays" <a-p>: plays"
define-command -hidden fzf-tag-kind -params 1 %{ evaluate-commands %sh{ define-command -hidden fzf-tag-kind -params ..1 %{ evaluate-commands %sh{
case $1 in case $kak_opt_filetype in
readtags*) ada)
cmd=$1 ;; additional_keybindings="--expect alt-P --expect alt-p --expect alt-T --expect alt-t --expect alt-U --expect alt-u --expect alt-c --expect alt-l --expect alt-V --expect alt-v --expect alt-f --expect alt-n --expect alt-x --expect alt-R --expect alt-r --expect alt-K --expect alt-k --expect alt-O --expect alt-o --expect alt-E --expect alt-e --expect alt-b --expect alt-i --expect alt-a --expect alt-y --expect alt-S"
additional_message=$kak_opt_fzf_tag_ada ;;
ant)
additional_keybindings="--expect alt-p --expect alt-t --expect alt-P --expect alt-i"
additional_message=$kak_opt_fzf_tag_ant ;;
asciidoc)
additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t --expect 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 alt-S"
additional_message=$kak_opt_fzf_tag_autoit ;;
automake)
additional_keybindings="--expect alt-d --expect alt-P --expect alt-M --expect alt-T --expect alt-L --expect alt-S --expect 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 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 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 alt-L --expect alt-c --expect alt-n --expect alt-A --expect alt-N --expect 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 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 alt-S --expect alt-f --expect alt-g --expect alt-P --expect alt-s --expect 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 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 alt-X --expect alt-M --expect alt-n --expect alt-p --expect alt-s --expect alt-T --expect alt-u --expect alt-v --expect alt-V"
additional_message=$kak_opt_fzf_tag_d ;;
ddtd)
additional_keybindings="--expect 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 ;;
eelm)
additional_keybindings="--expect alt-m --expect alt-n --expect alt-p --expect alt-t --expect alt-c --expect alt-a --expect 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 alt-E --expect alt-f --expect alt-i --expect alt-k --expect alt-l --expect alt-L --expect alt-m --expect alt-M --expect alt-n --expect alt-N --expect alt-p --expect alt-P --expect alt-s --expect alt-t --expect alt-v --expect 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 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 alt-M --expect alt-u --expect alt-P"
additional_message=$kak_opt_fzf_tag_go ;;
html)
additional_keybindings="--expect alt-a --expect alt-h --expect alt-i --expect 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 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 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 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 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 alt-I"
additional_message=$kak_opt_fzf_tag_make ;;
markdown)
additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t --expect 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 alt-I --expect alt-P --expect alt-m --expect alt-c --expect alt-v --expect alt-E --expect alt-f --expect alt-p --expect alt-t --expect alt-s --expect alt-e --expect alt-M"
additional_message=$kak_opt_fzf_tag_objectivec ;;
ocaml)
additional_keybindings="--expect alt-c --expect alt-m --expect alt-M --expect alt-v --expect alt-p --expect alt-t --expect alt-f --expect alt-C --expect alt-r --expect 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 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 alt-r"
additional_message=$kak_opt_fzf_tag_protobuf ;;
puppetmanpython)
additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect 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 alt-L --expect alt-q"
additional_message=$kak_opt_fzf_tag_pythonloggingconfig ;;
qemuhx)
additional_keybindings="--expect alt-q --expect alt-i"
additional_message=$kak_opt_fzf_tag_qemuhx ;;
qtmoc)
additional_keybindings="--expect alt-s --expect 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 alt-S --expect alt-t --expect alt-T"
additional_message=$kak_opt_fzf_tag_restructuredtext ;;
ruby)
additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect 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 alt-f --expect alt-g --expect alt-t --expect alt-v --expect alt-M --expect alt-m --expect alt-e --expect 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 alt-E --expect alt-l --expect alt-L --expect alt-P --expect alt-p --expect alt-r --expect alt-s --expect alt-t --expect alt-T --expect alt-v --expect alt-i --expect alt-e --expect alt-U --expect alt-R --expect alt-D --expect alt-V --expect alt-n --expect alt-x --expect alt-y --expect 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 alt-P --expect alt-G --expect alt-l --expect alt-i"
additional_message=$kak_opt_fzf_tag_tex ;;
ttcn)
additional_keybindings="--expect alt-M --expect alt-t --expect alt-c --expect alt-d --expect alt-f --expect alt-s --expect alt-C --expect alt-a --expect alt-G --expect alt-P --expect alt-v --expect 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 alt-P --expect alt-s --expect alt-t --expect 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 alt-A --expect alt-C --expect alt-V --expect alt-E --expect alt-I --expect alt-M --expect alt-K --expect alt-P --expect alt-Q --expect alt-R --expect alt-S --expect alt-T"
additional_message=$kak_opt_fzf_tag_systemverilog ;;
vhdl)
additional_keybindings="--expect alt-c --expect alt-t --expect alt-T --expect alt-r --expect alt-e --expect alt-C --expect alt-d --expect alt-f --expect alt-p --expect 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 ;;
*) *)
cmd="readtags -Q \\\"(eq? \\\$kind \\\"$1\\\")\\\" -l | cut -f1" ;; additional_keybindings=
additional_message=
;;
esac esac
echo "echo -debug %{$cmd}"
title="fzf tag kind $1" if [ ! -z "$1" ]; then
cmd="readtags -Q '(eq? \$kind $1)' -l | cut -f1"
else
cmd="readtags -l | cut -f1"
fi
[ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings=" [ ! -z "${kak_client_env_TMUX}" ] && additional_keybindings="
<c-s>: open tag in horizontal split <c-s>: open tag in horizontal split
<c-v>: open tag in vertical split" <c-v>: open tag in vertical split"
message="Jump to a symbol''s definition.<ret>: open tag in new buffer. message="Jump to a symbol''s definition.<ret>: open tag in new buffer.
<c-w>: open tag in new window $additional_keybindings" <c-w>: open tag in new window"
if [ "$kak_opt_filetype" = "ada" ]; then additional_keybindings="--expect alt-P --expect alt-p --expect alt-T --expect alt-t --expect alt-U --expect alt-u --expect alt-c --expect alt-l --expect alt-V --expect alt-v --expect alt-f --expect alt-n --expect alt-x --expect alt-R --expect alt-r --expect alt-K --expect alt-k --expect alt-O --expect alt-o --expect alt-E --expect alt-e --expect alt-b --expect alt-i --expect alt-a --expect alt-y --expect alt-S"; additional_message=$kak_opt_fzf_tag_ada ; fi
if [ "$kak_opt_filetype" = "ant" ]; then additional_keybindings="--expect alt-p --expect alt-t --expect alt-P --expect alt-i"; additional_message=$kak_opt_fzf_tag_ant ; fi [ ! -z "$additional_message" ] && message="$message
if [ "$kak_opt_filetype" = "asciidoc" ]; then additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t --expect alt-T --expect alt-u --expect alt-a"; additional_message=$kak_opt_fzf_tag_asciidoc ; fi
if [ "$kak_opt_filetype" = "asm" ]; then additional_keybindings="--expect alt-d --expect alt-l --expect alt-m --expect alt-t --expect alt-s"; additional_message=$kak_opt_fzf_tag_asm ; fi Additional filters for $kak_opt_filetype: $additional_message"
if [ "$kak_opt_filetype" = "asp" ]; then additional_keybindings="--expect alt-d --expect alt-c --expect alt-f --expect alt-s --expect alt-v"; additional_message=$kak_opt_fzf_tag_asp ; fi
if [ "$kak_opt_filetype" = "autoconf" ]; then 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 ; fi echo "info -title 'fzf tag' '$message'"
if [ "$kak_opt_filetype" = "autoit" ]; then additional_keybindings="--expect alt-f --expect alt-r --expect alt-g --expect alt-l --expect alt-S"; additional_message=$kak_opt_fzf_tag_autoit ; fi
if [ "$kak_opt_filetype" = "automake" ]; then additional_keybindings="--expect alt-d --expect alt-P --expect alt-M --expect alt-T --expect alt-L --expect alt-S --expect alt-D --expect alt-c"; additional_message=$kak_opt_fzf_tag_automake ; fi
if [ "$kak_opt_filetype" = "awk" ]; then additional_keybindings="--expect alt-f"; additional_message=$kak_opt_fzf_tag_awk ; fi
if [ "$kak_opt_filetype" = "basic" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "beta" ]; then additional_keybindings="--expect alt-f --expect alt-p --expect alt-s --expect alt-v"; additional_message=$kak_opt_fzf_tag_beta ; fi
if [ "$kak_opt_filetype" = "clojure" ]; then additional_keybindings="--expect alt-f --expect alt-n"; additional_message=$kak_opt_fzf_tag_clojure ; fi
if [ "$kak_opt_filetype" = "cmake" ]; then additional_keybindings="--expect alt-f --expect alt-m --expect alt-t --expect alt-v --expect alt-D --expect alt-p --expect alt-r"; additional_message=$kak_opt_fzf_tag_cmake ; fi
if [ "$kak_opt_filetype" = "c" ]; then 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 alt-L"; additional_message=$kak_opt_fzf_tag_c ; fi
if [ "$kak_opt_filetype" = "cpp" ]; then 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 alt-L --expect alt-c --expect alt-n --expect alt-A --expect alt-N --expect alt-U"; additional_message=$kak_opt_fzf_tag_cpp ; fi
if [ "$kak_opt_filetype" = "cpreprocessor" ]; then additional_keybindings="--expect alt-d --expect alt-h"; additional_message=$kak_opt_fzf_tag_cpreprocessor ; fi
if [ "$kak_opt_filetype" = "css" ]; then additional_keybindings="--expect alt-c --expect alt-s --expect alt-i"; additional_message=$kak_opt_fzf_tag_css ; fi
if [ "$kak_opt_filetype" = "csharp" ]; then additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect 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 ; fi
if [ "$kak_opt_filetype" = "ctags" ]; then additional_keybindings="--expect alt-l --expect alt-k"; additional_message=$kak_opt_fzf_tag_ctags ; fi
if [ "$kak_opt_filetype" = "cobol" ]; then additional_keybindings="--expect alt-p --expect alt-d --expect alt-S --expect alt-f --expect alt-g --expect alt-P --expect alt-s --expect alt-D"; additional_message=$kak_opt_fzf_tag_cobol ; fi
if [ "$kak_opt_filetype" = "cuda" ]; then 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 alt-L"; additional_message=$kak_opt_fzf_tag_cuda ; fi
if [ "$kak_opt_filetype" = "d" ]; then 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 alt-X --expect alt-M --expect alt-n --expect alt-p --expect alt-s --expect alt-T --expect alt-u --expect alt-v --expect alt-V"; additional_message=$kak_opt_fzf_tag_d ; fi
if [ "$kak_opt_filetype" = "diff" ]; then additional_keybindings="--expect alt-m --expect alt-n --expect alt-d --expect alt-h"; additional_message=$kak_opt_fzf_tag_diff ; fi
if [ "$kak_opt_filetype" = "dtd" ]; then additional_keybindings="--expect alt-E --expect alt-p --expect alt-e --expect alt-a --expect alt-n"; additional_message=$kak_opt_fzf_tag_dtd ; fi
if [ "$kak_opt_filetype" = "dts" ]; then additional_keybindings="--expect alt-p --expect alt-l --expect alt-r"; additional_message=$kak_opt_fzf_tag_dts ; fi
if [ "$kak_opt_filetype" = "dosbatch" ]; then additional_keybindings="--expect alt-l --expect alt-v"; additional_message=$kak_opt_fzf_tag_dosbatch ; fi
if [ "$kak_opt_filetype" = "eiffel" ]; then additional_keybindings="--expect alt-c --expect alt-f --expect alt-l"; additional_message=$kak_opt_fzf_tag_eiffel ; fi
if [ "$kak_opt_filetype" = "elm" ]; then additional_keybindings="--expect alt-m --expect alt-n --expect alt-p --expect alt-t --expect alt-c --expect alt-a --expect alt-f"; additional_message=$kak_opt_fzf_tag_elm ; fi
if [ "$kak_opt_filetype" = "erlang" ]; then additional_keybindings="--expect alt-d --expect alt-f --expect alt-m --expect alt-r --expect alt-t"; additional_message=$kak_opt_fzf_tag_erlang ; fi
if [ "$kak_opt_filetype" = "falcon" ]; then additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-i"; additional_message=$kak_opt_fzf_tag_falcon ; fi
if [ "$kak_opt_filetype" = "flex" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "fortran" ]; then additional_keybindings="--expect alt-b --expect alt-c --expect alt-e --expect alt-E --expect alt-f --expect alt-i --expect alt-k --expect alt-l --expect alt-L --expect alt-m --expect alt-M --expect alt-n --expect alt-N --expect alt-p --expect alt-P --expect alt-s --expect alt-t --expect alt-v --expect alt-S"; additional_message=$kak_opt_fzf_tag_fortran ; fi
if [ "$kak_opt_filetype" = "fypp" ]; then additional_keybindings="--expect alt-m"; additional_message=$kak_opt_fzf_tag_fypp ; fi
if [ "$kak_opt_filetype" = "gdbinit" ]; then additional_keybindings="--expect alt-d --expect alt-D --expect alt-t --expect alt-l"; additional_message=$kak_opt_fzf_tag_gdbinit ; fi
if [ "$kak_opt_filetype" = "go" ]; then 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 alt-M --expect alt-u --expect alt-P"; additional_message=$kak_opt_fzf_tag_go ; fi
if [ "$kak_opt_filetype" = "html" ]; then additional_keybindings="--expect alt-a --expect alt-h --expect alt-i --expect alt-j"; additional_message=$kak_opt_fzf_tag_html ; fi
if [ "$kak_opt_filetype" = "iniconf" ]; then additional_keybindings="--expect alt-s --expect alt-k"; additional_message=$kak_opt_fzf_tag_iniconf ; fi
if [ "$kak_opt_filetype" = "itcl" ]; then additional_keybindings="--expect alt-c --expect alt-m --expect alt-v --expect alt-C --expect alt-p"; additional_message=$kak_opt_fzf_tag_itcl ; fi
if [ "$kak_opt_filetype" = "java" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "javaproperties" ]; then additional_keybindings="--expect alt-k"; additional_message=$kak_opt_fzf_tag_javaproperties ; fi
if [ "$kak_opt_filetype" = "javascript" ]; then additional_keybindings="--expect alt-f --expect alt-c --expect alt-m --expect alt-p --expect alt-C --expect alt-v --expect alt-g"; additional_message=$kak_opt_fzf_tag_javascript ; fi
if [ "$kak_opt_filetype" = "json" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "ldscript" ]; then additional_keybindings="--expect alt-S --expect alt-s --expect alt-v --expect alt-i"; additional_message=$kak_opt_fzf_tag_ldscript ; fi
if [ "$kak_opt_filetype" = "lisp" ]; then additional_keybindings="--expect alt-f"; additional_message=$kak_opt_fzf_tag_lisp ; fi
if [ "$kak_opt_filetype" = "lua" ]; then additional_keybindings="--expect alt-f"; additional_message=$kak_opt_fzf_tag_lua ; fi
if [ "$kak_opt_filetype" = "m4" ]; then additional_keybindings="--expect alt-d --expect alt-I"; additional_message=$kak_opt_fzf_tag_m4 ; fi
if [ "$kak_opt_filetype" = "man" ]; then additional_keybindings="--expect alt-t --expect alt-s"; additional_message=$kak_opt_fzf_tag_man ; fi
if [ "$kak_opt_filetype" = "make" ]; then additional_keybindings="--expect alt-m --expect alt-t --expect alt-I"; additional_message=$kak_opt_fzf_tag_make ; fi
if [ "$kak_opt_filetype" = "markdown" ]; then additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t --expect alt-T --expect alt-u --expect alt-r"; additional_message=$kak_opt_fzf_tag_markdown ; fi
if [ "$kak_opt_filetype" = "matlab" ]; then additional_keybindings="--expect alt-f --expect alt-v --expect alt-c"; additional_message=$kak_opt_fzf_tag_matlab ; fi
if [ "$kak_opt_filetype" = "myrddin" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "objectivec" ]; then additional_keybindings="--expect alt-i --expect alt-I --expect alt-P --expect alt-m --expect alt-c --expect alt-v --expect alt-E --expect alt-f --expect alt-p --expect alt-t --expect alt-s --expect alt-e --expect alt-M"; additional_message=$kak_opt_fzf_tag_objectivec ; fi
if [ "$kak_opt_filetype" = "oldc++ [disabled]" ]; then additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-n --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-L"; additional_message=$kak_opt_fzf_tag_oldc++ [disabled] ; fi
if [ "$kak_opt_filetype" = "oldc [disabled]" ]; then additional_keybindings="--expect alt-c --expect alt-d --expect alt-e --expect alt-f --expect alt-g --expect alt-h --expect alt-l --expect alt-m --expect alt-n --expect alt-p --expect alt-s --expect alt-t --expect alt-u --expect alt-v --expect alt-x --expect alt-L"; additional_message=$kak_opt_fzf_tag_oldc [disabled] ; fi
if [ "$kak_opt_filetype" = "ocaml" ]; then additional_keybindings="--expect alt-c --expect alt-m --expect alt-M --expect alt-v --expect alt-p --expect alt-t --expect alt-f --expect alt-C --expect alt-r --expect alt-e"; additional_message=$kak_opt_fzf_tag_ocaml ; fi
if [ "$kak_opt_filetype" = "passwd" ]; then additional_keybindings="--expect alt-u"; additional_message=$kak_opt_fzf_tag_passwd ; fi
if [ "$kak_opt_filetype" = "pascal" ]; then additional_keybindings="--expect alt-f --expect alt-p"; additional_message=$kak_opt_fzf_tag_pascal ; fi
if [ "$kak_opt_filetype" = "perl" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "perl6" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "php" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "pod" ]; then additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t"; additional_message=$kak_opt_fzf_tag_pod ; fi
if [ "$kak_opt_filetype" = "protobuf" ]; then additional_keybindings="--expect alt-p --expect alt-m --expect alt-f --expect alt-e --expect alt-g --expect alt-s --expect alt-r"; additional_message=$kak_opt_fzf_tag_protobuf ; fi
if [ "$kak_opt_filetype" = "puppetmanifest" ]; then additional_keybindings="--expect alt-c --expect alt-d --expect alt-n --expect alt-r --expect alt-v"; additional_message=$kak_opt_fzf_tag_puppetmanifest ; fi
if [ "$kak_opt_filetype" = "python" ]; then additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-v --expect alt-I --expect alt-i --expect alt-x --expect alt-z --expect alt-l"; additional_message=$kak_opt_fzf_tag_python ; fi
if [ "$kak_opt_filetype" = "pythonloggingconfig" ]; then additional_keybindings="--expect alt-L --expect alt-q"; additional_message=$kak_opt_fzf_tag_pythonloggingconfig ; fi
if [ "$kak_opt_filetype" = "qemuhx" ]; then additional_keybindings="--expect alt-q --expect alt-i"; additional_message=$kak_opt_fzf_tag_qemuhx ; fi
if [ "$kak_opt_filetype" = "qtmoc" ]; then additional_keybindings="--expect alt-s --expect alt-S --expect alt-p"; additional_message=$kak_opt_fzf_tag_qtmoc ; fi
if [ "$kak_opt_filetype" = "r" ]; then additional_keybindings="--expect alt-f --expect alt-l --expect alt-s --expect alt-g --expect alt-v"; additional_message=$kak_opt_fzf_tag_r ; fi
if [ "$kak_opt_filetype" = "rspec" ]; then additional_keybindings="--expect alt-d --expect alt-c"; additional_message=$kak_opt_fzf_tag_rspec ; fi
if [ "$kak_opt_filetype" = "rexx" ]; then additional_keybindings="--expect alt-s"; additional_message=$kak_opt_fzf_tag_rexx ; fi
if [ "$kak_opt_filetype" = "robot" ]; then additional_keybindings="--expect alt-t --expect alt-k --expect alt-v"; additional_message=$kak_opt_fzf_tag_robot ; fi
if [ "$kak_opt_filetype" = "rpmspec" ]; then additional_keybindings="--expect alt-t --expect alt-m --expect alt-p --expect alt-g"; additional_message=$kak_opt_fzf_tag_rpmspec ; fi
if [ "$kak_opt_filetype" = "restructuredtext" ]; then additional_keybindings="--expect alt-c --expect alt-s --expect alt-S --expect alt-t --expect alt-T"; additional_message=$kak_opt_fzf_tag_restructuredtext ; fi
if [ "$kak_opt_filetype" = "ruby" ]; then additional_keybindings="--expect alt-c --expect alt-f --expect alt-m --expect alt-S"; additional_message=$kak_opt_fzf_tag_ruby ; fi
if [ "$kak_opt_filetype" = "rust" ]; then additional_keybindings="--expect alt-n --expect alt-s --expect alt-i --expect alt-c --expect alt-f --expect alt-g --expect alt-t --expect alt-v --expect alt-M --expect alt-m --expect alt-e --expect alt-P"; additional_message=$kak_opt_fzf_tag_rust ; fi
if [ "$kak_opt_filetype" = "scheme" ]; then additional_keybindings="--expect alt-f --expect alt-s"; additional_message=$kak_opt_fzf_tag_scheme ; fi
if [ "$kak_opt_filetype" = "sh" ]; then additional_keybindings="--expect alt-a --expect alt-f --expect alt-s --expect alt-h"; additional_message=$kak_opt_fzf_tag_sh ; fi
if [ "$kak_opt_filetype" = "slang" ]; then additional_keybindings="--expect alt-f --expect alt-n"; additional_message=$kak_opt_fzf_tag_slang ; fi
if [ "$kak_opt_filetype" = "sml" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "sql" ]; then additional_keybindings="--expect alt-c --expect alt-d --expect alt-f --expect alt-E --expect alt-l --expect alt-L --expect alt-P --expect alt-p --expect alt-r --expect alt-s --expect alt-t --expect alt-T --expect alt-v --expect alt-i --expect alt-e --expect alt-U --expect alt-R --expect alt-D --expect alt-V --expect alt-n --expect alt-x --expect alt-y --expect alt-z"; additional_message=$kak_opt_fzf_tag_sql ; fi
if [ "$kak_opt_filetype" = "systemdunit" ]; then additional_keybindings="--expect alt-u"; additional_message=$kak_opt_fzf_tag_systemdunit ; fi
if [ "$kak_opt_filetype" = "tcl" ]; then additional_keybindings="--expect alt-p --expect alt-n"; additional_message=$kak_opt_fzf_tag_tcl ; fi
if [ "$kak_opt_filetype" = "tcloo" ]; then additional_keybindings="--expect alt-c --expect alt-m"; additional_message=$kak_opt_fzf_tag_tcloo ; fi
if [ "$kak_opt_filetype" = "tex" ]; then additional_keybindings="--expect alt-p --expect alt-c --expect alt-s --expect alt-u --expect alt-b --expect alt-P --expect alt-G --expect alt-l --expect alt-i"; additional_message=$kak_opt_fzf_tag_tex ; fi
if [ "$kak_opt_filetype" = "ttcn" ]; then additional_keybindings="--expect alt-M --expect alt-t --expect alt-c --expect alt-d --expect alt-f --expect alt-s --expect alt-C --expect alt-a --expect alt-G --expect alt-P --expect alt-v --expect alt-T --expect alt-p --expect alt-m --expect alt-e"; additional_message=$kak_opt_fzf_tag_ttcn ; fi
if [ "$kak_opt_filetype" = "vera" ]; then 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 alt-P --expect alt-s --expect alt-t --expect alt-T --expect alt-v --expect alt-x --expect alt-h"; additional_message=$kak_opt_fzf_tag_vera ; fi
if [ "$kak_opt_filetype" = "verilog" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "systemverilog" ]; then 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 alt-A --expect alt-C --expect alt-V --expect alt-E --expect alt-I --expect alt-M --expect alt-K --expect alt-P --expect alt-Q --expect alt-R --expect alt-S --expect alt-T"; additional_message=$kak_opt_fzf_tag_systemverilog ; fi
if [ "$kak_opt_filetype" = "vhdl" ]; then additional_keybindings="--expect alt-c --expect alt-t --expect alt-T --expect alt-r --expect alt-e --expect alt-C --expect alt-d --expect alt-f --expect alt-p --expect alt-P --expect alt-l"; additional_message=$kak_opt_fzf_tag_vhdl ; fi
if [ "$kak_opt_filetype" = "vim" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "windres" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "yacc" ]; then additional_keybindings="--expect alt-l"; additional_message=$kak_opt_fzf_tag_yacc ; fi
if [ "$kak_opt_filetype" = "yumrepo" ]; then additional_keybindings="--expect alt-r"; additional_message=$kak_opt_fzf_tag_yumrepo ; fi
if [ "$kak_opt_filetype" = "zephir" ]; then 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 ; fi
if [ "$kak_opt_filetype" = "dbusintrospect" ]; then additional_keybindings="--expect alt-i --expect alt-m --expect alt-s --expect alt-p"; additional_message=$kak_opt_fzf_tag_dbusintrospect ; fi
if [ "$kak_opt_filetype" = "glade" ]; then additional_keybindings="--expect alt-i --expect alt-c --expect alt-h"; additional_message=$kak_opt_fzf_tag_glade ; fi
if [ "$kak_opt_filetype" = "maven2" ]; then additional_keybindings="--expect alt-g --expect alt-a --expect alt-p --expect alt-r"; additional_message=$kak_opt_fzf_tag_maven2 ; fi
if [ "$kak_opt_filetype" = "plistxml" ]; then additional_keybindings="--expect alt-k"; additional_message=$kak_opt_fzf_tag_plistxml ; fi
if [ "$kak_opt_filetype" = "relaxng" ]; then additional_keybindings="--expect alt-e --expect alt-a --expect alt-n"; additional_message=$kak_opt_fzf_tag_relaxng ; fi
if [ "$kak_opt_filetype" = "svg" ]; then additional_keybindings="--expect alt-i"; additional_message=$kak_opt_fzf_tag_svg ; fi
if [ "$kak_opt_filetype" = "xslt" ]; then additional_keybindings="--expect alt-s --expect alt-p --expect alt-m --expect alt-n --expect alt-v"; additional_message=$kak_opt_fzf_tag_xslt ; fi
if [ "$kak_opt_filetype" = "yaml" ]; then additional_keybindings="--expect alt-a"; additional_message=$kak_opt_fzf_tag_yaml ; fi
if [ "$kak_opt_filetype" = "ansibleplaybook" ]; then additional_keybindings="--expect alt-p"; additional_message=$kak_opt_fzf_tag_ansibleplaybook ; fi
echo "info -title '$title' '$message'"
[ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s" [ ! -z "${kak_client_env_TMUX}" ] && additional_flags="--expect ctrl-v --expect ctrl-s"
eval echo 'fzf \"ctags-search \$1\" \"$cmd\" \"--expect ctrl-w $additional_flags\"'
eval echo 'fzf-tag \"ctags-search \$1\" \"$cmd\" \"--expect ctrl-w $additional_keybindings $additional_flags\"'
}} }}
nop %sh{ define-command -hidden fzf-tag -params 2..3 %{ evaluate-commands %sh{
} callback=$1
items_command=$2
additional_flags=$3
items_executable=$(echo $items_command | awk '{print $1}' | tr '(' ' ' | cut -d " " -f 2)
if [ -z $(command -v $items_executable) ]; then
echo "fail \'$items_executable' executable not found"
exit
fi
tmp=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-fzf.XXXXXX))
exec=$(mktemp $(eval echo ${TMPDIR:-/tmp}/kak-exec.XXXXXX))
if [ ! -z "${kak_client_env_TMUX}" ]; then
cmd="$items_command | fzf-tmux -d $kak_opt_fzf_tmux_height --expect ctrl-q $additional_flags > $tmp"
elif [ ! -z "${kak_opt_termcmd}" ]; then
path=$(pwd)
case $items_command in
*Q*)
items_command=$(echo $items_command | sed 's:$kind \(\w\):\\\$kind \\\\\\"\1\\\\\\":')
;;
esac
cmd="$kak_opt_termcmd \"sh -c \\\"cd $path && $items_command | fzf --expect ctrl-q $additional_flags > $tmp\\\"\""
else
echo "fail termcmd option is not set"
exit
fi
(
eval "$cmd"
if [ -s $tmp ]; then
(
read action
case $action in
"ctrl-w")
wincmd="x11-new "
[ ! -z "${kak_client_env_TMUX}" ] && wincmd="tmux-new-window "
callback="$wincmd$callback"
echo "echo evaluate-commands -client $kak_client \"$callback\" | kak -p $kak_session" > $exec
;;
ctrl-s)
wincmd="tmux-new-vertical "
callback="$wincmd$callback"
echo "echo evaluate-commands -client $kak_client \"$callback\" | kak -p $kak_session" > $exec
;;
ctrl-v)
wincmd="tmux-new-horizontal "
callback="$wincmd$callback"
echo "echo evaluate-commands -client $kak_client \"$callback\" | kak -p $kak_session" > $exec
;;
alt-*)
kind="${action##*-}"
echo "echo evaluate-commands -client $kak_client \"fzf-tag-kind $kind\" | kak -p $kak_session" > $exec
;;
*)
echo "echo evaluate-commands -client $kak_client \"$callback\" | kak -p $kak_session" > $exec
;;
esac
chmod 755 $exec
while read file; do
$exec "\'$file'"
done
) < $tmp
fi
rm $tmp
rm $exec
) > /dev/null 2>&1 < /dev/null &
}}