From d9f7979cefa59ac044d4817e774e45d53a65d29c Mon Sep 17 00:00:00 2001 From: wzy <32936898+Freed-Wu@users.noreply.github.com> Date: Wed, 11 Mar 2026 20:12:33 +0800 Subject: [PATCH] extensions: Add a tabline formatter for zhihu.nvim (#2742) --- autoload/airline/extensions/tabline/zhihu.vim | 13 +++++++++++++ doc/airline.txt | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 autoload/airline/extensions/tabline/zhihu.vim diff --git a/autoload/airline/extensions/tabline/zhihu.vim b/autoload/airline/extensions/tabline/zhihu.vim new file mode 100644 index 00000000..155afba7 --- /dev/null +++ b/autoload/airline/extensions/tabline/zhihu.vim @@ -0,0 +1,13 @@ +let g:airline#extensions#tabline#formatters#zhihu#formatter = get(g:, 'airline#extensions#tabline#formatters#zhihu#formatter', 'default') + +function! airline#extensions#tabline#formatters#zhihu#format(bufnr, buffers) + let l:name = bufname(a:bufnr) + if match(l:name, 'zhihu://') == -1 + return airline#extensions#tabline#formatters#{g:airline#extensions#tabline#formatters#zhihu#formatter}#format(a:bufnr, a:buffers) + endif + let l:prefix = matchstr(fnamemodify(l:name, ':h'), '\d\+') + if l:prefix !=# '' + let l:prefix .= '/' + endif + return l:prefix . fnamemodify(l:name, ':t') +endfunction diff --git a/doc/airline.txt b/doc/airline.txt index 77126bca..e9c3f416 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -1888,6 +1888,12 @@ zhihu.nvim * enable/disable zhihu integration > let g:airline#extensions#zhihu#enabled = 1 +< default: 1 + +* zhihu's tabline formatter > + let g:airline#extensions#tabline#formatter = 'zhihu' + let g:airline#extensions#tabline#formatters#nerdfont#formatter = 'default' +< default: 'default' =============================================================================