1874 Commits

Author SHA1 Message Date
Christian Brabandt a29ae5be6f tabpanel: Add support for clickable tabpanel and scrollbar (#2749)
Requires Vim v9.2.0386 and v9.2.0360

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-22 18:18:59 +02:00
Christian Brabandt da47577aa8 whitespace: ignore trailing warning for gitcommit/diff filetype
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-19 21:49:45 +00:00
Christian Brabandt 609e5c0ee1 tabpanel: load tabline theme in tabpanel
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
related: #2724

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-13 15:23:57 +02:00
Christian Brabandt bd888a05db tabline: expose <Plug>AirlineSelectFirstTab/<Plug>AirlineSelectLastTab
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
closes: #2700

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-12 15:58:40 +00:00
Christian Brabandt ee44d57525 whitespace: support multiline statusline for warnings
Add a new airline_section_warning2 that displays whitespace warnings on
a second statusline line when Vim supports the statuslineopt option
(Vim 9.2.0083+) and g:airline_multiline is set. The second line only
appears when there are actual whitespace issues, avoiding an empty
second line when the buffer is clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-12 08:15:15 +00:00
Christian Brabandt 7fe264257e extensions: Add a tabpanel extension
Add a new tabpanel extension that provides airline-styled formatting
for Vim's vertical tab panel feature. Uses airline tabline highlight
groups (TabPanelFill, TabPanelSel, TabPanel) and refreshes them on
theme changes. Requires a Vim version with 'tabpanel' support.

Extension implemented using Vim9Script so not Neovim compatible

fixes:  #2724
closes: #2746

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-12 08:12:11 +00:00
Christian Brabandt 723def3fa8 tabline: support clickable tabline in Vim (>= v9.2.0338)
closes: #2745

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-12 08:07:05 +00:00
Christian Brabandt 081f8ac918 git: enable gitrepo path style, displaying repo:/path/ instead
fixes:  #2505
closes: #2507

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-12 08:04:38 +00:00
Christian Brabandt c52bb3dd32 builder: simplify skip_empty_sections condition
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-04-11 23:19:39 +00:00
wzy 512456e425 extensions: Add a nerdfont.vim extension (#2741)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
2026-03-11 18:20:29 +01:00
wzy d9f7979cef extensions: Add a tabline formatter for zhihu.nvim (#2742) 2026-03-11 13:12:33 +01:00
Wu, Zhenyu 4ab7c731fe extensions: Add a zhihu Neovim extension
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
closes: #2740

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-27 09:42:31 +01:00
Christian Brabandt b03fdc542f whitespace: verify existence of searchcount() function before using it
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-23 12:50:58 +01:00
Christian Brabandt 72acbef146 whitespace: add conflicts marker count
closes: #2736

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-23 09:38:13 +01:00
Christian Brabandt 499ae85357 fern: only change directory if we are in a fern window
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-12-02 14:56:51 +01:00
Christian Brabandt e06b45a870 fern: handle cases when scheme is not fern of filetype is fern-
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
closes: #2735

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-11-28 12:16:22 +01:00
Will Wills 6b51799f26 fix(tabline): ensure tab_nr updates in buffers.vim (#2734)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Previously, when using the rendering in buffers.vim, the tabline only
considered the current buffer and column width when checking for
updates, despite optionally using the tab number in rendering. This
would cause incorrect tabline rendering when switching between tab pages
if the buffer and column width didn't change. This change mimics the
already existent behavior in `tabline/tabs.vim` which caches the current
tab number for comparison when updating. Some other formatting is
changed to align `buffers.vim` to `tabs.vim`.

Fixes: vim-airline/vim-airline#2733
2025-11-04 18:47:56 +01:00
Stefan Morgenthaler e40a696db0 feat: allow setting vim-obsession paused indicator (#2730)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
2025-08-20 22:35:09 +02:00
Christian Brabandt 5ca7f0b7fe whitepace: add whitespace to conflict detection marker
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
closes: #2727

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-07-14 20:56:14 +02:00
Christian Brabandt 41c5f54507 Add executable status (#2723)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
closes: #2722
2025-05-11 13:08:53 +02:00
Christian Brabandt 45003f9451 fern: use correct API to parse the fern protocol
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
related: #2717

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-14 07:50:28 +02:00
Christian Brabandt 0694335daa fern: failure when opening a path with spaces
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Fix this by:
- decode the path using fern#fri#decode()
- use fnameescape() for the 'lcd' command
- add try catch around the 'lcd' command

closes: #2717

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-13 17:03:11 +02:00
Christian Brabandt c7704c6bc7 init: use a minimum of 2 columns for the current line number
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
fixes: #2699

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-08 13:27:11 +02:00
ark231 7c7391a1fc fix line number of nvimlsp being off by one (#2713)
The line number vim.diagnostic.get() returns is 0-indexed,
but displayed line numbers are 1-indexed
2025-04-08 13:17:57 +02:00
Christian Brabandt 9884c07966 whitespace: U+2632 changed width to double-width
Whitespace Character U+2632 changed to double-width with Unicode release
16 (Vim patch v9.1.736). This causes issues with the statusline like
adding wrapping.
So let's mark that character back as single width, since that is what
most underlying libraries seem to expect.

closes: #2715
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-04-08 10:20:16 +02:00
Christian Brabandt 7a552f415c highlighter: remove stale separator entries on buffer unload
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
fixes: #2701

Co-authored-by: Mina Nagy Zaki <mnzaki@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-12-05 06:49:09 +01:00
laburnumT 25635ab504 symbols: Update symbol used for maxlinenr (#2690)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
U+2630 is a full width character. Replace it with U+2261.

closes: #2691

Signed-off-by: laburnumT <laburnumtec@gmail.com>
2024-11-18 21:07:35 +01:00
Neil Lambert 6c704f4b78 fix vim-airline/fern does not update the branch name as you navigate through fern, and theme fern inactive windows too (#2698)
CI / Test (v7.4) (push) Has been cancelled
CI / Test (v8.0.0000) (push) Has been cancelled
CI / Test (v8.1.0000) (push) Has been cancelled
CI / Test (v8.2.0000) (push) Has been cancelled
CI / Test (v8.2.1000) (push) Has been cancelled
CI / Test (v9.0.0000) (push) Has been cancelled
CI / Test (v9.1.0000) (push) Has been cancelled
reviewdog / runner / vint (push) Has been cancelled
Co-authored-by: Neil Lambert <nlambert@pm.me>
2024-10-30 18:21:02 +01:00
wzy d25c049e61 xkblayout: support ime.nvim (#2682)
Improve document
2024-07-23 16:10:19 +02:00
wzy 02894b6ef4 xkblayout: support fcitx5-ui.nvim (#2680)
https://github.com/black-desk/fcitx5-ui.nvim
2024-06-16 16:57:43 +02:00
Dionisio E Alonso 16c1638f93 nvimlsp: Correct deprecation warning on nvimlsp plugin (#2678)
Also correct regression introduced in #2676 with #2677
2024-05-20 13:51:17 +02:00
Christian Brabandt 6cc2c5c9e9 nvimlsp: Use vim.lsp.buf_get_clients() for Neovim < 0.11
closes: #2676

Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-05-19 21:47:31 +02:00
Dionisio E Alonso c3d1d13b72 lsp: Correct deprecation warning on nvimlsp plugin (#2675)
As of version 0.12 of Neovim, the replaced API call is being deprecated.  From 0.11.0 there is already a “deprecation warning” in place.

This patch corrects that by using the new API call.
2024-05-19 17:40:51 +02:00
wzy ff0f9a45a5 xkblayout: use FcitxCurrentIMwithRime() when available (#2670)
latest version of fcitx.vim add FcitxCurrentIMwithRime()
to display input method information in detail
2024-04-24 23:11:48 +02:00
Christian Brabandt d9f42cb467 parts: error when unsing non-utf8 encoding
use exprission string "\u2026" instead of literal …

fixes #2666
2024-02-17 15:29:08 +01:00
Ingo Meyer 3854429d99 plugin: Add extension for codeium
closes #2653
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-11 13:21:00 +02:00
Christian Brabandt 0adefd0c42 vimodoro: fix style according to reviewdog
Mainly, add the `abort` attribute and make the == comparison case
sensitive

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-11 13:13:58 +02:00
Billy Chamberlain 4757756ae0 plugin: Add extension for vimodoro plugin (#2652)
* Adds integration with vimodoro information.

---------
Co-authored-by: Rowan <rowan.douglas@vimabc.xyz>
Co-authored-by: Eddy <eddy_c@novellpharm.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-10 10:12:40 +01:00
Christian Brabandt f1ba5a03db branch: --no-optional-locks arg needs to be given to git
The special argument --no-optional-lock applies to the main git command,
and not to the git subcommand `git status`. So move it there, to prevent
an error with git.

closes #2651

Signed-off-by: Christian Brabandt <cb@256bit.org>
2023-10-04 21:01:39 +02:00
David Briscoe 65e77b970d Don't lock repo when checking status
Fix "fatal: Unable to create '.git/index.lock': File exists." when doing
fugitive commands.

Since upgrading fugitive from fugitive@7c1f2ed to 5f0d280, I
occasionally hit this lock error when using `ZZ` to save and close the
fugitive rebase window.

I have no other windows or tabs open (nothing that might be invoking
git). I get the error around 1 in 5 attempts on a larger git repo and
less often on small repos (like vim-fugitive's repo).

However, I have airline and have the git branch name and dirty status in
my **statusline**. A minimal repro of just sensible, fugitive, and
vim-airline with no custom airline configuration produces the issue. If
I use `:AirlineToggle` to turn off the statusline, it seems to go away.

Airline uses fugitive to get the branch name (with `FugitiveHead()`) and
strip the `fugitive://` name from buffers (with `FugitiveReal()`).

I tried removing ShellCmdPost fugitiveline.vim and that *seems* to fix
it, but I don't understand why.

What makes more sense is that the dirty check is asynchronous and is
trying to check status when fugitive is trying to rebase. Because the
repo is large, it takes longer to get status (true for just running `git
status` too).

I have async enabled:
    :echo g:airline#init#vim_async
    1

tpope suggests using --no-optional-locks to solve:
https://github.com/tpope/vim-fugitive/issues/1624

That also appears to fix the issue.

This flag was introduced to git in 2017 which would make airline fail on
older gits:
https://github.com/git/git/commit/27344d6a6c8056664966e11acf674e5da6dd7ee3
There's also GIT_OPTIONAL_LOCKS=0 environment variable, but that
requires more infra work.
2023-07-19 11:14:10 -07:00
Christian Brabandt cead8efb48 term: allow to customize section_a and section_z
closes: #2647
2023-07-13 16:48:04 +02:00
Christian Brabandt 5891a3f7be Merge pull request #2635 from 3ximus/master
Fix the number of splits in a tab displayed in the tabline
2023-04-17 10:05:28 +02:00
Christian Brabandt 4eea2b7e3c Fix check for vim9 script
closes #2636
2023-04-17 09:53:26 +02:00
eximus 515d4cbbec fix tabline tabnr formatter - nr of splits 2023-04-14 14:18:03 -04:00
Christian Brabandt 18b85395d3 wordcount: skip updating wordcount for vimtex#misc#wordcount() in visual mode
closes #2624
2023-01-29 22:07:36 +01:00
Simon Truscott 8fd91eaca9 hunks: prevent selecting GitGutter when its loaded but not enabled 2023-01-22 09:03:56 +11:00
Christian Brabandt 31e01612f3 tagbar: do not load, if file size is too large
closes: #2578
2023-01-19 21:46:36 +01:00
Christian Brabandt dc1b607f56 tagbar: break too long line 2023-01-19 21:45:37 +01:00
Christian Brabandt 08cfcf9408 tagbar: move s:flags to inside the function
This matters, if the users later changes the
'airline#extensions#tagbar#flags'  variable, so that it will be taken
into account by the tagbar extension
2023-01-19 21:44:21 +01:00
Christian Brabandt 50a936608c tagbar: prevent error on initial load
Tagbar plugin expects a printf() formatting string, so use one
2023-01-19 21:25:23 +01:00