From 930e7431ce309b6149b23a0a0b0457420ec8a67a Mon Sep 17 00:00:00 2001 From: jesse23 Date: Sat, 4 Apr 2026 14:05:58 -0400 Subject: [PATCH] fix: grant write permission to publish workflow and clarify tabline_sel docs Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 2 ++ docs/adrs/002.tabs-vim.themes.md | 3 ++- docs/specs/tabs.vim.md | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62d0c51..de76560 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,8 @@ jobs: publish: if: github.event.pull_request.merged == true runs-on: ubuntu-latest + permissions: + contents: write steps: - name: Checkout dev uses: actions/checkout@v4 diff --git a/docs/adrs/002.tabs-vim.themes.md b/docs/adrs/002.tabs-vim.themes.md index 3b92fc7..f6c85d4 100644 --- a/docs/adrs/002.tabs-vim.themes.md +++ b/docs/adrs/002.tabs-vim.themes.md @@ -13,7 +13,7 @@ Expose all tab bar colors via a single `g:tabs_vim_colors` dict. Each key is a l **Mode color keys:** `normal`, `insert`, `visual`, `replace`, `command`, `terminal` **Tab bar chrome keys:** `tabline` (`TabLine`), `tabline_sel` (`TabLineSel`), `tabline_fill` (`TabLineFill`) -The plugin applies all highlight groups — both its own `TabsVim_*` groups and the standard Vim `TabLine*` groups — so users need no separate `hi` declarations in their vimrc. +The plugin applies all highlight groups — both its own `TabsVim_*` groups and the standard Vim `TabLine*` groups — so users need no separate `hi` declarations in their vimrc. `TabLineSel` is set for completeness and interoperability with other tabline-aware tooling, while selected-tab styling in the plugin-rendered bar remains mode-driven via `TabsVim_Sel*`. ## Context @@ -49,5 +49,6 @@ tabs.vim sits between lightline (full palette control, many modes) and buftablin - `g:tabs_vim_colors` is the single configuration point for all tab bar colors (mode pills and chrome) - The plugin applies all `hi` statements from the merged dict (user overrides + defaults) at load time — no separate `hi TabLine*` declarations needed in the user's vimrc +- In the plugin-managed `TabsVim_Line()`, selected-tab visuals are determined by mode keys (`normal`/`insert`/`visual`/`replace`/`command`/`terminal`) through `TabsVim_Sel*`; `tabline_sel` targets standard `TabLineSel` interoperability contexts - If a user sets `TabsVim_*` or `TabLine*` highlight groups themselves *after* the plugin loads, those are respected as-is (plugin does not re-apply on colorscheme change in this phase) - Phase 4 (Polish) may add `ColorScheme` autocmd re-application, but that is out of scope here diff --git a/docs/specs/tabs.vim.md b/docs/specs/tabs.vim.md index 477f1a2..84d8e2e 100644 --- a/docs/specs/tabs.vim.md +++ b/docs/specs/tabs.vim.md @@ -140,6 +140,10 @@ All tab bar colors are configurable via the `g:tabs_vim_colors` global dict. Eac The plugin owns the full tab bar and applies all highlight groups itself — no separate `hi TabLine*` declarations are needed in the user's vimrc. +In the plugin-managed tab bar, the selected tab is styled by the active mode color via mode-specific selected-tab groups (`TabsVim_SelNormal`, `TabsVim_SelInsert`, etc.). Changing `normal`, `insert`, `visual`, `replace`, `command`, or `terminal` therefore changes selected-tab appearance for that mode. + +`tabline`, `tabline_sel`, and `tabline_fill` map to Vim's standard `TabLine`, `TabLineSel`, and `TabLineFill` groups. `tabline_sel` is retained for compatibility/interoperability with non-plugin or default tabline contexts, but it does not control selected-tab styling inside `TabsVim_Line()`. + **Mode color keys:** `normal`, `insert`, `visual`, `replace`, `command`, `terminal` **Tab bar chrome keys:** `tabline`, `tabline_sel`, `tabline_fill`