diff --git a/rc/fzf.kak b/rc/fzf.kak index 61ad143..b4b3efc 100644 --- a/rc/fzf.kak +++ b/rc/fzf.kak @@ -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-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 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' ': fzf-file: 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 -docstring "find tag" 'T' ': fzf-tag-mode' +map global fzf -docstring "find tag" 't' ': fzf-tag-kind' 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' -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 define-command -docstring "Enter fzf-mode. 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' } } -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-tag-mode %{ try %{ evaluate-commands 'enter-user-mode fzf-tag' } } - 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'''" @@ -275,28 +250,6 @@ define-command -hidden fzf-bzr %{ evaluate-commands %sh{ 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=" -: 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 $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 %{ evaluate-commands %sh{ title="fzf change directory" @@ -450,1079 +403,1261 @@ define-command -hidden fzf-buffer %{ evaluate-commands %sh{ declare-option -hidden -docstring "Set of mappings for Ada filetype" \ str fzf_tag_ada " - : package specifications - : packages - : type specifications [off] - : types - : subtype specifications [off] - : subtypes - : record type components - : enum type literals - : variable specifications [off] - : variables - : generic formal parameters - : constants - : user defined exceptions - : subprogram specifications - : subprograms - : task specifications - : tasks - : protected data specifications - : protected data - : task/protected data entry specifications [off] - : task/protected data entries - : labels - : loop/declare identifiers - : automatic variables [off] - : loops and blocks with no identifier [off] - : (ctags internal use)" +: 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 "Set of mappings for Ant filetype" \ str fzf_tag_ant " - : projects - : targets - : properties(global) - : antfiles" +: projects +: targets +: properties(global) +: antfiles" declare-option -hidden -docstring "Set of mappings for Asciidoc filetype" \ str fzf_tag_asciidoc " - : chapters - : sections - : level : sections - : level : sections - : level : sections - : level : sections - : anchors" +: chapters +: sections +: level : sections +: level : sections +: level : sections +: level : sections +: anchors" declare-option -hidden -docstring "Set of mappings for Asm filetype" \ str fzf_tag_asm " - : defines - : labels - : macros - : types (structs and records) - : sections" +: defines +: labels +: macros +: types (structs and records) +: sections" declare-option -hidden -docstring "Set of mappings for Asp filetype" \ str fzf_tag_asp " - : constants - : classes - : functions - : subroutines - : variables" +: constants +: classes +: functions +: subroutines +: variables" declare-option -hidden -docstring "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" +: packages +: templates +: autoconf macros +: options specified with --with-... +: options specified with --enable-... +: substitution keys +: automake conditions +: definitions" declare-option -hidden -docstring "Set of mappings for AutoIt filetype" \ str fzf_tag_autoit " - : functions - : regions - : global variables - : local variables - : included scripts" +: functions +: regions +: global variables +: local variables +: included scripts" declare-option -hidden -docstring "Set of mappings for Automake filetype" \ str fzf_tag_automake " - : directories - : programs - : manuals - : ltlibraries - : libraries - : scripts - : datum - : conditions" +: directories +: programs +: manuals +: ltlibraries +: libraries +: scripts +: datum +: conditions" declare-option -hidden -docstring "Set of mappings for Awk filetype" \ str fzf_tag_awk " - : functions" +: functions" declare-option -hidden -docstring "Set of mappings for Basic filetype" \ str fzf_tag_basic " - : constants - : functions - : labels - : types - : variables - : enumerations" +: constants +: functions +: labels +: types +: variables +: enumerations" declare-option -hidden -docstring "Set of mappings for BETA filetype" \ str fzf_tag_beta " - : fragment definitions - : all patterns [off] - : slots (fragment uses) - : patterns (virtual or rebound)" +: fragment definitions +: slots (fragment uses) +: patterns (virtual or rebound)" declare-option -hidden -docstring "Set of mappings for Clojure filetype" \ str fzf_tag_clojure " - : functions - : namespaces" +: functions +: namespaces" declare-option -hidden -docstring "Set of mappings for CMake filetype" \ str fzf_tag_cmake " - : functions - : macros - : targets - : variable definitions - : options specified with -D - : projects - : regex" +: functions +: macros +: targets +: variable definitions +: options specified with -D +: projects +: regex" declare-option -hidden -docstring "Set of mappings for C filetype" \ str fzf_tag_c " - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : included header files - : local variables [off] - : struct, and union members - : function prototypes [off] - : structure names - : typedefs - : union names - : variable definitions - : external and forward variable declarations [off] - : function parameters inside function definitions [off] - : goto labels [off]" +: 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 "Set of mappings for C++ filetype" \ str fzf_tag_cpp " - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : included header files - : local variables [off] - : class, struct, and union members - : function prototypes [off] - : structure names - : typedefs - : union names - : variable definitions - : external and forward variable declarations [off] - : function parameters inside function definitions [off] - : goto labels [off] - : classes - : namespaces - : namespace aliases [off] - : names imported via using scope::symbol [off] - : using namespace statements [off]" +: 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 "Set of mappings for CPreProcessor filetype" \ str fzf_tag_cpreprocessor " - : macro definitions - : included header files" +: macro definitions +: included header files" declare-option -hidden -docstring "Set of mappings for CSS filetype" \ str fzf_tag_css " - : classes - : selectors - : identities" +: classes +: selectors +: identities" declare-option -hidden -docstring "Set of mappings for C# filetype" \ str fzf_tag_csharp " - : classes - : macro definitions - : enumerators (values inside an enumeration) - : events - : fields - : enumeration names - : interfaces - : local variables [off] - : methods - : namespaces - : properties - : structure names - : typedefs" +: classes +: macro definitions +: enumerators (values inside an enumeration) +: events +: fields +: enumeration names +: interfaces +: methods +: namespaces +: properties +: structure names +: typedefs" declare-option -hidden -docstring "Set of mappings for Ctags filetype" \ str fzf_tag_ctags " - : language definitions - : kind definitions" +: language definitions +: kind definitions" declare-option -hidden -docstring "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" +: paragraphs +: data items +: source code file +: file descriptions (FD, SD, RD) +: group items +: program ids +: sections +: divisions" declare-option -hidden -docstring "Set of mappings for CUDA filetype" \ str fzf_tag_cuda " - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : included header files - : local variables [off] - : struct, and union members - : function prototypes [off] - : structure names - : typedefs - : union names - : variable definitions - : external and forward variable declarations [off] - : function parameters inside function definitions [off] - : goto labels [off]" +: 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 "Set of mappings for D filetype" \ str fzf_tag_d " - : aliases - : classes - : enumeration names - : enumerators (values inside an enumeration) - : external variable declarations [off] - : function definitions - : interfaces - : local variables [off] - : class, struct, and union members - : mixins - : modules - : namespaces - : function prototypes [off] - : structure names - : templates - : union names - : variable definitions - : version statements" +: 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 "Set of mappings for Diff filetype" \ str fzf_tag_diff " - : modified files - : newly created files - : deleted files - : hunks" +: modified files +: newly created files +: deleted files +: hunks" declare-option -hidden -docstring "Set of mappings for DTD filetype" \ str fzf_tag_dtd " - : entities - : parameter entities - : elements - : attributes - : notations" +: entities +: parameter entities +: elements +: attributes +: notations" declare-option -hidden -docstring "Set of mappings for DTS filetype" \ str fzf_tag_dts " - : phandlers - : labels - : regex" +: phandlers +: labels +: regex" declare-option -hidden -docstring "Set of mappings for DosBatch filetype" \ str fzf_tag_dosbatch " - : labels - : variables" +: labels +: variables" declare-option -hidden -docstring "Set of mappings for Eiffel filetype" \ str fzf_tag_eiffel " - : classes - : features - : local entities [off]" +: classes +: features" declare-option -hidden -docstring "Set of mappings for Elm filetype" \ str fzf_tag_elm " - : Module - : Renamed Imported Module - : Port - : Type Definition - : Type Constructor - : Type Alias - : Functions" +: Module +: Renamed Imported Module +: Port +: Type Definition +: Type Constructor +: Type Alias +: Functions" declare-option -hidden -docstring "Set of mappings for Erlang filetype" \ str fzf_tag_erlang " - : macro definitions - : functions - : modules - : record definitions - : type definitions" +: macro definitions +: functions +: modules +: record definitions +: type definitions" declare-option -hidden -docstring "Set of mappings for Falcon filetype" \ str fzf_tag_falcon " - : classes - : functions - : class members - : variables - : imports" +: classes +: functions +: class members +: variables +: imports" declare-option -hidden -docstring "Set of mappings for Flex filetype" \ str fzf_tag_flex " - : functions - : classes - : methods - : properties - : global variables - : mxtags" +: functions +: classes +: methods +: properties +: global variables +: mxtags" declare-option -hidden -docstring "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 - : local, common block, and namelist variables [off] - : modules - : type bound procedures - : namelists - : enumeration values - : programs - : subprogram prototypes [off] - : subroutines - : derived types and structures - : program (global) and module variables - : submodules" +: 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 "Set of mappings for Fypp filetype" \ str fzf_tag_fypp " - : macros" +: macros" declare-option -hidden -docstring "Set of mappings for Gdbinit filetype" \ str fzf_tag_gdbinit " - : definitions - : documents [off] - : toplevel variables - : local variables [off]" +: definitions +: toplevel variables" declare-option -hidden -docstring "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" +: packages +: functions +: constants +: types +: variables +: structs +: interfaces +: struct members +: struct anonymous members +: unknown +: name for specifying imported package" declare-option -hidden -docstring "Set of mappings for HTML filetype" \ str fzf_tag_html " - : named anchors - : H1 headings - : H2 headings - : H3 headings" +: named anchors +: H1 headings +: H2 headings +: H3 headings" declare-option -hidden -docstring "Set of mappings for Iniconf filetype" \ str fzf_tag_iniconf " - : sections - : keys" +: sections +: keys" declare-option -hidden -docstring "Set of mappings for ITcl filetype" \ str fzf_tag_itcl " - : classes - : methods - : object-specific variables - : common variables - : procedures within the class namespace" +: classes +: methods +: object-specific variables +: common variables +: procedures within the class namespace" declare-option -hidden -docstring "Set of mappings for Java filetype" \ str fzf_tag_java " - : annotation declarations - : classes - : enum constants - : fields - : enum types - : interfaces - : local variables [off] - : methods - : packages" +: annotation declarations +: classes +: enum constants +: fields +: enum types +: interfaces +: methods +: packages" declare-option -hidden -docstring "Set of mappings for JavaProperties filetype" \ str fzf_tag_javaproperties " - : keys" +: keys" declare-option -hidden -docstring "Set of mappings for JavaScript filetype" \ str fzf_tag_javascript " - : functions - : classes - : methods - : properties - : constants - : global variables - : generators" +: functions +: classes +: methods +: properties +: constants +: global variables +: generators" declare-option -hidden -docstring "Set of mappings for JSON filetype" \ str fzf_tag_json " - : objects - : arrays - : numbers - : strings - : booleans - : nulls" +: objects +: arrays +: numbers +: strings +: booleans +: nulls" declare-option -hidden -docstring "Set of mappings for LdScript filetype" \ str fzf_tag_ldscript " - : sections - : symbols - : versions - : input sections" +: sections +: symbols +: versions +: input sections" declare-option -hidden -docstring "Set of mappings for Lisp filetype" \ str fzf_tag_lisp " - : functions" +: functions" declare-option -hidden -docstring "Set of mappings for Lua filetype" \ str fzf_tag_lua " - : functions" +: functions" declare-option -hidden -docstring "Set of mappings for M4 filetype" \ str fzf_tag_m4 " - : macros - : macro files" +: macros +: macro files" declare-option -hidden -docstring "Set of mappings for Man filetype" \ str fzf_tag_man " - : titles - : sections" +: titles +: sections" declare-option -hidden -docstring "Set of mappings for Make filetype" \ str fzf_tag_make " - : macros - : targets - : makefiles" +: macros +: targets +: makefiles" declare-option -hidden -docstring "Set of mappings for Markdown filetype" \ str fzf_tag_markdown " - : chapsters - : sections - : subsections - : subsubsections - : level : subsections - : level : subsections - : regex" +: chapsters +: sections +: subsections +: subsubsections +: level : subsections +: level : subsections +: regex" declare-option -hidden -docstring "Set of mappings for MatLab filetype" \ str fzf_tag_matlab " - : function - : variable - : class" +: function +: variable +: class" declare-option -hidden -docstring "Set of mappings for Myrddin filetype" \ str fzf_tag_myrddin " - : functions - : constants - : variables - : types - : traits - : packages" +: functions +: constants +: variables +: types +: traits +: packages" declare-option -hidden -docstring "Set of mappings for ObjectiveC filetype" \ str fzf_tag_objectivec " - : class interface - : class implementation - : Protocol - : Object's method - : Class' method - : Global variable - : Object field - : : function - : : property - : : type alias - : : type structure - : An enumeration - : : preprocessor macro" - -declare-option -hidden -docstring "Set of mappings for OldC++ [disabled] filetype" \ -str fzf_tag_oldc++ [disabled] " - : classes - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : included header files - : local variables [off] - : class, struct, and union members - : namespaces - : function prototypes [off] - : structure names - : typedefs - : union names - : variable definitions - : external and forward variable declarations [off] - : goto label [off]" - -declare-option -hidden -docstring "Set of mappings for OldC [disabled] filetype" \ -str fzf_tag_oldc [disabled] " - : classes - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : included header files - : local variables [off] - : class, struct, and union members - : namespaces - : function prototypes [off] - : structure names - : typedefs - : union names - : variable definitions - : external and forward variable declarations [off] - : goto label [off]" +: class interface +: class implementation +: Protocol +: Object's method +: Class' method +: Global variable +: Object field +: : function +: : property +: : type alias +: : type structure +: An enumeration +: : preprocessor macro" declare-option -hidden -docstring "Set of mappings for OCaml filetype" \ str fzf_tag_ocaml " - : classes - : Object's method - : Module or functor - : Global variable - : Signature item - : Type name - : : function - : : constructor - : : 'structure' field - : An exception" +: classes +: Object's method +: Module or functor +: Global variable +: Signature item +: Type name +: : function +: : constructor +: : 'structure' field +: An exception" declare-option -hidden -docstring "Set of mappings for Passwd filetype" \ str fzf_tag_passwd " - : user names" +: user names" declare-option -hidden -docstring "Set of mappings for Pascal filetype" \ str fzf_tag_pascal " - : functions - : procedures" +: functions +: procedures" declare-option -hidden -docstring "Set of mappings for Perl filetype" \ str fzf_tag_perl " - : constants - : formats - : labels - : packages - : subroutines - : subroutine declarations [off]" +: constants +: formats +: labels +: packages +: subroutines" declare-option -hidden -docstring "Set of mappings for Perl6 filetype" \ str fzf_tag_perl6 " - : classes - : grammars - : methods - : modules - : packages - : roles - : rules - : submethods - : subroutines - : tokens" +: classes +: grammars +: methods +: modules +: packages +: roles +: rules +: submethods +: subroutines +: tokens" declare-option -hidden -docstring "Set of mappings for PHP filetype" \ str fzf_tag_php " - : classes - : constant definitions - : functions - : interfaces - : local variables [off] - : namespaces - : traits - : variables - : aliases" +: classes +: constant definitions +: functions +: interfaces +: namespaces +: traits +: variables +: aliases" declare-option -hidden -docstring "Set of mappings for Pod filetype" \ str fzf_tag_pod " - : chapters - : sections - : subsections - : subsubsections" +: chapters +: sections +: subsections +: subsubsections" declare-option -hidden -docstring "Set of mappings for Protobuf filetype" \ str fzf_tag_protobuf " - : packages - : messages - : fields - : enum constants - : enum types - : services - : RPC methods [off]" +: packages +: messages +: fields +: enum constants +: enum types +: services" declare-option -hidden -docstring "Set of mappings for PuppetManifest filetype" \ str fzf_tag_puppetmanifest " - : classes - : definitions - : nodes - : resources - : variables" +: classes +: definitions +: nodes +: resources +: variables" declare-option -hidden -docstring "Set of mappings for Python filetype" \ str fzf_tag_python " - : classes - : functions - : class members - : variables - : name referring : module defined in other file - : modules - : name referring : class/variable/function/module defined in other module - : function parameters [off] - : local variables [off]" +: classes +: functions +: class members +: variables +: name referring : module defined in other file +: modules +: name referring : class/variable/function/module defined in other module" declare-option -hidden -docstring "Set of mappings for PythonLoggingConfig filetype" \ str fzf_tag_pythonloggingconfig " - : logger sections - : logger qualnames" +: logger sections +: logger qualnames" declare-option -hidden -docstring "Set of mappings for QemuHX filetype" \ str fzf_tag_qemuhx " - : QEMU Management Protocol dispatch table entries - : item in texinfo doc" +: QEMU Management Protocol dispatch table entries +: item in texinfo doc" declare-option -hidden -docstring "Set of mappings for QtMoc filetype" \ str fzf_tag_qtmoc " - : slots - : signals - : properties" +: slots +: signals +: properties" declare-option -hidden -docstring "Set of mappings for R filetype" \ str fzf_tag_r " - : functions - : libraries - : sources - : global variables - : function variables" +: functions +: libraries +: sources +: global variables +: function variables" declare-option -hidden -docstring "Set of mappings for RSpec filetype" \ str fzf_tag_rspec " - : describes - : contexts" +: describes +: contexts" declare-option -hidden -docstring "Set of mappings for REXX filetype" \ str fzf_tag_rexx " - : subroutines" +: subroutines" declare-option -hidden -docstring "Set of mappings for Robot filetype" \ str fzf_tag_robot " - : testcases - : keywords - : variables" +: testcases +: keywords +: variables" declare-option -hidden -docstring "Set of mappings for RpmSpec filetype" \ str fzf_tag_rpmspec " - : tags - : macros - : packages - : global macros" +: tags +: macros +: packages +: global macros" declare-option -hidden -docstring "Set of mappings for ReStructuredText filetype" \ str fzf_tag_restructuredtext " - : chapters - : sections - : subsections - : subsubsections - : targets" +: chapters +: sections +: subsections +: subsubsections +: targets" declare-option -hidden -docstring "Set of mappings for Ruby filetype" \ str fzf_tag_ruby " - : classes - : methods - : modules - : singleton methods" +: classes +: methods +: modules +: singleton methods" declare-option -hidden -docstring "Set of mappings for Rust filetype" \ str fzf_tag_rust " - : module - : structural type - : trait interface - : implementation - : Function - : Enum - : Type Alias - : Global variable - : Macro Definition - : : struct field - : An enum variant - : : method" +: module +: structural type +: trait interface +: implementation +: Function +: Enum +: Type Alias +: Global variable +: Macro Definition +: : struct field +: An enum variant +: : method" declare-option -hidden -docstring "Set of mappings for Scheme filetype" \ str fzf_tag_scheme " - : functions - : sets" +: functions +: sets" declare-option -hidden -docstring "Set of mappings for Sh filetype" \ str fzf_tag_sh " - : aliases - : functions - : script files - : label for here document" +: aliases +: functions +: script files +: label for here document" declare-option -hidden -docstring "Set of mappings for SLang filetype" \ str fzf_tag_slang " - : functions - : namespaces" +: functions +: namespaces" declare-option -hidden -docstring "Set of mappings for SML filetype" \ str fzf_tag_sml " - : exception declarations - : function definitions - : functor definitions - : signature declarations - : structure declarations - : type definitions - : value bindings" +: exception declarations +: function definitions +: functor definitions +: signature declarations +: structure declarations +: type definitions +: value bindings" declare-option -hidden -docstring "Set of mappings for SQL filetype" \ str fzf_tag_sql " - : cursors - : prototypes [off] - : functions - : record fields - : local variables [off] - : block label - : packages - : procedures - : records [off] - : subtypes - : tables - : triggers - : variables - : indexes - : events - : publications - : services - : domains - : views - : synonyms - : MobiLink Table Scripts - : MobiLink Conn Scripts - : MobiLink Properties " +: 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 "Set of mappings for SystemdUnit filetype" \ str fzf_tag_systemdunit " - : units" +: units" declare-option -hidden -docstring "Set of mappings for Tcl filetype" \ str fzf_tag_tcl " - : procedures - : namespaces" +: procedures +: namespaces" declare-option -hidden -docstring "Set of mappings for TclOO filetype" \ str fzf_tag_tcloo " - : classes - : methods" +: classes +: methods" declare-option -hidden -docstring "Set of mappings for Tex filetype" \ str fzf_tag_tex " - : parts - : chapters - : sections - : subsections - : subsubsections - : paragraphs - : subparagraphs - : labels - : includes" +: parts +: chapters +: sections +: subsections +: subsubsections +: paragraphs +: subparagraphs +: labels +: includes" declare-option -hidden -docstring "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" +: 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 "Set of mappings for Vera filetype" \ str fzf_tag_vera " - : classes - : macro definitions - : enumerators (values inside an enumeration) - : function definitions - : enumeration names - : interfaces - : local variables [off] - : class, struct, and union members - : programs - : function prototypes [off] - : signals - : tasks - : typedefs - : variable definitions - : external variable declarations [off] - : included header files" +: 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 "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" +: constants (define, parameter, specparam) +: events +: functions +: modules +: net data types +: ports +: register data types +: tasks +: blocks" declare-option -hidden -docstring "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 - : prototypes [off] - : properties - : structs and unions - : type declarations" +: 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 "Set of mappings for VHDL filetype" \ str fzf_tag_vhdl " - : constant declarations - : type definitions - : subtype definitions - : record names - : entity declarations - : component declarations [off] - : prototypes [off] - : function prototypes and declarations - : procedure prototypes and declarations - : package definitions - : local definitions [off]" +: constant declarations +: type definitions +: subtype definitions +: record names +: entity declarations +: function prototypes and declarations +: procedure prototypes and declarations +: package definitions" declare-option -hidden -docstring "Set of mappings for Vim filetype" \ str fzf_tag_vim " - : autocommand groups - : user-defined commands - : function definitions - : maps - : variable definitions - : vimball filename" +: autocommand groups +: user-defined commands +: function definitions +: maps +: variable definitions +: vimball filename" declare-option -hidden -docstring "Set of mappings for WindRes filetype" \ str fzf_tag_windres " - : dialogs - : menus - : icons - : bitmaps - : cursors - : fonts - : versions - : accelerators" +: dialogs +: menus +: icons +: bitmaps +: cursors +: fonts +: versions +: accelerators" declare-option -hidden -docstring "Set of mappings for YACC filetype" \ str fzf_tag_yacc " - : labels" +: labels" declare-option -hidden -docstring "Set of mappings for YumRepo filetype" \ str fzf_tag_yumrepo " - : repository id" +: repository id" declare-option -hidden -docstring "Set of mappings for Zephir filetype" \ str fzf_tag_zephir " - : classes - : constant definitions - : functions - : interfaces - : local variables [off] - : namespaces - : traits - : variables - : aliases" +: classes +: constant definitions +: functions +: interfaces +: namespaces +: traits +: variables +: aliases" declare-option -hidden -docstring "Set of mappings for DBusIntrospect filetype" \ str fzf_tag_dbusintrospect " - : interfaces - : methods - : signals - : properties" +: interfaces +: methods +: signals +: properties" declare-option -hidden -docstring "Set of mappings for Glade filetype" \ str fzf_tag_glade " - : identifiers - : classes - : handlers" +: identifiers +: classes +: handlers" declare-option -hidden -docstring "Set of mappings for Maven2 filetype" \ str fzf_tag_maven2 " - : group identifiers - : artifact identifiers - : properties - : repository identifiers" +: group identifiers +: artifact identifiers +: properties +: repository identifiers" declare-option -hidden -docstring "Set of mappings for PlistXML filetype" \ str fzf_tag_plistxml " - : keys" +: keys" declare-option -hidden -docstring "Set of mappings for RelaxNG filetype" \ str fzf_tag_relaxng " - : elements - : attributes - : named patterns" +: elements +: attributes +: named patterns" declare-option -hidden -docstring "Set of mappings for SVG filetype" \ str fzf_tag_svg " - : id attributes" +: id attributes" declare-option -hidden -docstring "Set of mappings for XSLT filetype" \ str fzf_tag_xslt " - : stylesheets - : parameters - : matched template - : matched template - : variables" +: stylesheets +: parameters +: matched template +: matched template +: variables" declare-option -hidden -docstring "Set of mappings for Yaml filetype" \ str fzf_tag_yaml " - : anchors" +: anchors" declare-option -hidden -docstring "Set of mappings for AnsiblePlaybook filetype" \ str fzf_tag_ansibleplaybook " - : plays" +: plays" -define-command -hidden fzf-tag-kind -params 1 %{ evaluate-commands %sh{ - case $1 in - readtags*) - cmd=$1 ;; - *) - cmd="readtags -Q \\\"(eq? \\\$kind \\\"$1\\\")\\\" -l | cut -f1" ;; +define-command -hidden fzf-tag-kind -params ..1 %{ evaluate-commands %sh{ + case $kak_opt_filetype in + ada) + 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 ;; + *) + additional_keybindings= + additional_message= + ;; 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=" : 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 $additional_keybindings" - 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 - 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 - 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 - 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'" +: open tag in new window" + + [ ! -z "$additional_message" ] && message="$message + +Additional filters for $kak_opt_filetype: $additional_message" + + echo "info -title 'fzf tag' '$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\"' + + 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 & +}}