fix: remove ecosystem wrappers and document as vimrc recipes#14
Merged
Conversation
TabsVim_FzfOpenInTab and TabsVim_FlogInTab were thin one-liner wrappers around fzf.vim and vim-flog functions. Wrapping third-party calls inside the plugin introduced undeclared optional dependencies and caused exists() autoload detection issues. Direct vimrc mappings are simpler, more transparent, and fully owned by the user. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR removes thin “ecosystem wrapper” functions from tabs.vim to avoid optional dependency coupling (and related exists()/autoload detection issues), and updates user-facing documentation/specs to present fzf/flog integrations as vimrc-owned recipes.
Changes:
- Removed
TabsVim_FzfOpenInTab()andTabsVim_FlogInTab()from the plugin. - Updated README and specs to document fzf/flog usage as direct vimrc mappings (no plugin wrappers).
- Kept
g:tabs_vim_tabclose_typesas the plugin-owned ecosystem feature forq→:tabclose.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Removes optional dependency mention and replaces wrapper-based mappings with direct vimrc recipes. |
| plugin/tabs.vim | Deletes the fzf/flog wrapper functions; retains g:tabs_vim_tabclose_types autocmd logic. |
| docs/specs/tabs.vim.md | Updates design goal / composition narrative to remove wrapper ownership. |
| docs/specs/key-binding.md | Removes wrapper API sections and switches recommended wiring to direct calls. |
| docs/specs/ecosystem-support.md | Reframes “ecosystem support” around documented recipes + plugin-side tabclose wiring. |
Comments suppressed due to low confidence (1)
plugin/tabs.vim:103
- The built-in help file (doc/tabs.vim.txt) still documents TabsVim_FzfOpenInTab()/TabsVim_FlogInTab() and lists fzf.vim/vim-flog as optional requirements, but these wrappers were removed here. Please update the help docs (and any generated help tags) to avoid advertising non-existent public APIs.
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" ECOSYSTEM
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" g:tabs_vim_tabclose_types: wire q → :tabclose for specified buffer types.
" Must be set before the plugin loads. Supported tokens: 'floggraph', 'git',
" 'diff', or any FileType name matching ^\h\w*$.
if exists('g:tabs_vim_tabclose_types')
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Revise ADR-005 to reflect removal of wrapper functions; add revision note explaining the change and root cause - Fix "Vimrc Integration Boundary" in tabs.vim.md: plugin owns g:tabs_vim_tabclose_types (autocmd logic, no 3rd-party calls); direct fzf/flog calls remain vimrc recipes - Bump Last Updated dates in tabs.vim.md and key-binding.md - Drop ADR-005 ref from key-binding.md features table per review suggestion - Link ADR-005 with revision note in ecosystem-support.md Related section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TabsVim_FzfOpenInTabandTabsVim_FlogInTabfromplugin/tabs.vim— these were thin one-liner wrappers that introduced undeclared optional dependencies and causedexists()autoload detection issues with fzf.vimREADME.mdand all SPECs to document fzf/flog integrations as vimrc recipes (direct calls the user owns)g:tabs_vim_tabclose_typesremains plugin-side as it provides real autocmd logicTest plan
<leader>ft(fzf file picker in tab) works via direct vimrc call<leader>gg(flog in tab) works via direct vimrc callg:tabs_vim_tabclose_typesstill wiresq→:tabclosecorrectly