feat: expose TabsVim_* public functions and ecosystem support#12
Merged
Conversation
…se_types - Expose TabsVim_FlogInTab() for opening vim-flog in a new tab - Add g:tabs_vim_tabclose_types config to auto-wire q → :tabclose for configurable buffer types (floggraph, git, diff and any FileType) - Add ADR-005 and ecosystem-support SPEC - Update key-binding SPEC with Git Integration section and vimrc wiring Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Exposes additional tab-aware “ecosystem” integration points for tabs.vim, adding a public vim-flog helper and an opt-in mechanism to map q to :tabclose in selected tool buffers, plus associated specs/ADR documentation.
Changes:
- Add
TabsVim_FlogInTab()public function (vim-flog integration). - Add opt-in
g:tabs_vim_tabclose_typesautocmd wiring for buffer-localq→:tabclosefor selected filetypes/conditions. - Add/update specs and ADR documentation for the new ecosystem support surface.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| plugin/tabs.vim | Adds TabsVim_FlogInTab() and g:tabs_vim_tabclose_types-driven autocmd/mapping behavior. |
| docs/specs/tabs.vim.md | Links the new ecosystem support spec from the main spec. |
| docs/specs/key-binding.md | Documents the new public function and config in the recommended vimrc wiring. |
| docs/specs/ecosystem-support.md | New spec describing vim-flog integration and configurable q → :tabclose behavior. |
| docs/adrs/005.tabs-vim.ecosystem-support.md | New ADR capturing the rationale/decision for ecosystem support features. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Validate g:tabs_vim_tabclose_types is a List before iterating - Filter entries to non-empty strings; warn and skip on invalid type - Sanitize FileType tokens against ^\h\w*$ to prevent ex-command injection - Fix diff mapping to use <expr> so &diff is re-checked at keypress time - Update docs: variable must be set before plug#end(), not after load 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_*public functions (ADR-004)key-binding.mdSPEC with public function API and ready-made vimrc wiring blockTabsVim_FlogInTab()for vim-flog andg:tabs_vim_tabclose_typesfor configurableq→:tabclosein tool buffers (ADR-005)ecosystem-support.mdSPECTest plan
:nmapshows noTabsVimmaps)key-binding.mdand confirm allTabsVim_*functions workg:tabs_vim_tabclose_types = ['floggraph', 'git', 'diff']and confirmqcloses tab in each buffer typeTabsVim_FlogInTab()opens flog in a new tab; confirm warning when vim-flog not loaded