Skip to content

fix: remove ecosystem wrappers and document as vimrc recipes#14

Merged
jesse23 merged 2 commits intodevfrom
fix/remove-ecosystem-wrappers
Apr 6, 2026
Merged

fix: remove ecosystem wrappers and document as vimrc recipes#14
jesse23 merged 2 commits intodevfrom
fix/remove-ecosystem-wrappers

Conversation

@jesse23
Copy link
Copy Markdown
Owner

@jesse23 jesse23 commented Apr 6, 2026

Summary

  • Remove TabsVim_FzfOpenInTab and TabsVim_FlogInTab from plugin/tabs.vim — these were thin one-liner wrappers that introduced undeclared optional dependencies and caused exists() autoload detection issues with fzf.vim
  • Update README.md and all SPECs to document fzf/flog integrations as vimrc recipes (direct calls the user owns)
  • g:tabs_vim_tabclose_types remains plugin-side as it provides real autocmd logic

Test plan

  • Verify <leader>ft (fzf file picker in tab) works via direct vimrc call
  • Verify <leader>gg (flog in tab) works via direct vimrc call
  • Verify g:tabs_vim_tabclose_types still wires q:tabclose correctly
  • Confirm plugin loads without errors

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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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() and TabsVim_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_types as the plugin-owned ecosystem feature for q: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>
@jesse23 jesse23 merged commit 28923a5 into dev Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants