mirror of
https://github.com/vim-airline/vim-airline.git
synced 2026-08-05 23:48:33 +08:00
Compare commits
85
Commits
v0.12
..
vim9script
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6886f2997 | ||
|
|
1962371666 | ||
|
|
2062dd2f98 | ||
|
|
0e91eeb548 | ||
|
|
4b02724d0c | ||
|
|
f54f7859a3 | ||
|
|
4bce179ed3 | ||
|
|
2083bfe890 | ||
|
|
084dfe017d | ||
|
|
ad7dcbdece | ||
|
|
bb204d1fee | ||
|
|
a678556366 | ||
|
|
def61b1450 | ||
|
|
3de44bc58f | ||
|
|
dcb36f0480 | ||
|
|
21f329cd70 | ||
|
|
0eee611a0e | ||
|
|
4e4663c71c | ||
|
|
0a80997100 | ||
|
|
f08b7912c6 | ||
|
|
d49b655e72 | ||
|
|
70dc69fcd8 | ||
|
|
cdb265c410 | ||
|
|
de3dbfcb3c | ||
|
|
cc2a836b9a | ||
|
|
6ff95bac4e | ||
|
|
c8c30c9e3e | ||
|
|
a77cd28ecc | ||
|
|
6a6945d45d | ||
|
|
d5ffa5fd58 | ||
|
|
b10c1107e1 | ||
|
|
4f59fef538 | ||
|
|
e59a654d17 | ||
|
|
18ae588bad | ||
|
|
86c466d81e | ||
|
|
c08b1c0c75 | ||
|
|
3d536ef950 | ||
|
|
02aaaf94e8 | ||
|
|
bbc70019f6 | ||
|
|
0bc7ff3629 | ||
|
|
7880f0a73c | ||
|
|
5502e5302d | ||
|
|
59c906da4d | ||
|
|
19f8be42b6 | ||
|
|
e81d400b09 | ||
|
|
5062eeeaed | ||
|
|
e6bd342293 | ||
|
|
caaa553ce9 | ||
|
|
b4e38be8b8 | ||
|
|
252b89bb1f | ||
|
|
b271c279d6 | ||
|
|
9387517f01 | ||
|
|
8ec6f1e40f | ||
|
|
0d0c380940 | ||
|
|
9f7557df44 | ||
|
|
f615f8bad3 | ||
|
|
f5e2f97003 | ||
|
|
14fd943dc6 | ||
|
|
e9d4ff75da | ||
|
|
9b32ed3229 | ||
|
|
58b2a8bbc8 | ||
|
|
5ac55ea4e5 | ||
|
|
56ba4b34a7 | ||
|
|
798a346a91 | ||
|
|
4f8675434a | ||
|
|
5391b3e246 | ||
|
|
7310ca6cbf | ||
|
|
9ae38b43e4 | ||
|
|
2441084898 | ||
|
|
d9947beb0f | ||
|
|
a6b7267979 | ||
|
|
90de76359f | ||
|
|
0238d386bb | ||
|
|
19861861fd | ||
|
|
687fb52d9f | ||
|
|
aa8bd171f3 | ||
|
|
b152059a98 | ||
|
|
4d75c9940c | ||
|
|
ae3af85ca2 | ||
|
|
a9f525f8da | ||
|
|
3e93c212cc | ||
|
|
a8afa434e3 | ||
|
|
b0d4a44f0c | ||
|
|
0abcdbeba5 | ||
|
|
609205f1e8 |
@@ -8,10 +8,7 @@
|
||||
if you are using terminal:
|
||||
- terminal: ????
|
||||
- $TERM variable: ???
|
||||
- terminal columns size: ???
|
||||
- terminal line size: ???
|
||||
- color configuration (:set t_Co?):
|
||||
|
||||
if you are using Neovim:
|
||||
- does it happen in Vim: ???
|
||||
|
||||
|
||||
+30
-23
@@ -3,43 +3,50 @@ name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- master
|
||||
- vim9script
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- master
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vim:
|
||||
- v9.1.0000
|
||||
- v9.0.0000
|
||||
- v8.2.1000
|
||||
- v8.2.0000
|
||||
- v8.1.0000
|
||||
- v8.0.0000
|
||||
- v7.4
|
||||
vim_version:
|
||||
- 'v8.2.1000'
|
||||
- 'v8.2.0000'
|
||||
- 'v8.1.0000'
|
||||
- 'v8.0.0000'
|
||||
- 'v7.4'
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@main
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: Checkout vim-themis
|
||||
uses: actions/checkout@main
|
||||
- name: Setup Ruby
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
repository: thinca/vim-themis
|
||||
path: vim-themis
|
||||
ruby-version: '2.6'
|
||||
|
||||
- name: Setup Bundle
|
||||
run: |
|
||||
gem install bundler
|
||||
bundle install --jobs 4 --retry 3
|
||||
|
||||
- name: Setup Vim
|
||||
uses: rhysd/action-setup-vim@v1
|
||||
id: vim
|
||||
uses: thinca/action-setup-vim@v1
|
||||
with:
|
||||
version: ${{ matrix.vim }}
|
||||
vim_version: ${{ matrix.vim_version }}
|
||||
|
||||
- name: Test
|
||||
env:
|
||||
THEMIS_VIM: ${{ steps.vim.outputs.executable }}
|
||||
run: ./vim-themis/bin/themis --reporter spec
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
curl -f -L "https://raw.githubusercontent.com/vim-airline/vim-airline-themes/master/autoload/airline/themes/simple.vim" -o autoload/airline/themes/simple.vim
|
||||
curl -f -L "https://raw.githubusercontent.com/vim-airline/vim-airline-themes/master/autoload/airline/themes/molokai.vim" -o autoload/airline/themes/molokai.vim
|
||||
mkdir colors && curl -f -L 'https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim' -o colors/molokai.vim
|
||||
|
||||
- name: Run Test
|
||||
run: rake ci
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
name: runner / vint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@main
|
||||
- uses: actions/checkout@v2
|
||||
- name: vint
|
||||
uses: reviewdog/action-vint@v1
|
||||
with:
|
||||
|
||||
+1
-1
@@ -5,4 +5,4 @@ doc/tags
|
||||
*.swp
|
||||
.bundle
|
||||
vendor
|
||||
test/.deps
|
||||
|
||||
|
||||
+8
-33
@@ -2,9 +2,7 @@
|
||||
|
||||
This is the Changelog for the vim-airline project.
|
||||
|
||||
## [0.13] - Unreleased
|
||||
|
||||
## [0.12] - 2026-05-02
|
||||
## [0.12] - Unreleased
|
||||
- New features
|
||||
- Extensions:
|
||||
- [poetv](https://github.com/petobens/poet-v) support
|
||||
@@ -14,42 +12,19 @@ This is the Changelog for the vim-airline project.
|
||||
- [vim-dirvish](https://github.com/justinmk/vim-dirvish) support
|
||||
- [fzf.vim](https://github.com/junegunn/fzf.vim) support
|
||||
- [OmniSharp](https://github.com/OmniSharp/omnisharp-vim) support
|
||||
- [searchcount](https://vim-jp.org/vimdoc-en/eval.html#searchcount()) support
|
||||
- [searchcount](https://vim-jp.org/vimdoc-en/eval.html#searchcount()) support
|
||||
- [fern.vim](https://github.com/lambdalisue/fern.vim) support
|
||||
- [Vim-CMake](https://github.com/cdelledonne/vim-cmake) support
|
||||
- [battery.vim](https://github.com/lambdalisue/battery.vim) support
|
||||
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) support
|
||||
- [gen_tags.vim](https://github.com/jsfaint/gen_tags.vim) support
|
||||
- [vim-rufu](https://github.com/ruby-formatter/rufo-vim) support
|
||||
- [vim-flog](https://github.com/rbong/vim-flog) support
|
||||
- [nvim-lsp](https://github.com/neovim/nvim-lsp) support
|
||||
- [vim9lsp.vim](https://github.com/yegappan/lsp) support
|
||||
- [fcitx.vim](https://github.com/fcitx/fcitx5) support
|
||||
- [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) support
|
||||
- [codeium](https://github.com/Exafunction/codeium.vim) support
|
||||
- [vimodoro](https://github.com/VimfanTPdvorak/vimodoro) support
|
||||
- [nerdfont](https://github.com/lambdalisue/nerdfont.vim) support
|
||||
- [zhihu](https://github.com/pxwg/zhihu.nvim) Neovim support
|
||||
- Ascii Scrollbar support
|
||||
- Improvements
|
||||
- git branch can also be displayed using [gina.vim](https://github.com/lambdalisue/gina.vim)
|
||||
- coc extensions can also show additional status messages as well as the current function
|
||||
- coc extensions can also show additional status messages
|
||||
- [coc-git](https://github.com/neoclide/coc-git) extension integrated into hunks extension
|
||||
- rewrote parts using Vim9 Script for performance improvements
|
||||
- [vim-obsession](https://github.com/tpope/vim-obsession) allow to set paused indicator
|
||||
- Display executable symbol for executable script
|
||||
- Support for Neovims global statusline
|
||||
- whitespace extensions: add git conflict marker support
|
||||
- Support tabpanel, including mouse and scroll support (Vim only)
|
||||
- Support multi-line statusline (Vim only)
|
||||
- Support clickable buffers in Vim
|
||||
- Support for showing `repo:/path/file` path like style using the `gitrepo` style
|
||||
- tabline: Expose `<Plug>AirlineSelectFirstTab` and `<Plug>AirlineSelectLastTab`
|
||||
- tabline: Add a new `buffer_idx_mode` that adds a lot more mappings.
|
||||
- Other
|
||||
- Changed CI from travis-ci.org to GitHub Actions
|
||||
- Introduce Vim script static analysis using [reviewdog](https://github.com/reviewdog/action-vint)
|
||||
- Added multiple Vim versions to unit tests
|
||||
- Added multiple Vim versions to unit tests using Travis CI
|
||||
- Added option to show short paths in the status line
|
||||
|
||||
## [0.11] - 2019-11-10
|
||||
@@ -71,9 +46,9 @@ This is the Changelog for the vim-airline project.
|
||||
- The branch extensions now also displays whether the repository is in a clean state
|
||||
(will append a ! or ⚡if the repository is considered dirty).
|
||||
- The whitespace extensions will also check for conflict markers
|
||||
- `:AirlineRefresh` command now takes an additional `!` attribute, that **skips**
|
||||
- `:AirlineRefresh` command now takes an additional `!` attribute, that **skips**
|
||||
recreating the highlighting groups (which might have a serious performance
|
||||
impact if done very often, as might be the case when the configuration variable
|
||||
impact if done very often, as might be the case when the configuration variable
|
||||
`airline_skip_empty_sections` is active).
|
||||
- airline can now also detect multiple cursor mode (issue [#1933](https://github.com/vim-airline/vim-airline/issues/1933))
|
||||
- expose hunks output using the function `airline#extensions#hunks#get_raw_hunks()` to the outside [#1877](https://github.com/vim-airline/vim-airline/pull/1877)
|
||||
@@ -107,7 +82,7 @@ This is the Changelog for the vim-airline project.
|
||||
- [fugitive](https://github.com/tpope/vim-fugitive) plugin has been refactored
|
||||
causing adjustments for vim-airline, also uses Fugitives new API calls
|
||||
- some improvements to Vims terminal mode
|
||||
- Allow to use alternative separators for inactive windows ([#1236](https://github.com/vim-airline/vim-airline/issues/1236))
|
||||
- Allow to use alternative seperators for inactive windows ([#1236](https://github.com/vim-airline/vim-airline/issues/1236))
|
||||
- Statusline can be set to inactive, whenever Vim loses focus (using FocusLost autocommand)
|
||||
|
||||
## [0.9] - 2018-01-15
|
||||
@@ -157,7 +132,7 @@ This is the Changelog for the vim-airline project.
|
||||
## [0.8] - 2016-03-09
|
||||
- Changes
|
||||
- Airline converted to an organization and moved to new [repository](https://github.com/vim-airline/vim-airline)
|
||||
- Themes have been split into a separate repository [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes)
|
||||
- Themes have been split into an separate repository [vim-airline-themes](https://github.com/vim-airline/vim-airline-themes)
|
||||
- Improvements
|
||||
- Extensions
|
||||
- branch: support Git and Mercurial simultaneously, untracked files
|
||||
|
||||
@@ -6,23 +6,6 @@ Contributions and pull requests are welcome. Please take note of the following
|
||||
* Keep the history clean! Squash your branches before you submit a pull request. `pull --rebase` is your friend.
|
||||
* Any changes to the core should be tested against Vim 7.4.
|
||||
|
||||
# Testing
|
||||
|
||||
Contributors should install [thinca/vim-themis](https://github.com/thinca/vim-themis) to run tests before sending a PR if they applied some modification to the code. PRs which do not pass tests won't be accepted.
|
||||
|
||||
## 1. Installation
|
||||
|
||||
```
|
||||
$ cd /path/to/vim-airline
|
||||
$ git submodule add https://github.com/thinca/vim-themis ./.themis-bin
|
||||
```
|
||||
|
||||
## 2. Running tests
|
||||
|
||||
```
|
||||
$ ./path/to/themis-bin/bin/themis path/to/vim-airline/test --reporter spec
|
||||
```
|
||||
|
||||
# Bugs
|
||||
|
||||
Tracking down bugs can take a very long time due to different configurations, versions, and operating systems. To ensure a timely response, please help me out by doing the following:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (C) 2013-2026 Bailey Ling, Christian Brabandt, et al.
|
||||
Copyright (C) 2013-2020 Bailey Ling, Christian Brabandt, et al.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the "Software"),
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
# vim-airline
|
||||
|
||||
[](https://saythanks.io/to/chrisbra)
|
||||
[](https://github.com/vim-airline/vim-airline/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster)
|
||||
[](https://github.com/vim-airline/vim-airline/actions?query=workflow%3ACI)
|
||||
# vim-airline [](https://travis-ci.org/vim-airline/vim-airline) [](https://saythanks.io/to/cb%40256bit.org) [](https://github.com/vim-airline/vim-airline/actions?query=workflow%3Areviewdog+event%3Apush+branch%3Amaster)
|
||||
|
||||
Lean & mean status/tabline for vim that's light as air.
|
||||
|
||||
@@ -32,8 +28,6 @@ information. By default (without configuration) this line will look like this:
|
||||
+-----------------------------------------------------------------------------+
|
||||
| A | B | C X | Y | Z | [...] |
|
||||
+-----------------------------------------------------------------------------+
|
||||
| [...] |
|
||||
+-----------------------------------------------------------------------------+
|
||||
```
|
||||
|
||||
The statusline is the colored line at the bottom, which contains the sections
|
||||
@@ -47,7 +41,7 @@ section|meaning (example)
|
||||
X | filetype (vim)
|
||||
Y | file encoding[fileformat] (utf-8[unix])
|
||||
Z | current position in the file
|
||||
[...] | additional sections (warning/errors/statistics) from external plugins (e.g. YCM, syntastic, ...)<br>can be shown on a second line optionally (Vim only)
|
||||
[...] | additional sections (warning/errors/statistics) from external plugins (e.g. YCM, syntastic, ...)
|
||||
|
||||
The information in Section Z looks like this:
|
||||
|
||||
@@ -68,7 +62,7 @@ For a better look, those sections can be colored differently, depending on vario
|
||||
|
||||
* Tiny core written with extensibility in mind ([open/closed principle][8]).
|
||||
* Integrates with a variety of plugins, including: [vim-bufferline][6],
|
||||
[fugitive][4], [flog][62], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16],
|
||||
[fugitive][4], [unite][9], [ctrlp][10], [minibufexpl][15], [gundo][16],
|
||||
[undotree][17], [nerdtree][18], [tagbar][19], [vim-gitgutter][29],
|
||||
[vim-signify][30], [quickfixsigns][39], [syntastic][5], [eclim][34],
|
||||
[lawrencium][21], [virtualenv][31], [tmuxline][35], [taboo.vim][37],
|
||||
@@ -82,22 +76,6 @@ For a better look, those sections can be colored differently, depending on vario
|
||||
* The master branch tries to be as stable as possible, and new features are merged in only after they have gone through a [full regression test][33].
|
||||
* Unit testing suite.
|
||||
|
||||
# Installation
|
||||
|
||||
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
|
||||
|
||||
| Plugin Manager | Install with... |
|
||||
| ------------- | ------------- |
|
||||
| [Pathogen][11] | `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`<br/>Remember to run `:Helptags` to generate help tags |
|
||||
| [NeoBundle][12] | `NeoBundle 'vim-airline/vim-airline'` |
|
||||
| [Vundle][13] | `Plugin 'vim-airline/vim-airline'` |
|
||||
| [Plug][40] | `Plug 'vim-airline/vim-airline'` |
|
||||
| [VAM][22] | `call vam#ActivateAddons([ 'vim-airline' ])` |
|
||||
| [Dein][52] | `call dein#add('vim-airline/vim-airline')` |
|
||||
| [minpac][55] | `call minpac#add('vim-airline/vim-airline')` |
|
||||
| pack feature (native Vim 8 package feature)| `git clone https://github.com/vim-airline/vim-airline ~/.vim/pack/dist/start/vim-airline`<br/>Remember to run `:helptags ~/.vim/pack/dist/start/vim-airline/doc` to generate help tags |
|
||||
| manual | copy all of the files into your `~/.vim` directory |
|
||||
|
||||
## Straightforward customization
|
||||
|
||||
If you don't like the defaults, you can replace all sections with standard `statusline` syntax. Give your statusline that you've built over the years a face lift.
|
||||
@@ -181,15 +159,12 @@ vim-airline integrates with a variety of plugins out of the box. These extensio
|
||||
#### [syntastic][5]
|
||||

|
||||
|
||||
#### hunks ([vim-gitgutter][29], [vim-signify][30], [coc-git][59] & [gitsigns.nvim][63])
|
||||
#### hunks ([vim-gitgutter][29] & [vim-signify][30] & [coc-git][59])
|
||||

|
||||
|
||||
#### [vimagit][50]
|
||||

|
||||
|
||||
#### [flog][62]
|
||||

|
||||
|
||||
#### [virtualenv][31]
|
||||

|
||||
|
||||
@@ -241,7 +216,6 @@ to call custom functions. Use `:let g:airline_statusline_ontop=1` to enable it.
|
||||
Every section is composed of parts, and you can reorder and reconfigure them at will.
|
||||
|
||||

|
||||
Note: nowadays you should use the `AirlineAfterInit` autocommand
|
||||
|
||||
Sections can contain accents, which allows for very granular control of visuals (see configuration [here](https://github.com/vim-airline/vim-airline/issues/299#issuecomment-25772886)).
|
||||
|
||||
@@ -267,6 +241,22 @@ What about [vim-powerline][1]?
|
||||
|
||||
I wrote the initial version on an airplane, and since it's light as air it turned out to be a good name. Thanks for flying vim!
|
||||
|
||||
# Installation
|
||||
|
||||
This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:
|
||||
|
||||
| Plugin Manager | Install with... |
|
||||
| ------------- | ------------- |
|
||||
| [Pathogen][11] | `git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline`<br/>Remember to run `:Helptags` to generate help tags |
|
||||
| [NeoBundle][12] | `NeoBundle 'vim-airline/vim-airline'` |
|
||||
| [Vundle][13] | `Plugin 'vim-airline/vim-airline'` |
|
||||
| [Plug][40] | `Plug 'vim-airline/vim-airline'` |
|
||||
| [VAM][22] | `call vam#ActivateAddons([ 'vim-airline' ])` |
|
||||
| [Dein][52] | `call dein#add('vim-airline/vim-airline')` |
|
||||
| [minpac][55] | `call minpac#add('vim-airline/vim-airline')` |
|
||||
| pack feature (native Vim 8 package feature)| `git clone https://github.com/vim-airline/vim-airline ~/.vim/pack/dist/start/vim-airline`<br/>Remember to run `:helptags ~/.vim/pack/dist/start/vim-airline/doc` to generate help tags |
|
||||
| manual | copy all of the files into your `~/.vim` directory |
|
||||
|
||||
# Documentation
|
||||
|
||||
`:help airline`
|
||||
@@ -303,16 +293,16 @@ A full list of screenshots for various themes can be found in the [Wiki][14].
|
||||
|
||||
# Maintainers
|
||||
|
||||
The project is currently being maintained by [Christian Brabandt][42] and [Bailey Ling][41].
|
||||
The project is currently being maintained by [Bailey Ling][41], [Christian Brabandt][42], and [Mike Hartington][44].
|
||||
|
||||
If you are interested in becoming a maintainer (we always welcome more maintainers), please [go here][43].
|
||||
|
||||
# License
|
||||
|
||||
[MIT License][58]. Copyright (c) 2013-2026 Bailey Ling & Contributors.
|
||||
[MIT License][58]. Copyright (c) 2013-2020 Bailey Ling & Contributors.
|
||||
|
||||
[1]: https://github.com/Lokaltog/vim-powerline
|
||||
[2]: https://github.com/powerline/powerline
|
||||
[2]: https://github.com/Lokaltog/powerline
|
||||
[3]: https://github.com/Lokaltog/powerline-fonts
|
||||
[4]: https://github.com/tpope/vim-fugitive
|
||||
[5]: https://github.com/scrooloose/syntastic
|
||||
@@ -331,7 +321,7 @@ If you are interested in becoming a maintainer (we always welcome more maintaine
|
||||
[18]: https://github.com/preservim/nerdtree
|
||||
[19]: https://github.com/majutsushi/tagbar
|
||||
[20]: https://powerline.readthedocs.org/en/master/installation.html#patched-fonts
|
||||
[21]: https://github.com/ludovicchabant/vim-lawrencium
|
||||
[21]: https://bitbucket.org/ludovicchabant/vim-lawrencium
|
||||
[22]: https://github.com/MarcWeber/vim-addon-manager
|
||||
[23]: https://github.com/altercation/solarized
|
||||
[24]: https://github.com/chriskempson/tomorrow-theme
|
||||
@@ -354,6 +344,7 @@ If you are interested in becoming a maintainer (we always welcome more maintaine
|
||||
[41]: https://github.com/bling
|
||||
[42]: https://github.com/chrisbra
|
||||
[43]: https://github.com/vim-airline/vim-airline/wiki/Becoming-a-Maintainer
|
||||
[44]: https://github.com/mhartington
|
||||
[45]: https://github.com/vim-airline/vim-airline/commit/d7fd8ca649e441b3865551a325b10504cdf0711b
|
||||
[46]: https://github.com/vim-airline/vim-airline-themes#vim-airline-themes--
|
||||
[47]: https://github.com/mildred/vim-bufmru
|
||||
@@ -371,6 +362,3 @@ If you are interested in becoming a maintainer (we always welcome more maintaine
|
||||
[59]: https://github.com/neoclide/coc-git
|
||||
[60]: https://github.com/cdelledonne/vim-cmake
|
||||
[61]: http://github.com/lambdalisue/battery.vim/
|
||||
[62]: http://github.com/rbong/vim-flog/
|
||||
[63]: https://github.com/lewis6991/gitsigns.nvim
|
||||
[64]: https://github.com/VimfanTPdvorak/vimodoro
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env rake
|
||||
|
||||
task :default => [:test]
|
||||
|
||||
task :ci => [:dump, :test]
|
||||
|
||||
task :dump do
|
||||
sh 'vim --version'
|
||||
end
|
||||
|
||||
task :test do
|
||||
sh 'bundle exec vim-flavor test'
|
||||
end
|
||||
|
||||
+47
-75
@@ -1,35 +1,25 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', [])
|
||||
let g:airline_inactive_funcrefs = get(g:, 'airline_inactive_statusline_funcrefs', [])
|
||||
|
||||
let s:sections = ['a','b','c','gutter','x','y','z', 'error', 'warning', 'warning2']
|
||||
let s:sections = ['a','b','c','gutter','x','y','z', 'error', 'warning']
|
||||
let s:inactive_funcrefs = []
|
||||
let s:contexts = {}
|
||||
let s:core_funcrefs = [
|
||||
\ function('airline#extensions#apply'),
|
||||
\ function('airline#extensions#default#apply') ]
|
||||
|
||||
|
||||
function! airline#add_statusline_func(name, ...)
|
||||
let warn = get(a:, 1, 1)
|
||||
call airline#add_statusline_funcref(function(a:name), warn)
|
||||
function! airline#add_statusline_func(name)
|
||||
call airline#add_statusline_funcref(function(a:name))
|
||||
endfunction
|
||||
|
||||
function! airline#add_inactive_statusline_func(name, ...)
|
||||
let warn = get(a:, 1, 1)
|
||||
call airline#add_inactive_statusline_funcref(function(a:name), warn)
|
||||
endfunction
|
||||
|
||||
|
||||
function! airline#add_statusline_funcref(function, ...)
|
||||
function! airline#add_statusline_funcref(function)
|
||||
if index(g:airline_statusline_funcrefs, a:function) >= 0
|
||||
let warn = get(a:, 1, 1)
|
||||
if warn > 0
|
||||
call airline#util#warning(printf('The airline statusline funcref "%s" has already been added.', string(a:function)))
|
||||
endif
|
||||
call airline#util#warning(printf('The airline statusline funcref "%s" has already been added.', string(a:function)))
|
||||
return
|
||||
endif
|
||||
call add(g:airline_statusline_funcrefs, a:function)
|
||||
@@ -42,15 +32,8 @@ function! airline#remove_statusline_func(name)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#add_inactive_statusline_funcref(function, ...)
|
||||
if index(g:airline_inactive_funcrefs, a:function) >= 0
|
||||
let warn = get(a:, 1, 1)
|
||||
if warn > 0
|
||||
call airline#util#warning(printf('The airline inactive statusline funcref "%s" has already been added.', string(a:function)))
|
||||
endif
|
||||
return
|
||||
endif
|
||||
call add(g:airline_inactive_funcrefs, a:function)
|
||||
function! airline#add_inactive_statusline_func(name)
|
||||
call add(s:inactive_funcrefs, function(a:name))
|
||||
endfunction
|
||||
|
||||
function! airline#load_theme()
|
||||
@@ -70,8 +53,6 @@ function! airline#load_theme()
|
||||
call airline#highlighter#load_theme()
|
||||
call airline#extensions#load_theme()
|
||||
call airline#update_statusline()
|
||||
|
||||
call airline#util#doautocmd('AirlineAfterTheme')
|
||||
endfunction
|
||||
|
||||
" Load an airline theme
|
||||
@@ -112,6 +93,8 @@ function! airline#switch_theme(name, ...)
|
||||
unlet! w:airline_lastmode
|
||||
call airline#load_theme()
|
||||
|
||||
call airline#util#doautocmd('AirlineAfterTheme')
|
||||
|
||||
" this is required to prevent clobbering the startup info message, i don't know why...
|
||||
call airline#check_mode(winnr())
|
||||
endfunction
|
||||
@@ -142,10 +125,9 @@ endfunction
|
||||
|
||||
" Update the statusline
|
||||
function! airline#update_statusline()
|
||||
if airline#util#stl_disabled(winnr()) || airline#util#is_popup_window(winnr())
|
||||
if airline#util#stl_disabled(winnr())
|
||||
return
|
||||
endif
|
||||
" TODO: need to ignore popup windows here as well?
|
||||
let range = filter(range(1, winnr('$')), 'v:val != winnr()')
|
||||
" create inactive statusline
|
||||
call airline#update_statusline_inactive(range)
|
||||
@@ -156,12 +138,7 @@ function! airline#update_statusline()
|
||||
" Now create the active statusline
|
||||
let w:airline_active = 1
|
||||
let context = { 'winnr': winnr(), 'active': 1, 'bufnr': winbufnr(winnr()) }
|
||||
try
|
||||
call s:invoke_funcrefs(context, g:airline_statusline_funcrefs)
|
||||
catch /^Vim\%((\a\+)\)\=:E48:/
|
||||
" Catch: Sandbox mode
|
||||
" no-op
|
||||
endtry
|
||||
call s:invoke_funcrefs(context, g:airline_statusline_funcrefs)
|
||||
endfunction
|
||||
|
||||
" Function to be called to make all statuslines inactive
|
||||
@@ -191,12 +168,7 @@ function! airline#update_statusline_inactive(range)
|
||||
\ 'left_sep': g:airline_left_alt_sep,
|
||||
\ 'right_sep': g:airline_right_alt_sep }, 'keep')
|
||||
endif
|
||||
try
|
||||
call s:invoke_funcrefs(context, g:airline_inactive_funcrefs)
|
||||
catch /^Vim\%((\a\+)\)\=:E48:/
|
||||
" Catch: Sandbox mode
|
||||
" no-op
|
||||
endtry
|
||||
call s:invoke_funcrefs(context, s:inactive_funcrefs)
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
@@ -231,66 +203,66 @@ function! airline#check_mode(winnr)
|
||||
let context = s:contexts[a:winnr]
|
||||
|
||||
if get(w:, 'airline_active', 1)
|
||||
let m = mode(1)
|
||||
" Refer :help mode() to see the list of modes
|
||||
" NB: 'let mode' here refers to the display colour _groups_,
|
||||
" not the literal mode's code (i.e., m). E.g., Select modes
|
||||
" v, S and ^V use 'visual' since they are of similar ilk.
|
||||
" Some modes do not get recognised for status line purposes:
|
||||
" no, nov, noV, no^V, !, cv, and ce.
|
||||
" Mode name displayed is handled in init.vim (g:airline_mode_map).
|
||||
"
|
||||
if m[0] ==# "i"
|
||||
let mode = ['insert'] " Insert modes + submodes (i, ic, ix)
|
||||
elseif m[0] == "R"
|
||||
let mode = ['replace'] " Replace modes + submodes (R, Rc, Rv, Rx) (NB: case sensitive as 'r' is a mode)
|
||||
elseif m[0] =~ '\v(v|V||s|S|)'
|
||||
let mode = ['visual'] " Visual and Select modes (v, V, ^V, s, S, ^S))
|
||||
elseif m ==# "t"
|
||||
let mode = ['terminal'] " Terminal mode (only has one mode (t))
|
||||
elseif m[0] =~ '\v(c|r|!)'
|
||||
let mode = ['commandline'] " c, cv, ce, r, rm, r? (NB: cv and ce stay showing as mode entered from)
|
||||
let l:m = mode(1)
|
||||
if l:m ==# "i"
|
||||
let l:mode = ['insert']
|
||||
elseif l:m[0] ==# "i"
|
||||
let l:mode = ['insert']
|
||||
elseif l:m ==# "Rv"
|
||||
let l:mode =['replace']
|
||||
elseif l:m[0] ==# "R"
|
||||
let l:mode = ['replace']
|
||||
elseif l:m[0] =~# '\v(v|V||s|S|)'
|
||||
let l:mode = ['visual']
|
||||
elseif l:m ==# "t"
|
||||
let l:mode = ['terminal']
|
||||
elseif l:m[0] ==# "c"
|
||||
let l:mode = ['commandline']
|
||||
elseif l:m ==# "no" " does not work, most likely, Vim does not refresh the statusline in OP mode
|
||||
let l:mode = ['normal']
|
||||
elseif l:m[0:1] ==# 'ni'
|
||||
let l:mode = ['insert']
|
||||
let l:m = 'ni'
|
||||
else
|
||||
let mode = ['normal'] " Normal mode + submodes (n, niI, niR, niV; plus operator pendings no, nov, noV, no^V)
|
||||
let l:mode = ['normal']
|
||||
endif
|
||||
if exists("*VMInfos") && !empty(VMInfos())
|
||||
" Vim plugin Multiple Cursors https://github.com/mg979/vim-visual-multi
|
||||
let m = 'multi'
|
||||
let l:m = 'multi'
|
||||
endif
|
||||
" Adjust to handle additional modes, which don't display correctly otherwise
|
||||
if index(['niI', 'niR', 'niV', 'ic', 'ix', 'Rc', 'Rv', 'Rx', 'multi'], m) == -1
|
||||
let m = m[0]
|
||||
if index(['Rv', 'no', 'ni', 'ix', 'ic', 'multi'], l:m) == -1
|
||||
let l:m = l:m[0]
|
||||
endif
|
||||
let w:airline_current_mode = get(g:airline_mode_map, m, m)
|
||||
let w:airline_current_mode = get(g:airline_mode_map, l:m, l:m)
|
||||
else
|
||||
let mode = ['inactive']
|
||||
let l:mode = ['inactive']
|
||||
let w:airline_current_mode = get(g:airline_mode_map, '__')
|
||||
endif
|
||||
|
||||
if g:airline_detect_modified && &modified
|
||||
call add(mode, 'modified')
|
||||
call add(l:mode, 'modified')
|
||||
endif
|
||||
|
||||
if g:airline_detect_paste && &paste
|
||||
call add(mode, 'paste')
|
||||
call add(l:mode, 'paste')
|
||||
endif
|
||||
|
||||
if g:airline_detect_crypt && exists("+key") && !empty(&key)
|
||||
call add(mode, 'crypt')
|
||||
call add(l:mode, 'crypt')
|
||||
endif
|
||||
|
||||
if g:airline_detect_spell && &spell
|
||||
call add(mode, 'spell')
|
||||
call add(l:mode, 'spell')
|
||||
endif
|
||||
|
||||
if &readonly || ! &modifiable
|
||||
call add(mode, 'readonly')
|
||||
call add(l:mode, 'readonly')
|
||||
endif
|
||||
|
||||
let mode_string = join(mode)
|
||||
let mode_string = join(l:mode)
|
||||
if get(w:, 'airline_lastmode', '') != mode_string
|
||||
call airline#highlighter#highlight_modified_inactive(context.bufnr)
|
||||
call airline#highlighter#highlight(mode, string(context.bufnr))
|
||||
call airline#highlighter#highlight(l:mode, string(context.bufnr))
|
||||
call airline#util#doautocmd('AirlineModeChanged')
|
||||
let w:airline_lastmode = mode_string
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -90,7 +90,7 @@ function! s:prototype.build() dict
|
||||
" need to fix highlighting groups, since we
|
||||
" have skipped a section, we actually need
|
||||
" the previous previous group and so the
|
||||
" separator goes from the previous previous group
|
||||
" seperator goes from the previous previous group
|
||||
" to the current group
|
||||
let pgroup = group
|
||||
endif
|
||||
@@ -106,12 +106,12 @@ function! s:prototype.build() dict
|
||||
let line .= '%#'.group.'#'
|
||||
elseif split
|
||||
if !is_empty
|
||||
let line .= s:get_transitioned_separator(self, prev_group, group, side)
|
||||
let line .= s:get_transitioned_seperator(self, prev_group, group, side)
|
||||
endif
|
||||
let split = 0
|
||||
else
|
||||
if !is_empty
|
||||
let line .= s:get_separator(self, prev_group, group, side)
|
||||
let line .= s:get_seperator(self, prev_group, group, side)
|
||||
endif
|
||||
endif
|
||||
let line .= is_empty ? '' : s:get_accented_line(self, group, contents)
|
||||
@@ -137,7 +137,7 @@ function! airline#builder#should_change_group(group1, group2)
|
||||
\ || color1[2] != color2[2] || color1[3] != color2[3]
|
||||
endfunction
|
||||
|
||||
function! s:get_transitioned_separator(self, prev_group, group, side)
|
||||
function! s:get_transitioned_seperator(self, prev_group, group, side)
|
||||
let line = ''
|
||||
if get(a:self._context, 'tabline', 0) && get(g:, 'airline#extensions#tabline#alt_sep', 0) && a:group ==# 'airline_tabsel' && a:side
|
||||
call airline#highlighter#add_separator(a:prev_group, a:group, 0)
|
||||
@@ -152,9 +152,9 @@ function! s:get_transitioned_separator(self, prev_group, group, side)
|
||||
return line
|
||||
endfunction
|
||||
|
||||
function! s:get_separator(self, prev_group, group, side)
|
||||
function! s:get_seperator(self, prev_group, group, side)
|
||||
if airline#builder#should_change_group(a:prev_group, a:group)
|
||||
return s:get_transitioned_separator(a:self, a:prev_group, a:group, a:side)
|
||||
return s:get_transitioned_seperator(a:self, a:prev_group, a:group, a:side)
|
||||
else
|
||||
return a:side ? a:self._context.left_alt_sep : a:self._context.right_alt_sep
|
||||
endif
|
||||
@@ -190,31 +190,28 @@ function! s:section_is_empty(self, content)
|
||||
endif
|
||||
|
||||
" only check, if airline#skip_empty_sections == 1
|
||||
if get(g:, 'airline_skip_empty_sections', 0) == 0 ||
|
||||
\ get(w:, 'airline_skip_empty_sections', -1) == 0
|
||||
if get(g:, 'airline_skip_empty_sections', 0) == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" special case: When the content is %=, that is the
|
||||
" separation marker, which switches between left- and
|
||||
" right-aligned content.
|
||||
" Consider that to be empty, so that the previous previous
|
||||
" group is correctly remembered in the builder() function
|
||||
if empty(a:content) || a:content is# '%='
|
||||
" only check, if airline#skip_empty_sections == 1
|
||||
if get(w:, 'airline_skip_empty_sections', -1) == 0
|
||||
return 0
|
||||
endif
|
||||
" assume accents sections to be never empty
|
||||
" (avoides, that on startup the mode message becomes empty)
|
||||
if match(a:content, '%#__accent_[^#]*#.*__restore__#') > -1
|
||||
return 0
|
||||
endif
|
||||
if empty(a:content)
|
||||
return 1
|
||||
endif
|
||||
|
||||
let stripped = substitute(a:content,
|
||||
\ '\(%{.*}\|%#__accent_[^#]*#\|%#__restore__#\|%( \| %)\)', '', 'g')
|
||||
|
||||
if !empty(stripped)
|
||||
return 0 " There is content in the statusline
|
||||
let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start)
|
||||
if empty(list)
|
||||
return 0 " no function in statusline text
|
||||
endif
|
||||
|
||||
let exprlist = []
|
||||
call substitute(a:content, '%{\([^}]*\)}', '\=add(exprlist, submatch(1))', 'g')
|
||||
|
||||
for expr in exprlist
|
||||
while len(list) > 0
|
||||
let expr = list[0]
|
||||
try
|
||||
" catch all exceptions, just in case
|
||||
if !empty(eval(expr))
|
||||
@@ -223,7 +220,9 @@ function! s:section_is_empty(self, content)
|
||||
catch
|
||||
return 0
|
||||
endtry
|
||||
endfor
|
||||
let start += 1
|
||||
let list=matchlist(a:content, '%{\zs.\{-}\ze}', 1, start)
|
||||
endw
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -26,7 +26,6 @@ let s:filetype_overrides = {
|
||||
\ 'coc-explorer': [ 'CoC Explorer', '' ],
|
||||
\ 'defx': ['defx', '%{b:defx.paths[0]}'],
|
||||
\ 'fugitive': ['fugitive', '%{airline#util#wrap(airline#extensions#branch#get_head(),80)}'],
|
||||
\ 'floggraph': [ 'Flog', '%{get(b:, "flog_status_summary", "")}' ],
|
||||
\ 'gundo': [ 'Gundo', '' ],
|
||||
\ 'help': [ 'Help', '%f' ],
|
||||
\ 'minibufexpl': [ 'MiniBufExplorer', '' ],
|
||||
@@ -167,7 +166,7 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'gina')
|
||||
endif
|
||||
|
||||
if get(g:, 'loaded_fern', 0) && get(g:, 'airline#extensions#fern#enabled', 1)
|
||||
if get(g:, 'fern_loaded', 0) && get(g:, 'airline#extensions#fern#enabled', 1)
|
||||
call airline#extensions#fern#init(s:ext)
|
||||
call add(s:loaded_ext, 'fern')
|
||||
endif
|
||||
@@ -177,11 +176,6 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'netrw')
|
||||
endif
|
||||
|
||||
if get(g:, 'loaded_nerdfont', 0) && get(g:, 'airline#extensions#nerdfont#enabled', 1)
|
||||
call airline#extensions#nerdfont#init(s:ext)
|
||||
call add(s:loaded_ext, 'nerdfont')
|
||||
endif
|
||||
|
||||
" fzf buffers are also terminal buffers, so this must be above term.
|
||||
if exists(':FZF') && get(g:, 'airline#extensions#fzf#enabled', 1)
|
||||
call airline#extensions#fzf#init(s:ext)
|
||||
@@ -234,17 +228,11 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'undotree')
|
||||
endif
|
||||
|
||||
if exists(':RTM')
|
||||
call airline#extensions#vimodoro#init(s:ext)
|
||||
call add(s:loaded_ext, 'vimodoro')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#hunks#enabled', 1)
|
||||
\ && (exists('g:loaded_signify')
|
||||
\ || exists('g:loaded_gitgutter')
|
||||
\ || exists('g:loaded_changes')
|
||||
\ || exists('g:loaded_quickfixsigns')
|
||||
\ || exists(':Gitsigns')
|
||||
\ || exists(':CocCommand'))
|
||||
call airline#extensions#hunks#init(s:ext)
|
||||
call add(s:loaded_ext, 'hunks')
|
||||
@@ -261,10 +249,6 @@ function! airline#extensions#load()
|
||||
call airline#extensions#tagbar#init(s:ext)
|
||||
call add(s:loaded_ext, 'tagbar')
|
||||
endif
|
||||
if get(g:, 'airline#extensions#taglist#enabled', 1) && exists(':TlistShowTag')
|
||||
call airline#extensions#taglist#init(s:ext)
|
||||
call add(s:loaded_ext, 'taglist')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#vista#enabled', 1)
|
||||
\ && exists(':Vista')
|
||||
@@ -278,11 +262,6 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'bookmark')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#scrollbar#enabled', 0)
|
||||
call airline#extensions#scrollbar#init(s:ext)
|
||||
call add(s:loaded_ext, 'scrollbar')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#csv#enabled', 1)
|
||||
\ && (get(g:, 'loaded_csv', 0) || exists(':Table'))
|
||||
call airline#extensions#csv#init(s:ext)
|
||||
@@ -359,8 +338,7 @@ function! airline#extensions#load()
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
||||
\ && has('nvim')
|
||||
\ && luaeval('vim.lsp ~= nil'))
|
||||
\ && exists(':LspInstallInfo'))
|
||||
call airline#extensions#nvimlsp#init(s:ext)
|
||||
call add(s:loaded_ext, 'nvimlsp')
|
||||
endif
|
||||
@@ -400,11 +378,6 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'tabline')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#tabpanel#enabled', 0)
|
||||
call airline#extensions#tabpanel#Init(s:ext)
|
||||
call add(s:loaded_ext, 'tabpanel')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#tmuxline#enabled', 1) && exists(':Tmuxline')
|
||||
call airline#extensions#tmuxline#init(s:ext)
|
||||
call add(s:loaded_ext, 'tmuxline')
|
||||
@@ -430,11 +403,6 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'capslock')
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#codeium#enabled', 1) && get(g:, 'loaded_codeium', 0))
|
||||
call airline#extensions#codeium#init(s:ext)
|
||||
call add(s:loaded_ext, 'codeium')
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#gutentags#enabled', 1) && get(g:, 'loaded_gutentags', 0))
|
||||
call airline#extensions#gutentags#init(s:ext)
|
||||
call add(s:loaded_ext, 'gutentags')
|
||||
@@ -450,7 +418,7 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'grepper')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#xkblayout#enabled', 1) && (exists('g:XkbSwitchLib') || exists('*FcitxCurrentIM') || has('nvim'))
|
||||
if (get(g:, 'airline#extensions#xkblayout#enabled', 1) && exists('g:XkbSwitchLib'))
|
||||
call airline#extensions#xkblayout#init(s:ext)
|
||||
call add(s:loaded_ext, 'xkblayout')
|
||||
endif
|
||||
@@ -493,22 +461,17 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'battery')
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#vim9lsp#enabled', 1) && exists('*lsp#lsp#ErrorCount'))
|
||||
call airline#extensions#vim9lsp#init(s:ext)
|
||||
call add(s:loaded_ext, 'vim9lsp')
|
||||
endif
|
||||
|
||||
if !get(g:, 'airline#extensions#disable_rtp_load', 0)
|
||||
" load all other extensions, which are not part of the default distribution.
|
||||
" (autoload/airline/extensions/*.vim outside of our s:script_path).
|
||||
for file in split(globpath(&rtp, 'autoload/airline/extensions/*.vim', 1), "\n")
|
||||
for file in split(globpath(&rtp, "autoload/airline/extensions/*.vim"), "\n")
|
||||
" we have to check both resolved and unresolved paths, since it's possible
|
||||
" that they might not get resolved properly (see #187)
|
||||
if stridx(tolower(resolve(fnamemodify(file, ':p'))), s:script_path) < 0
|
||||
\ && stridx(tolower(fnamemodify(file, ':p')), s:script_path) < 0
|
||||
let name = fnamemodify(file, ':t:r')
|
||||
if !get(g:, 'airline#extensions#'.name.'#enabled', 1) ||
|
||||
\ index(s:loaded_ext, name.'*') > -1
|
||||
\ index(s:loaded_ext, name) > -1
|
||||
continue
|
||||
endif
|
||||
try
|
||||
@@ -531,16 +494,6 @@ function! airline#extensions#load()
|
||||
call add(s:loaded_ext, 'omnisharp')
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#rufo#enabled', 0) && get(g:, 'rufo_loaded', 0))
|
||||
call airline#extensions#rufo#init(s:ext)
|
||||
call add(s:loaded_ext, 'rufo')
|
||||
endif
|
||||
|
||||
if (get(g:, 'airline#extensions#zhihu#enabled', 1) && airline#util#has_zhihu())
|
||||
call airline#extensions#zhihu#init(s:ext)
|
||||
call add(s:loaded_ext, 'zhihu')
|
||||
endif
|
||||
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#get_loaded_extensions()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bjorn Neergaard, w0rp et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bjorn Neergaard, w0rp et al.
|
||||
" Plugin: https://github.com/dense-analysis/ale
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -128,10 +128,6 @@ function! airline#extensions#ale#init(ext)
|
||||
endfunction
|
||||
|
||||
function! s:ale_refresh()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
if get(g:, 'airline_skip_empty_sections', 0)
|
||||
exe ':AirlineRefresh!'
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" MIT License. Copyright (c) 2014-2020 Mathias Andersson et al.
|
||||
" Plugin: https://github.com/lambdalisue/battery.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2026 Bjoern Petri <bjoern.petri@sundevil.de>
|
||||
" MIT License. Copyright (c) 2020 Bjoern Petri <bjoern.petri@sundevil.de>
|
||||
" Plugin: https://github.com/MattesGroeger/vim-bookmarks
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: fugitive, gina, lawrencium and vcscommand
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -17,8 +17,8 @@ scriptencoding utf-8
|
||||
let s:vcs_config = {
|
||||
\ 'git': {
|
||||
\ 'exe': 'git',
|
||||
\ 'cmd': 'git --no-optional-locks status --porcelain -- ',
|
||||
\ 'dirty': 'git --no-optional-locks status -uno --porcelain --ignore-submodules',
|
||||
\ 'cmd': 'git status --porcelain -- ',
|
||||
\ 'dirty': 'git status -uno --porcelain --ignore-submodules',
|
||||
\ 'untracked_mark': '??',
|
||||
\ 'exclude': '\.git',
|
||||
\ 'update_branch': 's:update_git_branch',
|
||||
@@ -86,39 +86,36 @@ let s:sha1size = get(g:, 'airline#extensions#branch#sha1_len', 7)
|
||||
|
||||
function! s:update_git_branch()
|
||||
call airline#util#ignore_next_focusgain()
|
||||
if airline#util#has_fugitive()
|
||||
call s:config_fugitive_branch()
|
||||
elseif airline#util#has_gina()
|
||||
call s:config_gina_branch()
|
||||
else
|
||||
if !airline#util#has_fugitive() && !airline#util#has_gina()
|
||||
let s:vcs_config['git'].branch = ''
|
||||
return
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:config_fugitive_branch() abort
|
||||
let s:vcs_config['git'].branch = FugitiveHead(s:sha1size)
|
||||
if s:vcs_config['git'].branch is# 'master' &&
|
||||
\ airline#util#winwidth() < 81
|
||||
" Shorten default a bit
|
||||
let s:vcs_config['git'].branch='mas'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:config_gina_branch() abort
|
||||
try
|
||||
let g:gina#component#repo#commit_length = s:sha1size
|
||||
let s:vcs_config['git'].branch = gina#component#repo#branch()
|
||||
catch
|
||||
endtry
|
||||
if s:vcs_config['git'].branch is# 'master' &&
|
||||
\ airline#util#winwidth() < 81
|
||||
" Shorten default a bit
|
||||
let s:vcs_config['git'].branch='mas'
|
||||
if airline#util#has_fugitive()
|
||||
let s:vcs_config['git'].branch = exists("*FugitiveHead") ?
|
||||
\ FugitiveHead(s:sha1size) : fugitive#head(s:sha1size)
|
||||
if s:vcs_config['git'].branch is# 'master' &&
|
||||
\ airline#util#winwidth() < 81
|
||||
" Shorten default a bit
|
||||
let s:vcs_config['git'].branch='mas'
|
||||
endif
|
||||
else
|
||||
try
|
||||
let g:gina#component#repo#commit_length = s:sha1size
|
||||
let s:vcs_config['git'].branch = gina#component#repo#branch()
|
||||
catch
|
||||
endtry
|
||||
if s:vcs_config['git'].branch is# 'master' &&
|
||||
\ airline#util#winwidth() < 81
|
||||
" Shorten default a bit
|
||||
let s:vcs_config['git'].branch='mas'
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:display_git_branch()
|
||||
" disable FocusGained autocommand, might cause loops because system() causes
|
||||
" a refresh, which causes a system() command again #2029
|
||||
call airline#util#ignore_next_focusgain()
|
||||
let name = b:buffer_vcs_config['git'].branch
|
||||
try
|
||||
let commit = matchstr(FugitiveParse()[0], '^\x\+')
|
||||
@@ -126,15 +123,8 @@ function! s:display_git_branch()
|
||||
if has_key(s:names, commit)
|
||||
let name = get(s:names, commit)."(".name.")"
|
||||
elseif !empty(commit)
|
||||
if exists('*FugitiveExecute')
|
||||
let ref = FugitiveExecute(['describe', '--all', '--exact-match', commit], bufnr('')).stdout[0]
|
||||
else
|
||||
noautocmd let ref = fugitive#repo().git_chomp('describe', '--all', '--exact-match', commit)
|
||||
if ref =~# ':'
|
||||
let ref = ''
|
||||
endif
|
||||
endif
|
||||
if !empty(ref)
|
||||
let ref = fugitive#repo().git_chomp('describe', '--all', '--exact-match', commit)
|
||||
if ref !~ "^fatal: no tag exactly matches"
|
||||
let name = s:format_name(substitute(ref, '\v\C^%(heads/|remotes/|tags/)=','',''))."(".name.")"
|
||||
else
|
||||
let name = matchstr(commit, '.\{'.s:sha1size.'}')."(".name.")"
|
||||
@@ -328,10 +318,6 @@ endfunction
|
||||
|
||||
function! s:reset_untracked_cache(shellcmdpost)
|
||||
" shellcmdpost - whether function was called as a result of ShellCmdPost hook
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
if !g:airline#init#vim_async && !has('nvim')
|
||||
if a:shellcmdpost
|
||||
" Clear cache only if there was no error or the script uses an
|
||||
@@ -353,17 +339,11 @@ function! s:reset_untracked_cache(shellcmdpost)
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:sh_autocmd_handler()
|
||||
if exists('#airline')
|
||||
unlet! b:airline_head b:airline_do_mq_check
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#branch#init(ext)
|
||||
call airline#parts#define_function('branch', 'airline#extensions#branch#get_head')
|
||||
|
||||
autocmd ShellCmdPost,CmdwinLeave * call s:sh_autocmd_handler()
|
||||
autocmd User AirlineBeforeRefresh call s:sh_autocmd_handler()
|
||||
autocmd ShellCmdPost,CmdwinLeave * unlet! b:airline_head b:airline_do_mq_check
|
||||
autocmd User AirlineBeforeRefresh unlet! b:airline_head b:airline_do_mq_check
|
||||
autocmd BufWritePost * call s:reset_untracked_cache(0)
|
||||
autocmd ShellCmdPost * call s:reset_untracked_cache(1)
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/bling/vim-bufferline
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -20,7 +20,7 @@ function! airline#extensions#bufferline#init(ext)
|
||||
endif
|
||||
|
||||
if exists("+autochdir") && &autochdir == 1
|
||||
" if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well
|
||||
" if 'acd' is set, vim-airline uses the path section, so we need ot redefine this here as well
|
||||
call airline#parts#define_raw('path', '%{bufferline#refresh_status()}'.bufferline#get_status_string())
|
||||
else
|
||||
call airline#parts#define_raw('file', '%{bufferline#refresh_status()}'.bufferline#get_status_string())
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" MIT License. Copyright (c) 2014-2020 Mathias Andersson et al.
|
||||
" Plugin: https://github.com/tpope/vim-capslock
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
" MIT License. Copyright (c) 2019-2026 Peng Guanwen et al.
|
||||
" MIT License. Copyright (c) 2019-2020 Peng Guanwen et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
" Plugin: https://github.com/neoclide/coc
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let s:show_coc_status = get(g:, 'airline#extensions#coc#show_coc_status', 1)
|
||||
let s:error_symbol = get(g:, 'airline#extensions#coc#error_symbol', 'E:')
|
||||
let s:warning_symbol = get(g:, 'airline#extensions#coc#warning_symbol', 'W:')
|
||||
|
||||
function! airline#extensions#coc#get_warning() abort
|
||||
return airline#extensions#coc#get('warning')
|
||||
@@ -15,40 +16,39 @@ function! airline#extensions#coc#get_error() abort
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#get(type) abort
|
||||
if !exists(':CocCommand') | return '' | endif
|
||||
|
||||
if !exists(':CocCommand')
|
||||
return ''
|
||||
endif
|
||||
let _backup = get(g:, 'coc_stl_format', '')
|
||||
let is_err = (a:type is# 'error')
|
||||
if is_err
|
||||
let g:coc_stl_format = get(g:, 'airline#extensions#coc#stl_format_err', '%E{[%e(#%fe)]}')
|
||||
else
|
||||
let g:coc_stl_format = get(g:, 'airline#extensions#coc#stl_format_warn', '%W{[%w(#%fw)]}')
|
||||
endif
|
||||
let info = get(b:, 'coc_diagnostic_info', {})
|
||||
if empty(info) | return '' | endif
|
||||
|
||||
|
||||
let cnt = get(info, a:type, 0)
|
||||
if empty(cnt) | return '' | endif
|
||||
if !empty(_backup)
|
||||
let g:coc_stl_format = _backup
|
||||
endif
|
||||
|
||||
let error_symbol = get(g:, 'airline#extensions#coc#error_symbol', 'E:')
|
||||
let warning_symbol = get(g:, 'airline#extensions#coc#warning_symbol', 'W:')
|
||||
let error_format = get(g:, 'airline#extensions#coc#stl_format_err', '%C(L%L)')
|
||||
let warning_format = get(g:, 'airline#extensions#coc#stl_format_warn', '%C(L%L)')
|
||||
|
||||
" replace %C with error count and %L with line number
|
||||
return (is_err ? error_symbol : warning_symbol) .
|
||||
\ substitute(substitute(is_err ? error_format : warning_format,
|
||||
\ '%C', cnt, 'g'),
|
||||
\ '%L', (info.lnums)[is_err ? 0 : 1], 'g')
|
||||
if empty(cnt)
|
||||
return ''
|
||||
else
|
||||
return (is_err ? s:error_symbol : s:warning_symbol).cnt
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#get_status() abort
|
||||
" Shorten text for windows < 91 characters
|
||||
let status = airline#util#shorten(get(g:, 'coc_status', ''), 91, 9)
|
||||
return (s:show_coc_status ? status : '')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#get_current_function() abort
|
||||
return get(b:, 'coc_current_function', '')
|
||||
return airline#util#shorten(get(g:, 'coc_status', ''), 91, 9)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#init(ext) abort
|
||||
call airline#parts#define_function('coc_error_count', 'airline#extensions#coc#get_error')
|
||||
call airline#parts#define_function('coc_warning_count', 'airline#extensions#coc#get_warning')
|
||||
call airline#parts#define_function('coc_status', 'airline#extensions#coc#get_status')
|
||||
call airline#parts#define_function('coc_current_function', 'airline#extensions#coc#get_current_function')
|
||||
endfunction
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" Plugin: https://github.com/Exafunction/codeium.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !get(g:, 'loaded_codeium', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#codeium#status() abort
|
||||
return '{…}' . codeium#GetStatusString()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#codeium#init(ext) abort
|
||||
call airline#parts#define_function('codeium', 'airline#extensions#codeium#status')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/wincent/command-t
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling, Christian Brabandt et al.
|
||||
" Plugin: https://github.com/chrisbra/csv.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/ctrlpvim/ctrlp.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/szw/vim-ctrlspace
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" MIT Licsense.
|
||||
" Plugin: https://github.com/vheon/vim-cursormode
|
||||
" Copyright (C) 2014-2026 Andrea Cedraro <a.cedraro@gmail.com>, Eduardo Suarez-Santana <e.suarezsantana@gmail.com>
|
||||
" Copyright (C) 2014 Andrea Cedraro <a.cedraro@gmail.com>,
|
||||
" Copyright (C) 2017 Eduardo Suarez-Santana <e.suarezsantana@gmail.com>
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -106,10 +107,6 @@ augroup airline#extensions#cursormode
|
||||
augroup END
|
||||
|
||||
function! airline#extensions#cursormode#activate()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
let s:color_map = s:get_color_map()
|
||||
call airline#extensions#cursormode#set()
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -7,15 +7,14 @@ let s:section_use_groups = get(g:, 'airline#extensions#default#section_use_g
|
||||
let s:section_truncate_width = get(g:, 'airline#extensions#default#section_truncate_width', {
|
||||
\ 'b': 79,
|
||||
\ 'x': 60,
|
||||
\ 'y': 80,
|
||||
\ 'y': 88,
|
||||
\ 'z': 45,
|
||||
\ 'warning': 80,
|
||||
\ 'error': 80,
|
||||
\ 'warning2': 80,
|
||||
\ })
|
||||
let s:layout = get(g:, 'airline#extensions#default#layout', [
|
||||
\ [ 'a', 'b', 'c' ],
|
||||
\ [ 'x', 'y', 'z', 'warning', 'error', 'warning2' ]
|
||||
\ [ 'x', 'y', 'z', 'warning', 'error' ]
|
||||
\ ])
|
||||
|
||||
function! s:get_section(winnr, key, ...)
|
||||
@@ -33,24 +32,9 @@ function! s:get_section(winnr, key, ...)
|
||||
return empty(text) ? '' : prefix.text.suffix
|
||||
endfunction
|
||||
|
||||
function! s:eval_section_empty(content)
|
||||
let exprlist = []
|
||||
call substitute(a:content, '%{\([^}]*\)}', '\=add(exprlist, submatch(1))', 'g')
|
||||
for expr in exprlist
|
||||
try
|
||||
if !empty(eval(expr))
|
||||
return 0
|
||||
endif
|
||||
catch
|
||||
return 0
|
||||
endtry
|
||||
endfor
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
function! s:build_sections(builder, context, keys)
|
||||
for key in a:keys
|
||||
if (key == 'warning' || key == 'error' || key == 'warning2') && !a:context.active
|
||||
if (key == 'warning' || key == 'error') && !a:context.active
|
||||
continue
|
||||
endif
|
||||
call s:add_section(a:builder, a:context, key)
|
||||
@@ -65,30 +49,21 @@ if s:section_use_groups && (v:version >= 704 || (v:version >= 703 && has('patch8
|
||||
\ (v:version == 704 && !has("patch1511"))
|
||||
" i have no idea why the warning section needs special treatment, but it's
|
||||
" needed to prevent separators from showing up
|
||||
if ((a:key == 'error' || a:key == 'warning' || a:key == 'warning2')
|
||||
\ && empty(s:get_section(a:context.winnr, a:key)))
|
||||
if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key)))
|
||||
return
|
||||
endif
|
||||
if a:key == 'warning2' && airline#util#has_multiline()
|
||||
let section = s:get_section(a:context.winnr, a:key)
|
||||
if !s:eval_section_empty(section)
|
||||
call a:builder.add_raw('%@%#airline_warning#'.section)
|
||||
endif
|
||||
else
|
||||
if condition
|
||||
call a:builder.add_raw('%(')
|
||||
endif
|
||||
call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key))
|
||||
if condition
|
||||
call a:builder.add_raw('%)')
|
||||
endif
|
||||
if condition
|
||||
call a:builder.add_raw('%(')
|
||||
endif
|
||||
call a:builder.add_section('airline_'.a:key, s:get_section(a:context.winnr, a:key))
|
||||
if condition
|
||||
call a:builder.add_raw('%)')
|
||||
endif
|
||||
endfunction
|
||||
else
|
||||
" older version don't like the use of %(%)
|
||||
function! s:add_section(builder, context, key)
|
||||
if ((a:key == 'error' || a:key == 'warning')
|
||||
\ && empty(s:get_section(a:context.winnr, a:key)))
|
||||
if ((a:key == 'error' || a:key == 'warning') && empty(s:get_section(a:context.winnr, a:key)))
|
||||
return
|
||||
endif
|
||||
if a:key == 'warning'
|
||||
@@ -101,14 +76,17 @@ else
|
||||
endfunction
|
||||
endif
|
||||
|
||||
function! airline#extensions#default#apply(builder, context) abort
|
||||
function! airline#extensions#default#apply(builder, context)
|
||||
let winnr = a:context.winnr
|
||||
let active = a:context.active
|
||||
|
||||
if airline#util#getwinvar(winnr, 'airline_render_left', active || (!active && !g:airline_inactive_collapse))
|
||||
call s:build_sections(a:builder, a:context, s:layout[0])
|
||||
else
|
||||
let text = !empty(s:get_section(winnr, 'c')) ? s:get_section(winnr, 'c') : ' %f%m '
|
||||
let text = s:get_section(winnr, 'c')
|
||||
if empty(text)
|
||||
let text = ' %f%m '
|
||||
endif
|
||||
call a:builder.add_section('airline_c'.(a:context.bufnr), text)
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2017-2026 Thomas Dy et al.
|
||||
" MIT License. Copyright (c) 2017-2020 Thomas Dy et al.
|
||||
" Plugin: https://github.com/Shougo/denite.nvim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" PLugin: https://eclim.org
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -23,7 +23,7 @@ function! airline#extensions#example#init(ext)
|
||||
call airline#parts#define_raw('cats', '%{airline#extensions#example#get_cats()}')
|
||||
|
||||
" Next up we add a funcref so that we can run some code prior to the
|
||||
" statusline getting modified.
|
||||
" statusline getting modifed.
|
||||
call a:ext.add_statusline_func('airline#extensions#example#apply')
|
||||
|
||||
" You can also add a funcref for inactive statuslines.
|
||||
@@ -40,7 +40,7 @@ function! airline#extensions#example#apply(...)
|
||||
" section_c.
|
||||
let w:airline_section_c = get(w:, 'airline_section_c', g:airline_section_c)
|
||||
|
||||
" Then we just append this extension to it, optionally using separators.
|
||||
" Then we just append this extenion to it, optionally using separators.
|
||||
let w:airline_section_c .= s:spc.g:airline_left_alt_sep.s:spc.'%{airline#extensions#example#get_cats()}'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -1,63 +1,36 @@
|
||||
" MIT License. Copyright (c) 2013-2026
|
||||
" MIT License. Copyright (c) 2013-2020
|
||||
" Plugin: https://github.com/lambdalisue/fern.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
if !get(g:, 'loaded_fern', 0)
|
||||
if !get(g:, 'fern_loaded', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#fern#apply_active(...) abort
|
||||
" check if current buffer is both fern and active
|
||||
if (&ft =~# 'fern') && a:2.active ==# '1'
|
||||
call airline#extensions#fern#configure_sections(a:1, a:2)
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
function! airline#extensions#fern#apply(...) abort
|
||||
if (&ft =~# 'fern')
|
||||
let spc = g:airline_symbols.space
|
||||
let fri = fern#fri#parse(expand('%f'))
|
||||
|
||||
|
||||
function! airline#extensions#fern#apply_inactive(...) abort
|
||||
" check if referenced buffer is both fern and inactive
|
||||
if getbufvar(a:2.bufnr, '&filetype') ==# 'fern' && a:2.active ==# '0'
|
||||
call airline#extensions#fern#configure_sections(a:1, a:2)
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#fern#configure_sections(win, context) abort
|
||||
let spc = g:airline_symbols.space
|
||||
let fri = fern#fri#parse(bufname(a:context.bufnr))
|
||||
let abspath = ''
|
||||
" Replace uses fern-replacer filetype, do not try to parse in that case
|
||||
if &ft ==# 'fern' && fri.scheme ==# 'fern'
|
||||
let abspath = fern#fri#to#filepath(fern#fri#parse(fri.path))
|
||||
endif
|
||||
call a:win.add_section('airline_a', spc.'fern'.spc)
|
||||
if exists('*airline#extensions#branch#get_head')
|
||||
" because fern navigation changes an internal _fri_ and not the working directory
|
||||
" we need to give it some help so the branch name gets updated
|
||||
try
|
||||
if &ft ==# 'fern'
|
||||
execute 'lcd' fnameescape(abspath)
|
||||
endif
|
||||
catch /^Vim\%((\a\+)\)\=:E344:/
|
||||
call a:win.add_section('airline_b', '')
|
||||
endtry
|
||||
call a:win.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc)
|
||||
else
|
||||
call a:win.add_section('airline_b', '')
|
||||
endif
|
||||
if !(fri.authority =~# '^drawer')
|
||||
call a:win.add_section('airline_c', spc.fnamemodify(abspath, ':~'))
|
||||
call a:win.split()
|
||||
if len(get(g:, 'fern#comparators', {}))
|
||||
call a:win.add_section('airline_y', spc.'%{fern#comparator}'.spc)
|
||||
call a:1.add_section('airline_a', spc.'fern'.spc)
|
||||
if exists('*airline#extensions#branch#get_head')
|
||||
call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc)
|
||||
else
|
||||
call a:1.add_section('airline_b', '')
|
||||
endif
|
||||
if !(fri.authority =~# '^drawer')
|
||||
let abspath = substitute(fri.path, 'file://', '', '')
|
||||
call a:1.add_section('airline_c', spc.fnamemodify(abspath, ':~'))
|
||||
call a:1.split()
|
||||
if len(get(g:, 'fern#comparators', {}))
|
||||
call a:1.add_section('airline_y', spc.'%{fern#comparator}'.spc)
|
||||
endif
|
||||
endif
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#fern#init(ext) abort
|
||||
let g:fern_force_overwrite_statusline = 0
|
||||
call a:ext.add_statusline_func('airline#extensions#fern#apply_active')
|
||||
call a:ext.add_inactive_statusline_func('airline#extensions#fern#apply_inactive')
|
||||
call a:ext.add_statusline_func('airline#extensions#fern#apply')
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2017-2026 Cimbali et al
|
||||
" MIT License. Copyright (c) 2017-2020 Cimbali et al
|
||||
" Plugin: https://github.com/tpope/vim-fugitive
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -8,54 +8,45 @@ if !airline#util#has_fugitive()
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:has_percent_eval = v:version > 802 || (v:version == 802 && has("patch2854"))
|
||||
function! s:ModifierFlags()
|
||||
return (exists("+autochdir") && &autochdir) ? ':p' : ':.'
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#fugitiveline#bufname() abort
|
||||
function! airline#extensions#fugitiveline#bufname()
|
||||
if !exists('b:fugitive_name')
|
||||
let b:fugitive_name = ''
|
||||
try
|
||||
if bufname('%') =~? '^fugitive:' && exists('*FugitiveReal')
|
||||
let b:fugitive_name = FugitiveReal(bufname('%'))
|
||||
elseif exists('b:git_dir') && exists('*fugitive#repo')
|
||||
if get(b:, 'fugitive_type', '') is# 'blob'
|
||||
let b:fugitive_name = fugitive#repo().translate(FugitivePath(@%, ''))
|
||||
endif
|
||||
elseif exists('b:git_dir') && !exists('*fugitive#repo')
|
||||
let buffer = fugitive#buffer()
|
||||
if buffer.type('blob')
|
||||
let b:fugitive_name = buffer.repo().translate(buffer.path('/'))
|
||||
endif
|
||||
endif
|
||||
catch
|
||||
endtry
|
||||
endif
|
||||
|
||||
let fmod = (exists("+autochdir") && &autochdir) ? ':p' : ':.'
|
||||
let result=''
|
||||
let fmod = s:ModifierFlags()
|
||||
if empty(b:fugitive_name)
|
||||
if empty(bufname('%'))
|
||||
return &buftype ==# 'nofile' ? '[Scratch]' : '[No Name]'
|
||||
endif
|
||||
return s:has_percent_eval ? '%f' : fnamemodify(bufname('%'), fmod)
|
||||
return fnamemodify(bufname('%'), fmod)
|
||||
else
|
||||
return s:has_percent_eval ? '%f [git]' : (fnamemodify(b:fugitive_name, fmod). " [git]")
|
||||
return fnamemodify(b:fugitive_name, fmod). " [git]"
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:sh_autocmd_handler()
|
||||
if exists('#airline')
|
||||
unlet! b:fugitive_name
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#fugitiveline#init(ext) abort
|
||||
let prct = s:has_percent_eval ? '%' : ''
|
||||
|
||||
function! airline#extensions#fugitiveline#init(ext)
|
||||
if exists("+autochdir") && &autochdir
|
||||
" if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well
|
||||
if get(g:, 'airline_stl_path_style', 'default') ==# 'short'
|
||||
call airline#parts#define_raw('path', '%<%{'. prct. 'pathshorten(airline#extensions#fugitiveline#bufname())' . prct . '}%m')
|
||||
else
|
||||
call airline#parts#define_raw('path', '%<%{' . prct . 'airline#extensions#fugitiveline#bufname()' . prct . '}%m')
|
||||
endif
|
||||
call airline#parts#define_raw('path', '%<%{airline#extensions#fugitiveline#bufname()}%m')
|
||||
else
|
||||
if get(g:, 'airline_stl_path_style', 'default') ==# 'short'
|
||||
call airline#parts#define_raw('file', '%<%{' . prct . 'pathshorten(airline#extensions#fugitiveline#bufname())' . prct . '}%m')
|
||||
else
|
||||
call airline#parts#define_raw('file', '%<%{' . prct . 'airline#extensions#fugitiveline#bufname()' . prct . '}%m')
|
||||
endif
|
||||
call airline#parts#define_raw('file', '%<%{airline#extensions#fugitiveline#bufname()}%m')
|
||||
endif
|
||||
autocmd ShellCmdPost,CmdwinLeave * call s:sh_autocmd_handler()
|
||||
autocmd User AirlineBeforeRefresh call s:sh_autocmd_handler()
|
||||
autocmd ShellCmdPost,CmdwinLeave * unlet! b:fugitive_name
|
||||
autocmd User AirlineBeforeRefresh unlet! b:fugitive_name
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/junegunn/fzf, https://github.com/junegunn/fzf.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" MIT License. Copyright (c) 2014-2020 Mathias Andersson et al.
|
||||
" Written by Kamil Cukrowski 2020
|
||||
" Plugin: https://github.com/jsfaint/gen_tags.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026
|
||||
" MIT License. Copyright (c) 2013-2020
|
||||
" Plugin: https://github.com/lambdalisue/gina.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -8,11 +8,7 @@ if !get(g:, 'loaded_gina', 0)
|
||||
endif
|
||||
|
||||
function! airline#extensions#gina#apply(...) abort
|
||||
" gina.vim seems to set b:gina_initialized = 1 in diff buffers it open,
|
||||
" where get(b:, 'gina_initialized', 0) returns 1.
|
||||
" In diff buffers not opened by gina.vim b:gina_initialized is not set,
|
||||
" so get(b:, 'gina_initialized', 0) returns 0.
|
||||
if (&ft =~# 'gina' && &ft !~# 'blame') || (&ft ==# 'diff' && get(b:, 'gina_initialized', 0))
|
||||
if (&ft =~# 'gina' && &ft !~# 'blame') || &ft ==# 'diff'
|
||||
call a:1.add_section('airline_a', ' gina ')
|
||||
call a:1.add_section('airline_b', ' %{gina#component#repo#branch()} ')
|
||||
call a:1.split()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" MIT License. Copyright (c) 2014-2020 Mathias Andersson et al.
|
||||
" Plugin: https://github.com/mhinz/vim-grepper
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2014-2026 Mathias Andersson et al.
|
||||
" MIT License. Copyright (c) 2014-2020 Mathias Andersson et al.
|
||||
" Plugin: https://github.com/ludovicchabant/vim-gutentags
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" Plugin: vim-gitgutter, vim-signify, changesPlugin, quickfixsigns, coc-git,
|
||||
" gitsigns.nvim
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: vim-gitgutter, vim-signify, changesPlugin, quickfixsigns, coc-git
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -9,7 +8,6 @@ if !get(g:, 'loaded_signify', 0)
|
||||
\ && !get(g:, 'loaded_gitgutter', 0)
|
||||
\ && !get(g:, 'loaded_changes', 0)
|
||||
\ && !get(g:, 'loaded_quickfixsigns', 0)
|
||||
\ && !exists(':Gitsigns')
|
||||
\ && !exists("*CocAction")
|
||||
finish
|
||||
endif
|
||||
@@ -28,31 +26,6 @@ function! s:coc_git_enabled() abort
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
function! s:parse_hunk_status_dict(hunks) abort
|
||||
let result = [0, 0, 0]
|
||||
let result[0] = get(a:hunks, 'added', 0)
|
||||
let result[1] = get(a:hunks, 'changed', 0)
|
||||
let result[2] = get(a:hunks, 'removed', 0)
|
||||
return result
|
||||
endfunction
|
||||
|
||||
function! s:parse_hunk_status_decorated(hunks) abort
|
||||
if empty(a:hunks)
|
||||
return []
|
||||
endif
|
||||
let result = [0, 0, 0]
|
||||
for val in split(a:hunks)
|
||||
if val[0] is# '+'
|
||||
let result[0] = val[1:] + 0
|
||||
elseif val[0] is# '~'
|
||||
let result[1] = val[1:] + 0
|
||||
elseif val[0] is# '-'
|
||||
let result[2] = val[1:] + 0
|
||||
endif
|
||||
endfor
|
||||
return result
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_signify() abort
|
||||
let hunks = sy#repo#get_stats()
|
||||
if hunks[0] >= 0
|
||||
@@ -61,9 +34,34 @@ function! s:get_hunks_signify() abort
|
||||
return []
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_coc() abort
|
||||
let hunks = get(b:, 'coc_git_status', '')
|
||||
if empty(hunks)
|
||||
return []
|
||||
endif
|
||||
let result = [0, 0, 0]
|
||||
for val in split(hunks)
|
||||
if val[0] is# '+'
|
||||
let result[0] = val[1:] + 0
|
||||
elseif val[0] is# '~'
|
||||
let result[1] = val[1:] + 0
|
||||
elseif val[0] is# '-'
|
||||
let result[2] = val[1:] + 0
|
||||
endif
|
||||
endfor
|
||||
return result
|
||||
endfunction
|
||||
|
||||
function! s:is_branch_empty() abort
|
||||
return exists('*airline#extensions#branch#head') &&
|
||||
\ empty(get(b:, 'airline_head', ''))
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_gitgutter() abort
|
||||
let hunks = GitGutterGetHunkSummary()
|
||||
return hunks == [0, 0, 0] ? [] : hunks
|
||||
if !get(g:, 'gitgutter_enabled', 0) || s:is_branch_empty()
|
||||
return ''
|
||||
endif
|
||||
return GitGutterGetHunkSummary()
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_changes() abort
|
||||
@@ -71,16 +69,6 @@ function! s:get_hunks_changes() abort
|
||||
return hunks == [0, 0, 0] ? [] : hunks
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_gitsigns() abort
|
||||
let hunks = get(b:, 'gitsigns_status_dict', {})
|
||||
return s:parse_hunk_status_dict(hunks)
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_coc() abort
|
||||
let hunks = get(b:, 'coc_git_status', '')
|
||||
return s:parse_hunk_status_decorated(hunks)
|
||||
endfunction
|
||||
|
||||
function! s:get_hunks_empty() abort
|
||||
return ''
|
||||
endfunction
|
||||
@@ -89,14 +77,12 @@ function! airline#extensions#hunks#get_raw_hunks() abort
|
||||
if !exists('b:source_func') || get(b:, 'source_func', '') is# 's:get_hunks_empty'
|
||||
if get(g:, 'loaded_signify') && sy#buffer_is_active()
|
||||
let b:source_func = 's:get_hunks_signify'
|
||||
elseif exists('*GitGutterGetHunkSummary') && get(g:, 'gitgutter_enabled')
|
||||
elseif exists('*GitGutterGetHunkSummary')
|
||||
let b:source_func = 's:get_hunks_gitgutter'
|
||||
elseif exists('*changes#GetStats')
|
||||
let b:source_func = 's:get_hunks_changes'
|
||||
elseif exists('*quickfixsigns#vcsdiff#GetHunkSummary')
|
||||
let b:source_func = 'quickfixsigns#vcsdiff#GetHunkSummary'
|
||||
elseif exists(':Gitsigns')
|
||||
let b:source_func = 's:get_hunks_gitsigns'
|
||||
elseif s:coc_git_enabled()
|
||||
let b:source_func = 's:get_hunks_coc'
|
||||
else
|
||||
@@ -118,7 +104,6 @@ function! airline#extensions#hunks#get_hunks() abort
|
||||
\ get(b:, 'source_func', '') isnot# 's:get_hunks_gitgutter' &&
|
||||
\ get(b:, 'source_func', '') isnot# 's:get_hunks_empty' &&
|
||||
\ get(b:, 'source_func', '') isnot# 's:get_hunks_changes' &&
|
||||
\ get(b:, 'source_func', '') isnot# 's:get_hunks_gitsigns' &&
|
||||
\ get(b:, 'source_func', '') isnot# 's:get_hunks_coc'
|
||||
return b:airline_hunks
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Doron Behar, C.Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Doron Behar, C.Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bjorn Neergaard, hallettj et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bjorn Neergaard, hallettj et al.
|
||||
" Plugin: https://github.com/autozimu/LanguageClient-neovim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -35,10 +35,6 @@ function! s:record_diagnostics(state)
|
||||
endfunction
|
||||
|
||||
function! s:get_diagnostics()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
call LanguageClient#getState(function("s:record_diagnostics"))
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2018-2026 mox et al.
|
||||
" MIT License. Copyright (c) 2018-2020 mox et al.
|
||||
" Plugin: https://github.com/mox-mox/vim-localsearch
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 François-Xavier Carton et al.
|
||||
" MIT License. Copyright (c) 2013-2020 François-Xavier Carton et al.
|
||||
" Plugin: https://github.com/prabirshrestha/vim-lsp
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -61,51 +61,7 @@ function! airline#extensions#lsp#get_error() abort
|
||||
return airline#extensions#lsp#get('error')
|
||||
endfunction
|
||||
|
||||
let s:lsp_progress = []
|
||||
function! airline#extensions#lsp#progress() abort
|
||||
if get(w:, 'airline_active', 0)
|
||||
if exists('*lsp#get_progress')
|
||||
let s:lsp_progress = lsp#get_progress()
|
||||
|
||||
if len(s:lsp_progress) == 0 | return '' | endif
|
||||
|
||||
" show only most new progress
|
||||
let s:lsp_progress = s:lsp_progress[0]
|
||||
if s:lsp_progress['message'] !=# ''
|
||||
let percent = ''
|
||||
if has_key(s:lsp_progress, 'percentage') && s:lsp_progress['percentage'] >= 0
|
||||
let percent = ' ' . string(s:lsp_progress['percentage']) . '%'
|
||||
endif
|
||||
let s:title = s:lsp_progress['title']
|
||||
let message = airline#util#shorten(s:lsp_progress['message'] . percent, 91, 9)
|
||||
return s:lsp_progress['server'] . ': ' . s:title . ' ' . message
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
let s:timer = 0
|
||||
let s:ignore_time = 0
|
||||
function! airline#extensions#lsp#update() abort
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
if reltimefloat(reltime()) - s:ignore_time >=
|
||||
\ get(g:, 'airline#extensions#lsp#progress_skip_time', 0.3)
|
||||
\ || len(s:lsp_progress) == 0
|
||||
call airline#update_statusline()
|
||||
let s:ignore_time = reltimefloat(reltime())
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#lsp#init(ext) abort
|
||||
call airline#parts#define_function('lsp_error_count', 'airline#extensions#lsp#get_error')
|
||||
call airline#parts#define_function('lsp_warning_count', 'airline#extensions#lsp#get_warning')
|
||||
call airline#parts#define_function('lsp_progress', 'airline#extensions#lsp#progress')
|
||||
augroup airline_lsp_progress
|
||||
autocmd!
|
||||
autocmd User lsp_progress_updated call airline#extensions#lsp#update()
|
||||
augroup END
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/neomake/neomake
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
" MIT License. Copyright (c) 2026-2026 Wu Zhenyu et al
|
||||
" Plugin: https://github.com/lambdalisue/nerdfont.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !get(g:, 'loaded_nerdfont', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#nerdfont#fileformat() abort
|
||||
if &fileformat ==# 'dos'
|
||||
return nerdfont#platform#find('windows')
|
||||
endif
|
||||
if &fileformat ==# 'mac'
|
||||
return nerdfont#platform#find('macos')
|
||||
endif
|
||||
if &fileformat ==# 'unix'
|
||||
if has('unix')
|
||||
return nerdfont#platform#find()
|
||||
else
|
||||
return nerdfont#platform#find('linux')
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#nerdfont#ffenc() abort
|
||||
let expected = get(g:, 'airline#parts#ffenc#skip_expected_string', '')
|
||||
let bomb = &bomb ? '[BOM]' : ''
|
||||
let noeolf = &eol ? '' : '[!EOL]'
|
||||
let ff = strlen(&ff) ? '['.&ff.']' : ''
|
||||
if expected is# &fenc.bomb.noeolf.ff
|
||||
return ''
|
||||
else
|
||||
return &fenc.bomb.noeolf.' '.airline#extensions#nerdfont#fileformat()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#nerdfont#init(ext) abort
|
||||
call airline#parts#define_function('ffenc', 'airline#extensions#nerdfont#ffenc')
|
||||
call a:ext.add_statusline_func('airline#extensions#nerdfont#apply')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#nerdfont#apply(...) abort
|
||||
call airline#extensions#append_to_section('x', ' %{nerdfont#find()}')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: http://www.drchip.org/astronaut/vim/#NETRW
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling, Christian Brabandt et al.
|
||||
" Plugin: https://github.com/chrisbra/NrrwRgn
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
" Apache 2.0 license. Copyright (c) 2019-2026 Copyright Neovim contributors.
|
||||
" Apache 2.0 license. Copyright (c) 2019-2020 Copyright Neovim contributors.
|
||||
" Plugin: https://github.com/neovim/nvim-lsp
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !(get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
||||
\ && has('nvim')
|
||||
\ && luaeval('vim.lsp ~= nil'))
|
||||
\ && exists(':LspInstallInfo'))
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -15,46 +14,24 @@ function! s:airline_nvimlsp_count(cnt, symbol) abort
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#nvimlsp#get(type) abort
|
||||
if has('nvim-0.11') && luaeval('vim.tbl_isempty(vim.lsp.get_clients({ bufnr = 0 }))')
|
||||
return ''
|
||||
elseif !has('nvim-0.11') && luaeval('vim.tbl_isempty(vim.lsp.buf_get_clients(0))')
|
||||
if !exists(':LspInstallInfo')
|
||||
return ''
|
||||
endif
|
||||
|
||||
let error_symbol = get(g:, 'airline#extensions#nvimlsp#error_symbol', 'E:')
|
||||
let warning_symbol = get(g:, 'airline#extensions#nvimlsp#warning_symbol', 'W:')
|
||||
let show_line_numbers = get(g:, 'airline#extensions#nvimlsp#show_line_numbers', 1)
|
||||
|
||||
let is_err = a:type ==# 'Error'
|
||||
|
||||
let symbol = is_err ? error_symbol : warning_symbol
|
||||
|
||||
if luaeval("pcall(require, 'vim.diagnostic')")
|
||||
let severity = a:type == 'Warning' ? 'Warn' : a:type
|
||||
let num = len(v:lua.vim.diagnostic.get(0, { 'severity': severity }))
|
||||
elseif luaeval("pcall(require, 'vim.lsp.diagnostic')")
|
||||
if luaeval("pcall(require, 'vim.lsp.diagnostic')")
|
||||
let num = v:lua.vim.lsp.diagnostic.get_count(0, a:type)
|
||||
else
|
||||
let num = v:lua.vim.lsp.util.buf_diagnostics_count(a:type)
|
||||
endif
|
||||
|
||||
if show_line_numbers == 1 && luaeval("pcall(require, 'vim.diagnostic')") && num > 0
|
||||
return s:airline_nvimlsp_count(num, symbol) . <sid>airline_nvimlsp_get_line_number(num, a:type)
|
||||
else
|
||||
return s:airline_nvimlsp_count(num, symbol)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:airline_nvimlsp_get_line_number(cnt, type) abort
|
||||
let severity = a:type == 'Warning' ? 'Warn' : a:type
|
||||
let num = v:lua.vim.diagnostic.get(0, { 'severity': severity })[0].lnum + 1
|
||||
|
||||
let l:open_lnum_symbol =
|
||||
\ get(g:, 'airline#extensions#nvimlsp#open_lnum_symbol', '(L')
|
||||
let l:close_lnum_symbol =
|
||||
\ get(g:, 'airline#extensions#nvimlsp#close_lnum_symbol', ')')
|
||||
|
||||
return open_lnum_symbol . num . close_lnum_symbol
|
||||
return s:airline_nvimlsp_count(num, symbol)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#nvimlsp#get_warning() abort
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/tpope/vim-obsession
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -14,14 +14,10 @@ if !exists('g:airline#extensions#obsession#indicator_text')
|
||||
let g:airline#extensions#obsession#indicator_text = '$'
|
||||
endif
|
||||
|
||||
if !exists('g:airline#extensions#obsession#indicator_text_paused')
|
||||
let g:airline#extensions#obsession#indicator_text_paused = '' " vim-obsession defaults to 'S'
|
||||
endif
|
||||
|
||||
function! airline#extensions#obsession#init(ext)
|
||||
call airline#parts#define_function('obsession', 'airline#extensions#obsession#get_status')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#obsession#get_status()
|
||||
return ObsessionStatus((g:airline#extensions#obsession#indicator_text . s:spc), (g:airline#extensions#obsession#indicator_text_paused . s:spc))
|
||||
return ObsessionStatus((g:airline#extensions#obsession#indicator_text . s:spc), '')
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling, Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -43,10 +43,6 @@ function! airline#extensions#po#shorten()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#po#on_winenter()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
" only reset cache, if the window size changed
|
||||
if get(b:, 'airline_winwidth', 0) != airline#util#winwidth()
|
||||
let b:airline_winwidth = airline#util#winwidth()
|
||||
@@ -55,17 +51,11 @@ function! airline#extensions#po#on_winenter()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:autocmd_handler()
|
||||
if exists('#airline')
|
||||
unlet! b:airline_po_stats
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#po#apply(...)
|
||||
if &ft ==# 'po'
|
||||
call airline#extensions#prepend_to_section('z', '%{airline#extensions#po#stats()}')
|
||||
" Also reset the cache variable, if a window has been split, e.g. the winwidth changed
|
||||
autocmd airline BufWritePost * call s:autocmd_handler()
|
||||
autocmd airline BufWritePost * unlet! b:airline_po_stats
|
||||
autocmd airline WinEnter * call airline#extensions#po#on_winenter()
|
||||
endif
|
||||
endfunction
|
||||
@@ -75,9 +65,8 @@ function! airline#extensions#po#stats()
|
||||
return b:airline_po_stats
|
||||
endif
|
||||
|
||||
" Write stdout to null because we only want to see warnings.
|
||||
if g:airline#init#is_windows
|
||||
let cmd = 'msgfmt --statistics -o /NUL '
|
||||
let cmd = 'msgfmt --statistics -o NUL '
|
||||
else
|
||||
let cmd = 'msgfmt --statistics -o /dev/null -- '
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/petobens/poet_v
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/edkolev/promptline.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists('g:rufo_loaded')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:spc = g:airline_symbols.space
|
||||
|
||||
if !exists('g:airline#extensions#rufo#symbol')
|
||||
let g:airline#extensions#rufo#symbol = 'RuFo'
|
||||
endif
|
||||
|
||||
function! airline#extensions#rufo#init(ext)
|
||||
call airline#parts#define_raw('rufo', '%{airline#extensions#rufo#get_status}')
|
||||
call a:ext.add_statusline_func('airline#extensions#rufo#apply')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#rufo#get_status()
|
||||
let out = ''
|
||||
if &ft == "ruby" && g:rufo_auto_formatting == 1
|
||||
let out .= s:spc.g:airline_left_alt_sep.s:spc.g:airline#extensions#rufo#symbol
|
||||
endif
|
||||
return out
|
||||
endfunction
|
||||
|
||||
" This function will be invoked just prior to the statusline getting modified.
|
||||
function! airline#extensions#rufo#apply(...)
|
||||
" First we check for the filetype.
|
||||
if &filetype == "ruby"
|
||||
" section_z.
|
||||
let w:airline_section_z = get(w:, 'airline_section_z', g:airline_section_z)
|
||||
|
||||
" Then we just append this extension to it, optionally using separators.
|
||||
let w:airline_section_z .= '%{airline#extensions#rufo#get_status()}'
|
||||
endif
|
||||
endfunction
|
||||
@@ -1,37 +0,0 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2 et
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
function! airline#extensions#scrollbar#calculate() abort
|
||||
if winwidth(0) > get(g:, 'airline#extensions#scrollbar#minwidth', 200)
|
||||
\ && get(w:, 'airline_active', 0)
|
||||
let overwrite = 0
|
||||
if &encoding ==? 'utf-8' && !get(g:, 'airline_symbols_ascii', 0)
|
||||
let [left, right, middle] = [ '|', '|', '█']
|
||||
let overwrite = 1
|
||||
else
|
||||
let [left, right, middle] = [ '[', ']', '-']
|
||||
endif
|
||||
let spc = get(g:, 'airline_symbols.space', ' ')
|
||||
let width = 20 " max width, plus one border and indicator
|
||||
let perc = (line('.') + 0.0) / (line('$') + 0.0)
|
||||
let before = float2nr(round(perc * width))
|
||||
if before >= 0 && line('.') == 1
|
||||
let before = 0
|
||||
let left = (overwrite ? '' : left)
|
||||
endif
|
||||
let after = width - before
|
||||
if (after <= 1 && line('.') == line('$'))
|
||||
let after = 0
|
||||
let right = (overwrite ? '' : right)
|
||||
endif
|
||||
return left . repeat(spc, before) . middle . repeat(spc, after) . right
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#scrollbar#init(ext) abort
|
||||
call airline#parts#define_function('scrollbar', 'airline#extensions#scrollbar#calculate')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" This extension is inspired by vim-anzu <https://github.com/osyo-manga/vim-anzu>.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -17,19 +17,6 @@ function! airline#extensions#searchcount#apply(...) abort
|
||||
\ '%{v:hlsearch ? airline#extensions#searchcount#status() : ""}')
|
||||
endfunction
|
||||
|
||||
function! s:search_term()
|
||||
let show_search_term = get(g:, 'airline#extensions#searchcount#show_search_term', 1)
|
||||
let search_term_limit = get(g:, 'airline#extensions#searchcount#search_term_limit', 8)
|
||||
|
||||
if show_search_term == 0
|
||||
return ''
|
||||
endif
|
||||
" shorten for all width smaller than 300 (this is just a guess)
|
||||
" this uses a non-breaking space, because it looks like
|
||||
" a leading space is stripped :/
|
||||
return "\ua0" . '/' . airline#util#shorten(getreg('/'), 300, search_term_limit)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#searchcount#status() abort
|
||||
try
|
||||
let result = searchcount(#{recompute: 1, maxcount: -1})
|
||||
@@ -37,18 +24,18 @@ function! airline#extensions#searchcount#status() abort
|
||||
return ''
|
||||
endif
|
||||
if result.incomplete ==# 1 " timed out
|
||||
return printf('%s[?/??]', s:search_term())
|
||||
return printf(' /%s [?/??]', @/)
|
||||
elseif result.incomplete ==# 2 " max count exceeded
|
||||
if result.total > result.maxcount &&
|
||||
\ result.current > result.maxcount
|
||||
return printf('%s[>%d/>%d]', s:search_term(),
|
||||
return printf('%s[>%d/>%d]', @/,
|
||||
\ result.current, result.total)
|
||||
elseif result.total > result.maxcount
|
||||
return printf('%s[%d/>%d]', s:search_term(),
|
||||
return printf('%s[%d/>%d]', @/,
|
||||
\ result.current, result.total)
|
||||
endif
|
||||
endif
|
||||
return printf('%s[%d/%d]', s:search_term(),
|
||||
return printf('%s[%d/%d]', @/,
|
||||
\ result.current, result.total)
|
||||
catch
|
||||
return ''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/vim-syntastic/syntastic
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2 et
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2 et fdm=marker
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -12,9 +12,6 @@ let s:ctrlspace = get(g:, 'CtrlSpaceLoaded', 0)
|
||||
let s:tabws = get(g:, 'tabws_loaded', 0)
|
||||
let s:current_tabcnt = -1
|
||||
|
||||
" Dictionary functions are not possible in Vim9 Script,
|
||||
" so use the legacy Vim Script implementation
|
||||
|
||||
function! airline#extensions#tabline#init(ext)
|
||||
if has('gui_running') && match(&guioptions, 'e') > -1
|
||||
set guioptions-=e
|
||||
@@ -22,14 +19,14 @@ function! airline#extensions#tabline#init(ext)
|
||||
|
||||
autocmd User AirlineToggledOn call s:toggle_on()
|
||||
autocmd User AirlineToggledOff call s:toggle_off()
|
||||
|
||||
call s:toggle_on()
|
||||
call a:ext.add_theme_func('airline#extensions#tabline#load_theme')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#add_label(dict, type, right)
|
||||
if get(g:, 'airline#extensions#tabline#show_tab_type', 1)
|
||||
call a:dict.add_section_spaced('airline_tablabel'. (a:right ? '_right' : ''),
|
||||
call a:dict.add_section_spaced('airline_tablabel'.
|
||||
\ (a:right ? '_right' : ''),
|
||||
\ get(g:, 'airline#extensions#tabline#'.a:type.'_label', a:type))
|
||||
endif
|
||||
endfunction
|
||||
@@ -43,12 +40,10 @@ function! airline#extensions#tabline#add_tab_label(dict)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0)==0)
|
||||
|
||||
if !exists(":def") || !airline#util#has_vim9_script()
|
||||
|
||||
" Legacy Vim Script Implementation
|
||||
|
||||
function! s:toggle_off()
|
||||
" Legacy VimScript implementation " {{{1
|
||||
function! s:toggle_off() " {{{2
|
||||
call airline#extensions#tabline#autoshow#off()
|
||||
call airline#extensions#tabline#tabs#off()
|
||||
call airline#extensions#tabline#buffers#off()
|
||||
@@ -59,8 +54,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
call airline#extensions#tabline#tabws#off()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:toggle_on()
|
||||
function! s:toggle_on() " {{{2
|
||||
if get(g:, 'airline_statusline_ontop', 0)
|
||||
call airline#extensions#tabline#enable()
|
||||
let &tabline='%!airline#statusline('.winnr().')'
|
||||
@@ -78,53 +72,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
|
||||
set tabline=%!airline#extensions#tabline#get()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#load_theme(palette)
|
||||
if pumvisible()
|
||||
return
|
||||
endif
|
||||
let colors = get(a:palette, 'tabline', {})
|
||||
let tablabel = get(colors, 'airline_tablabel', a:palette.normal.airline_b)
|
||||
" Theme for tabs on the left
|
||||
let tab = get(colors, 'airline_tab', a:palette.inactive.airline_c)
|
||||
let tabsel = get(colors, 'airline_tabsel', a:palette.normal.airline_a)
|
||||
let tabtype = get(colors, 'airline_tabtype', a:palette.visual.airline_a)
|
||||
let tabfill = get(colors, 'airline_tabfill', a:palette.normal.airline_c)
|
||||
let tabmod = get(colors, 'airline_tabmod', a:palette.insert.airline_a)
|
||||
let tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c)
|
||||
if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c')
|
||||
let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal_modified.airline_c)
|
||||
let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal_modified.airline_c)
|
||||
else
|
||||
"Fall back to normal airline_c if modified airline_c isn't present
|
||||
let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal.airline_c)
|
||||
let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal.airline_c)
|
||||
endif
|
||||
call airline#highlighter#exec('airline_tablabel', tablabel)
|
||||
call airline#highlighter#exec('airline_tab', tab)
|
||||
call airline#highlighter#exec('airline_tabsel', tabsel)
|
||||
call airline#highlighter#exec('airline_tabtype', tabtype)
|
||||
call airline#highlighter#exec('airline_tabfill', tabfill)
|
||||
call airline#highlighter#exec('airline_tabmod', tabmod)
|
||||
call airline#highlighter#exec('airline_tabmod_unsel', tabmodu)
|
||||
call airline#highlighter#exec('airline_tabhid', tabhid)
|
||||
|
||||
" Theme for tabs on the right
|
||||
" label on the right
|
||||
let tablabel_r = get(colors, 'airline_tablabel', a:palette.normal.airline_b)
|
||||
let tabsel_right = get(colors, 'airline_tabsel_right', a:palette.normal.airline_a)
|
||||
let tab_right = get(colors, 'airline_tab_right', a:palette.inactive.airline_c)
|
||||
let tabmod_right = get(colors, 'airline_tabmod_right', a:palette.insert.airline_a)
|
||||
let tabhid_right = get(colors, 'airline_tabhid_right', a:palette.normal.airline_c)
|
||||
call airline#highlighter#exec('airline_tablabel_right', tablabel_r)
|
||||
call airline#highlighter#exec('airline_tab_right', tab_right)
|
||||
call airline#highlighter#exec('airline_tabsel_right', tabsel_right)
|
||||
call airline#highlighter#exec('airline_tabmod_right', tabmod_right)
|
||||
call airline#highlighter#exec('airline_tabhid_right', tabhid_right)
|
||||
call airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right)
|
||||
endfunction
|
||||
|
||||
function! s:update_tabline(forceit)
|
||||
function! s:update_tabline(forceit) " {{{2
|
||||
if get(g:, 'airline#extensions#tabline#disable_refresh', 0)
|
||||
return
|
||||
endif
|
||||
@@ -145,8 +93,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
call airline#util#doautocmd('BufMRUChange')
|
||||
call airline#extensions#tabline#redraw()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#redraw()
|
||||
function! airline#extensions#tabline#redraw() " {{{2
|
||||
" sometimes, the tabline is not correctly updated see #1580
|
||||
" so force redraw here
|
||||
if exists(":redrawtabline") == 2
|
||||
@@ -158,15 +105,60 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
let &ro = &ro
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#enable()
|
||||
function! airline#extensions#tabline#enable() " {{{2
|
||||
if &lines > 3
|
||||
set showtabline=2
|
||||
endif
|
||||
endfunction
|
||||
function! airline#extensions#tabline#load_theme(palette) " {{{2
|
||||
if pumvisible()
|
||||
return
|
||||
endif
|
||||
let colors = get(a:palette, 'tabline', {})
|
||||
let tablabel = get(colors, 'airline_tablabel', a:palette.normal.airline_b)
|
||||
" Theme for tabs on the left
|
||||
let tab = get(colors, 'airline_tab', a:palette.inactive.airline_c)
|
||||
let tabsel = get(colors, 'airline_tabsel', a:palette.normal.airline_a)
|
||||
let tabtype = get(colors, 'airline_tabtype', a:palette.visual.airline_a)
|
||||
let tabfill = get(colors, 'airline_tabfill', a:palette.normal.airline_c)
|
||||
let tabmod = get(colors, 'airline_tabmod', a:palette.insert.airline_a)
|
||||
let tabhid = get(colors, 'airline_tabhid', a:palette.normal.airline_c)
|
||||
if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c')
|
||||
let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal_modified.airline_c)
|
||||
else
|
||||
"Fall back to normal airline_c if modified airline_c isn't present
|
||||
let tabmodu = get(colors, 'airline_tabmod_unsel', a:palette.normal.airline_c)
|
||||
endif
|
||||
call airline#highlighter#exec('airline_tablabel', tablabel)
|
||||
call airline#highlighter#exec('airline_tab', tab)
|
||||
call airline#highlighter#exec('airline_tabsel', tabsel)
|
||||
call airline#highlighter#exec('airline_tabtype', tabtype)
|
||||
call airline#highlighter#exec('airline_tabfill', tabfill)
|
||||
call airline#highlighter#exec('airline_tabmod', tabmod)
|
||||
call airline#highlighter#exec('airline_tabmod_unsel', tabmodu)
|
||||
call airline#highlighter#exec('airline_tabhid', tabhid)
|
||||
|
||||
|
||||
function! airline#extensions#tabline#get()
|
||||
" Theme for tabs on the right
|
||||
" label on the right
|
||||
let tablabel_r = get(colors, 'airline_tablabel', a:palette.normal.airline_b)
|
||||
let tabsel_right = get(colors, 'airline_tabsel_right', a:palette.normal.airline_a)
|
||||
let tab_right = get(colors, 'airline_tab_right', a:palette.inactive.airline_c)
|
||||
let tabmod_right = get(colors, 'airline_tabmod_right', a:palette.insert.airline_a)
|
||||
let tabhid_right = get(colors, 'airline_tabhid_right', a:palette.normal.airline_c)
|
||||
if has_key(a:palette, 'normal_modified') && has_key(a:palette.normal_modified, 'airline_c')
|
||||
let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal_modified.airline_c)
|
||||
else
|
||||
"Fall back to normal airline_c if modified airline_c isn't present
|
||||
let tabmodu_right = get(colors, 'airline_tabmod_unsel_right', a:palette.normal.airline_c)
|
||||
endif
|
||||
call airline#highlighter#exec('airline_tablabel_right', tablabel_r)
|
||||
call airline#highlighter#exec('airline_tab_right', tab_right)
|
||||
call airline#highlighter#exec('airline_tabsel_right', tabsel_right)
|
||||
call airline#highlighter#exec('airline_tabmod_right', tabmod_right)
|
||||
call airline#highlighter#exec('airline_tabhid_right', tabhid_right)
|
||||
call airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right)
|
||||
endfunction
|
||||
function! airline#extensions#tabline#get() " {{{2
|
||||
let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
|
||||
let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1)
|
||||
|
||||
@@ -195,8 +187,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
return airline#extensions#tabline#tabs#get()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#title(n)
|
||||
function! airline#extensions#tabline#title(n) " {{{2
|
||||
let title = ''
|
||||
if s:taboo
|
||||
let title = TabooTabTitle(a:n)
|
||||
@@ -217,24 +208,18 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
let all_buffers = airline#extensions#tabline#buflist#list()
|
||||
let curbuf = filter(buflist, 'index(all_buffers, v:val) != -1')
|
||||
if len(curbuf) == 0
|
||||
call add(curbuf, tabpagebuflist(a:n)[0])
|
||||
call add(curbuf, tabpagebuflist()[0])
|
||||
endif
|
||||
" a:n: -> buffer number
|
||||
" curbuf: list of buffers in current tabpage
|
||||
" we need the buffername in current tab page.
|
||||
return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf)
|
||||
endif
|
||||
|
||||
return title
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#get_buffer_name(nr, ...)
|
||||
function! airline#extensions#tabline#get_buffer_name(nr, ...) " {{{2
|
||||
let buffers = a:0 ? a:1 : airline#extensions#tabline#buflist#list()
|
||||
let formatter = get(g:, 'airline#extensions#tabline#formatter', 'default')
|
||||
return airline#extensions#tabline#formatters#{formatter}#format(a:nr, buffers)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#new_builder()
|
||||
function! airline#extensions#tabline#new_builder() " {{{2
|
||||
let builder_context = {
|
||||
\ 'active' : 1,
|
||||
\ 'tabline' : 1,
|
||||
@@ -248,11 +233,9 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
let builder_context.left_sep = get(g:, 'airline#extensions#tabline#left_sep' , ' ')
|
||||
let builder_context.left_alt_sep = get(g:, 'airline#extensions#tabline#left_alt_sep' , '|')
|
||||
endif
|
||||
|
||||
return airline#extensions#tabline#builder#new(builder_context)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr)
|
||||
function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr) " {{{2
|
||||
let cur = bufnr('%')
|
||||
if cur == a:bufnr
|
||||
if g:airline_detect_modified && getbufvar(a:bufnr, '&modified')
|
||||
@@ -271,9 +254,30 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
endif
|
||||
return group
|
||||
endfunction
|
||||
finish
|
||||
function! airline#extensions#tabline#add_tab_label(dict) " {{{2
|
||||
let show_tab_count = get(g:, 'airline#extensions#tabline#show_tab_count', 1)
|
||||
if show_tab_count == 2
|
||||
call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
|
||||
elseif show_tab_count == 1 && tabpagenr('$') > 1
|
||||
call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
|
||||
endif
|
||||
endfunction
|
||||
else
|
||||
def s:toggle_off(): void
|
||||
" Vim9 Script implementation
|
||||
"def airline#extensions#tabline#init(ext: dict<any>): void # {{{2
|
||||
" Seems not to work yet :(
|
||||
" if has('gui_running') && match(&guioptions, 'e') > -1
|
||||
" :set guioptions-=e
|
||||
" endif
|
||||
" autocmd User AirlineToggledOn call s:toggle_on()
|
||||
" autocmd User AirlineToggledOff call s:toggle_off()
|
||||
" s:toggle_on()
|
||||
" try
|
||||
" ext.add_theme_func('airline#extensions#tabline#load_theme')
|
||||
" catch
|
||||
" endtry
|
||||
"enddef
|
||||
def s:toggle_off(): void # {{{2
|
||||
airline#extensions#tabline#autoshow#off()
|
||||
airline#extensions#tabline#tabs#off()
|
||||
airline#extensions#tabline#buffers#off()
|
||||
@@ -284,8 +288,7 @@ else
|
||||
airline#extensions#tabline#tabws#off()
|
||||
endif
|
||||
enddef
|
||||
|
||||
def s:toggle_on(): void
|
||||
def s:toggle_on(): void # {{{2
|
||||
if get(g:, 'airline_statusline_ontop', 0)
|
||||
airline#extensions#tabline#enable()
|
||||
&tabline = '%!airline#statusline(' .. winnr() .. ')'
|
||||
@@ -302,12 +305,37 @@ else
|
||||
endif
|
||||
&tabline = '%!airline#extensions#tabline#get()'
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#load_theme(palette: dict<any>): number
|
||||
# Needs to return a number, because it is implicitly used as extern_funcref
|
||||
# And funcrefs should return a value (see airline#util#exec_funcrefs())
|
||||
def s:update_tabline(forceit: number): void # {{{2
|
||||
if get(g:, 'airline#extensions#tabline#disable_refresh', 0)
|
||||
return
|
||||
endif
|
||||
if !forceit && get(g:, 'SessionLoad', 0)
|
||||
return
|
||||
endif
|
||||
var match = expand('<afile>')
|
||||
if pumvisible()
|
||||
return 0
|
||||
return
|
||||
elseif !get(g:, 'airline#extensions#tabline#enabled', 0)
|
||||
return
|
||||
# return, if buffer matches ignore pattern or is directory (netrw)
|
||||
elseif empty(match) || airline#util#ignore_buf(match) || isdirectory(match)
|
||||
return
|
||||
endif
|
||||
airline#util#doautocmd('BufMRUChange')
|
||||
airline#extensions#tabline#redraw()
|
||||
enddef
|
||||
def airline#extensions#tabline#redraw(): void # {{{2
|
||||
# TODO: Is this still needed?
|
||||
:redrawtabline
|
||||
enddef
|
||||
def airline#extensions#tabline#enable(): void # {{{2
|
||||
if &lines > 3
|
||||
&showtabline = 2
|
||||
endif
|
||||
enddef
|
||||
def airline#extensions#tabline#load_theme(palette: dict<any>): void # {{{2
|
||||
if pumvisible()
|
||||
return
|
||||
endif
|
||||
var colors = get(palette, 'tabline', {})
|
||||
var tablabel = get(colors, 'airline_tablabel', palette.normal.airline_b)
|
||||
@@ -348,43 +376,8 @@ else
|
||||
airline#highlighter#exec('airline_tabsel_right', tabsel_right)
|
||||
airline#highlighter#exec('airline_tabmod_right', tabmod_right)
|
||||
airline#highlighter#exec('airline_tabhid_right', tabhid_right)
|
||||
return 0
|
||||
enddef
|
||||
|
||||
def s:update_tabline(forceit: number): void
|
||||
if get(g:, 'airline#extensions#tabline#disable_refresh', 0)
|
||||
return
|
||||
endif
|
||||
# loading a session file
|
||||
# On SessionLoadPost, g:SessionLoad variable is still set :/
|
||||
if !forceit && get(g:, 'SessionLoad', 0)
|
||||
return
|
||||
endif
|
||||
var match = expand('<afile>')
|
||||
if pumvisible()
|
||||
return
|
||||
elseif !get(g:, 'airline#extensions#tabline#enabled', 0)
|
||||
return
|
||||
# return, if buffer matches ignore pattern or is directory (netrw)
|
||||
elseif empty(match) || airline#util#ignore_buf(match) || isdirectory(match)
|
||||
return
|
||||
endif
|
||||
airline#util#doautocmd('BufMRUChange')
|
||||
airline#extensions#tabline#redraw()
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#redraw(): void
|
||||
# redrawtabline should always be available
|
||||
:redrawtabline
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#enable(): void
|
||||
if &lines > 3
|
||||
&showtabline = 2
|
||||
endif
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#get(): string
|
||||
def airline#extensions#tabline#get(): string # {{{2
|
||||
var show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
|
||||
var show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1)
|
||||
|
||||
@@ -413,8 +406,7 @@ else
|
||||
return airline#extensions#tabline#tabs#get()
|
||||
endif
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#title(n: number): string
|
||||
def airline#extensions#tabline#title(n: number): string # {{{2
|
||||
var title = ''
|
||||
if get(g:, 'airline#extensions#taboo#enabled', 1) &&
|
||||
get(g:, 'loaded_taboo', 0) && exists("*TabooTabTitle")
|
||||
@@ -434,21 +426,19 @@ else
|
||||
var buflist = tabpagebuflist(n)
|
||||
var winnr = tabpagewinnr(n)
|
||||
var all_buffers = airline#extensions#tabline#buflist#list()
|
||||
var curbuf = filter(buflist, (_, v) => index(all_buffers, v) != -1)
|
||||
var curbuf = filter(buflist, {_, v -> index(all_buffers, v) != -1})
|
||||
if len(curbuf) == 0
|
||||
add(curbuf, tabpagebuflist(n)[0])
|
||||
add(curbuf, tabpagebuflist()[0])
|
||||
endif
|
||||
return airline#extensions#tabline#get_buffer_name(curbuf[0], curbuf)
|
||||
endif
|
||||
return title
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#get_buffer_name(nr: number, buffers = airline#extensions#tabline#buflist#list()): string
|
||||
def airline#extensions#tabline#get_buffer_name(nr: number, buffers = airline#extensions#tabline#buflist#list()): string # {{{2
|
||||
var Formatter = 'airline#extensions#tabline#formatters#' .. get(g:, 'airline#extensions#tabline#formatter', 'default') .. '#format'
|
||||
return call(Formatter, [ nr, buffers] )
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#new_builder(): dict<any>
|
||||
def airline#extensions#tabline#new_builder(): dict<any> # {{{2
|
||||
var builder_context = {
|
||||
'active': 1,
|
||||
'tabline': 1,
|
||||
@@ -459,8 +449,7 @@ else
|
||||
}
|
||||
return airline#extensions#tabline#builder#new(builder_context)
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#group_of_bufnr(tab_bufs: list<number>, bufnr: number): string
|
||||
def airline#extensions#tabline#group_of_bufnr(tab_bufs: list<number>, bufnr: number): string # {{{2
|
||||
var cur = bufnr('%')
|
||||
var group = ''
|
||||
if cur == bufnr
|
||||
@@ -480,4 +469,19 @@ else
|
||||
endif
|
||||
return group
|
||||
enddef
|
||||
"def airline#extensions#tabline#add_label(dict: dict<any>, type: string, right: number): void # {{{2
|
||||
" # Seems not to work yet :(
|
||||
" if get(g:, 'airline#extensions#tabline#show_tab_type', 1)
|
||||
" dict.add_section_spaced('airline_tablabel' .. (right ? '_right' : ''),
|
||||
" get(g:, 'airline#extensions#tabline#' .. type .. '_label', type))
|
||||
" endif
|
||||
"enddef
|
||||
" def airline#extensions#tabline#add_tab_label(dict: dict<any>): void # {{{2
|
||||
" var show_tab_count = get(g:, 'airline#extensions#tabline#show_tab_count', 1)
|
||||
" if show_tab_count == 2
|
||||
" dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
|
||||
" elseif show_tab_count == 1 && tabpagenr('$') > 1
|
||||
" dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
|
||||
" endif
|
||||
" enddef
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -30,7 +30,7 @@ function! airline#extensions#tabline#autoshow#on()
|
||||
autocmd BufEnter * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()))
|
||||
autocmd BufUnload * call <sid>show_tabline(s:buf_min_count, len(airline#extensions#tabline#buflist#list()) - 1)
|
||||
else
|
||||
autocmd TabNew,TabClosed * call <sid>show_tabline(s:tab_min_count, tabpagenr('$'))
|
||||
autocmd TabEnter * call <sid>show_tabline(s:tab_min_count, tabpagenr('$'))
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let s:spc = g:airline_symbols.space
|
||||
|
||||
let s:current_bufnr = -1
|
||||
let s:current_tabnr = -1
|
||||
let s:current_modified = 0
|
||||
let s:current_tabline = ''
|
||||
let s:current_visible_buffers = []
|
||||
@@ -49,15 +49,14 @@ function! airline#extensions#tabline#buffers#invalidate()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#buffers#get()
|
||||
let curbuf = bufnr('%')
|
||||
let curtab = tabpagenr()
|
||||
try
|
||||
call <sid>map_keys()
|
||||
catch
|
||||
" no-op
|
||||
endtry
|
||||
if curbuf == s:current_bufnr && curtab == s:current_tabnr && &columns == s:column_width
|
||||
if !g:airline_detect_modified || getbufvar(curbuf, '&modified') == s:current_modified
|
||||
let cur = bufnr('%')
|
||||
if cur == s:current_bufnr && &columns == s:column_width
|
||||
if !g:airline_detect_modified || getbufvar(cur, '&modified') == s:current_modified
|
||||
return s:current_tabline
|
||||
endif
|
||||
endif
|
||||
@@ -78,10 +77,10 @@ function! airline#extensions#tabline#buffers#get()
|
||||
let b.overflow_group = 'airline_tabhid'
|
||||
let b.buffers = airline#extensions#tabline#buflist#list()
|
||||
if get(g:, 'airline#extensions#tabline#current_first', 0)
|
||||
if index(b.buffers, curbuf) > -1
|
||||
call remove(b.buffers, index(b.buffers, curbuf))
|
||||
if index(b.buffers, cur) > -1
|
||||
call remove(b.buffers, index(b.buffers, cur))
|
||||
endif
|
||||
let b.buffers = [curbuf] + b.buffers
|
||||
let b.buffers = [cur] + b.buffers
|
||||
endif
|
||||
|
||||
function! b.get_group(i) dict
|
||||
@@ -97,7 +96,6 @@ function! airline#extensions#tabline#buffers#get()
|
||||
endfunction
|
||||
|
||||
if has("tablineat")
|
||||
" Neovim version
|
||||
function! b.get_pretitle(i) dict
|
||||
let bufnum = get(self.buffers, a:i, -1)
|
||||
return '%'.bufnum.'@airline#extensions#tabline#buffers#clickbuf@'
|
||||
@@ -108,17 +106,6 @@ function! airline#extensions#tabline#buffers#get()
|
||||
endfunction
|
||||
endif
|
||||
|
||||
if has("statusline_click")
|
||||
" Vim version
|
||||
function! b.get_pretitle(i) dict
|
||||
return '%'.get(self.buffers, a:i, -1).'[airline#extensions#tabline#buffers#clickbufVim]'
|
||||
endfunction
|
||||
|
||||
function! b.get_posttitle(i) dict
|
||||
return '%[]'
|
||||
endfunction
|
||||
endif
|
||||
|
||||
function! b.get_title(i) dict
|
||||
let bufnum = get(self.buffers, a:i, -1)
|
||||
let group = self.get_group(a:i)
|
||||
@@ -142,7 +129,7 @@ function! airline#extensions#tabline#buffers#get()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let current_buffer = max([index(b.buffers, curbuf), 0])
|
||||
let current_buffer = max([index(b.buffers, cur), 0])
|
||||
let last_buffer = len(b.buffers) - 1
|
||||
call b.insert_titles(current_buffer, 0, last_buffer)
|
||||
|
||||
@@ -155,8 +142,7 @@ function! airline#extensions#tabline#buffers#get()
|
||||
|
||||
call airline#extensions#tabline#add_tab_label(b)
|
||||
|
||||
let s:current_bufnr = curbuf
|
||||
let s:current_tabnr = curtab
|
||||
let s:current_bufnr = cur
|
||||
let s:column_width = &columns
|
||||
let s:current_tabline = b.build()
|
||||
let s:current_visible_buffers = copy(b.buffers)
|
||||
@@ -175,10 +161,13 @@ function! s:get_number(index)
|
||||
return a:index
|
||||
endif
|
||||
let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 0)
|
||||
let number_format = bidx_mode > 1 ? '%02d' : '%d'
|
||||
let l:count = bidx_mode == 2 ? a:index+11 : a:index+1
|
||||
return join(map(split(printf(number_format, l:count), '\zs'),
|
||||
\ 'get(s:number_map, v:val, "")'), '')
|
||||
if bidx_mode > 1
|
||||
let l:count = bidx_mode == 2 ? a:index+11 : a:index+1
|
||||
return join(map(split(printf('%02d', l:count), '\zs'),
|
||||
\ 'get(s:number_map, v:val, "")'), '')
|
||||
else
|
||||
return get(s:number_map, a:index+1, '')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:select_tab(buf_index)
|
||||
@@ -210,8 +199,8 @@ function! s:map_keys()
|
||||
let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 1)
|
||||
if bidx_mode > 0
|
||||
if bidx_mode == 1
|
||||
for i in range(1, 10)
|
||||
exe printf('noremap <silent> <Plug>AirlineSelectTab%d :call <SID>select_tab(%d)<CR>', i%10, i-1)
|
||||
for i in range(1, 9)
|
||||
exe printf('noremap <silent> <Plug>AirlineSelectTab%d :call <SID>select_tab(%d)<CR>', i, i-1)
|
||||
endfor
|
||||
else
|
||||
let start_idx = bidx_mode == 2 ? 11 : 1
|
||||
@@ -221,68 +210,11 @@ function! s:map_keys()
|
||||
endif
|
||||
noremap <silent> <Plug>AirlineSelectPrevTab :<C-u>call <SID>jump_to_tab(-v:count1)<CR>
|
||||
noremap <silent> <Plug>AirlineSelectNextTab :<C-u>call <SID>jump_to_tab(v:count1)<CR>
|
||||
noremap <silent> <Plug>AirlineSelectFirstTab :<C-u>call <SID>select_tab(0)<CR>
|
||||
noremap <silent> <Plug>AirlineSelectLastTab :<C-u>call <SID>select_tab(len(airline#extensions#tabline#buflist#list()) - 1)<CR>
|
||||
" Enable this for debugging
|
||||
" com! AirlineBufferList :echo map(copy(s:current_visible_buffers), {i,k -> k.": ".bufname(k)})
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#buffers#clickbufVim(dict) abort
|
||||
" Clickable buffers in Vim, requires v9.2.0338
|
||||
|
||||
" single mouse button click without modifiers pressed
|
||||
if a:dict.nclicks == 1 && empty(a:dict.mods)
|
||||
if a:dict.button is# 'l'
|
||||
" left button - switch to buffer
|
||||
try
|
||||
silent execute 'buffer' a:dict.minwid
|
||||
catch
|
||||
call airline#util#warning("Cannot switch buffer, current buffer is modified! See :h 'hidden'")
|
||||
endtry
|
||||
elseif a:dict.button is# 'm'
|
||||
" middle button - delete buffer
|
||||
|
||||
if get(g:, 'airline#extensions#tabline#middle_click_preserves_windows', 0) == 0 || winnr('$') == 1
|
||||
" just simply delete the clicked buffer. This will cause windows
|
||||
" associated with the clicked buffer to be closed.
|
||||
silent execute 'bdelete' a:dict.minwid
|
||||
else
|
||||
" find windows displaying the clicked buffer and open an new
|
||||
" buffer in them.
|
||||
let current_window = bufwinnr("%")
|
||||
let window_number = bufwinnr(a:dict.minwid)
|
||||
let last_window_visited = -1
|
||||
|
||||
" Set to 1 if the clicked buffer was open in any windows.
|
||||
let buffer_in_window = 0
|
||||
|
||||
" Find the next window with the clicked buffer open. If bufwinnr()
|
||||
" returns the same window number, this is because we clicked a new
|
||||
" buffer, and then tried editing a new buffer. Vim won't create a
|
||||
" new empty buffer for the same window, so we get the same window
|
||||
" number from bufwinnr(). In this case we just give up and don't
|
||||
" delete the buffer.
|
||||
" This could be made cleaner if we could check if the clicked buffer
|
||||
" is a new buffer, but I don't know if there is a way to do that.
|
||||
while window_number != -1 && window_number != last_window_visited
|
||||
let buffer_in_window = 1
|
||||
silent execute window_number . 'wincmd w'
|
||||
silent execute 'enew'
|
||||
let last_window_visited = window_number
|
||||
let window_number = bufwinnr(a:minwid)
|
||||
endwhile
|
||||
silent execute current_window . 'wincmd w'
|
||||
if window_number != last_window_visited || buffer_in_window == 0
|
||||
silent execute 'bdelete' a:dict.minwid
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
" force a redraw
|
||||
return 1
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#buffers#clickbuf(minwid, clicks, button, modifiers) abort
|
||||
" Clickable buffers
|
||||
" works only in recent NeoVim with has('tablineat')
|
||||
@@ -291,11 +223,7 @@ function! airline#extensions#tabline#buffers#clickbuf(minwid, clicks, button, mo
|
||||
if a:clicks == 1 && a:modifiers !~# '[^ ]'
|
||||
if a:button is# 'l'
|
||||
" left button - switch to buffer
|
||||
try
|
||||
silent execute 'buffer' a:minwid
|
||||
catch
|
||||
call airline#util#warning("Cannot switch buffer, current buffer is modified! See :h 'hidden'")
|
||||
endtry
|
||||
silent execute 'buffer' a:minwid
|
||||
elseif a:button is# 'm'
|
||||
" middle button - delete buffer
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -8,10 +8,6 @@ function! airline#extensions#tabline#buflist#invalidate()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#buflist#clean()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
call airline#extensions#tabline#buflist#invalidate()
|
||||
call airline#extensions#tabline#buffers#invalidate()
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -71,7 +71,7 @@ endfunction
|
||||
|
||||
" Compute the change in size of the tabline caused by separators
|
||||
"
|
||||
" This should be kept up-to-date with |s:get_transitioned_separator| and
|
||||
" This should be kept up-to-date with |s:get_transitioned_seperator| and
|
||||
" |s:get_separator| in autoload/airline/builder.vim
|
||||
function! s:get_separator_change_with_end(new_group, old_group, new_end_group, old_end_group, sep_size, alt_sep_size)
|
||||
let sep_change = 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2016-2026 Kevin Sapper et al.
|
||||
" MIT License. Copyright (c) 2016-2020 Kevin Sapper et al.
|
||||
" Plugin: https://github.com/szw/vim-ctrlspace
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -24,16 +24,13 @@ function! airline#extensions#tabline#ctrlspace#on()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#ctrlspace#invalidate()
|
||||
if !exists('#airline')
|
||||
return
|
||||
endif
|
||||
let s:current_bufnr = -1
|
||||
let s:current_tabnr = -1
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#ctrlspace#add_buffer_section(builder, cur_tab, cur_buf, pull_right)
|
||||
let pos_extension = (a:pull_right ? '_right' : '')
|
||||
|
||||
|
||||
let buffer_list = []
|
||||
for bufferindex in sort(keys(ctrlspace#api#Buffers(a:cur_tab)), 'N')
|
||||
for buffer in ctrlspace#api#BufferList(a:cur_tab)
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2 et
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2 et fdm=marker
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists(":def") || !airline#util#has_vim9_script()
|
||||
function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
|
||||
if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0)==0)
|
||||
" Legacy VimScript implementation {{{1
|
||||
function! airline#extensions#tabline#formatters#default#format(bufnr, buffers) " {{{2
|
||||
let fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
|
||||
let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.')
|
||||
let _ = ''
|
||||
|
||||
let name = bufname(a:bufnr)
|
||||
if empty(name)
|
||||
let _ = '[No Name]'
|
||||
let _ .= '[No Name]'
|
||||
elseif name =~ 'term://'
|
||||
" Neovim Terminal
|
||||
let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
|
||||
@@ -19,9 +20,9 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
if get(g:, 'airline#extensions#tabline#fnamecollapse', 1)
|
||||
" Does not handle non-ascii characters like Cyrillic: 'D/Учёба/t.c'
|
||||
"let _ .= substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g')
|
||||
let _ = pathshorten(fnamemodify(name, fmod))
|
||||
let _ .= pathshorten(fnamemodify(name, fmod))
|
||||
else
|
||||
let _ = fnamemodify(name, fmod)
|
||||
let _ .= fnamemodify(name, fmod)
|
||||
endif
|
||||
if a:bufnr != bufnr('%') && fnametruncate && strlen(_) > fnametruncate
|
||||
let _ = airline#util#strcharpart(_, 0, fnametruncate)
|
||||
@@ -31,7 +32,7 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name)
|
||||
function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name) " {{{2
|
||||
let buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
|
||||
let buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
|
||||
|
||||
@@ -43,17 +44,16 @@ if !exists(":def") || !airline#util#has_vim9_script()
|
||||
endif
|
||||
return _
|
||||
endfunction
|
||||
finish
|
||||
else
|
||||
" Vim9 Script implementation
|
||||
def airline#extensions#tabline#formatters#default#format(bufnr: number, buffers: list<number>): string
|
||||
var fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
|
||||
" New Vim9 script implementation {{{1
|
||||
def airline#extensions#tabline#formatters#default#format(bufnr: number, buffers: list<number>): string # {{{2
|
||||
var fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.')
|
||||
var result = ''
|
||||
var fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
|
||||
|
||||
var name = bufname(bufnr)
|
||||
if empty(name)
|
||||
result = '[No Name]'
|
||||
result = '[No Name]'
|
||||
elseif name =~ 'term://'
|
||||
# Neovim Terminal
|
||||
result = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
|
||||
@@ -69,16 +69,13 @@ else
|
||||
endif
|
||||
return airline#extensions#tabline#formatters#default#wrap_name(bufnr, result)
|
||||
enddef
|
||||
|
||||
def airline#extensions#tabline#formatters#default#wrap_name(bufnr: number, buffer_name: string): string
|
||||
var buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
|
||||
def airline#extensions#tabline#formatters#default#wrap_name(bufnr: number, buffer_name: string): string # {{{2
|
||||
var buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
|
||||
|
||||
var buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
|
||||
var result = buf_nr_show ? printf(buf_nr_format, bufnr) : ''
|
||||
result ..= substitute(buffer_name, '\\', '/', 'g')
|
||||
|
||||
if getbufvar(bufnr, '&modified')
|
||||
result ..= g:airline_symbols.modified
|
||||
result = result .. substitute(buffer_name, '\\', '/', 'g')
|
||||
if getbufvar(bufnr, '&modified') == 1
|
||||
result = result .. g:airline_symbols.modified
|
||||
endif
|
||||
return result
|
||||
enddef
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -7,7 +7,7 @@ function! airline#extensions#tabline#formatters#jsformatter#format(bufnr, buffer
|
||||
let buf = bufname(a:bufnr)
|
||||
let filename = fnamemodify(buf, ':t')
|
||||
|
||||
if filename ==# 'index.js' || filename ==# 'index.jsx' || filename ==# 'index.ts' || filename ==# 'index.tsx' || filename ==# 'index.vue'
|
||||
if filename == 'index.js' || filename == 'index.jsx' || filename == 'index.ts' || filename == 'index.tsx'
|
||||
return fnamemodify(buf, ':p:h:t') . '/i'
|
||||
else
|
||||
return airline#extensions#tabline#formatters#unique_tail_improved#format(a:bufnr, a:buffers)
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
let g:airline#extensions#tabline#formatters#nerdfont#formatter = get(g:, 'airline#extensions#tabline#formatters#nerdfont#formatter', 'default')
|
||||
|
||||
function! airline#extensions#tabline#formatters#nerdfont#format(bufnr, buffers) abort
|
||||
" Call original formatter.
|
||||
let originalFormatter = airline#extensions#tabline#formatters#{g:airline#extensions#tabline#formatters#nerdfont#formatter}#format(a:bufnr, a:buffers)
|
||||
return originalFormatter . printf(' %s', nerdfont#find(bufname(a:bufnr)))
|
||||
endfunction
|
||||
@@ -1,10 +1,11 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1)
|
||||
|
||||
function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers)
|
||||
let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':p:h:t')
|
||||
let _ = ''
|
||||
|
||||
let name = bufname(a:bufnr)
|
||||
@@ -14,7 +15,7 @@ function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers
|
||||
" Neovim Terminal
|
||||
let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
|
||||
else
|
||||
let _ .= fnamemodify(name, fmod) . '/' . fnamemodify(name, ':t')
|
||||
let _ .= fnamemodify(name, ':p:h:t') . '/' . fnamemodify(name, ':t')
|
||||
endif
|
||||
|
||||
return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _)
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
function! airline#extensions#tabline#formatters#short_path_improved#format(bufnr, buffers) abort
|
||||
let name = bufname(a:bufnr)
|
||||
if empty(name)
|
||||
return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, '[No Name]')
|
||||
endif
|
||||
|
||||
let tail = s:tail(a:bufnr)
|
||||
let tails = s:tails(a:bufnr, a:buffers)
|
||||
|
||||
if has_key(tails, tail)
|
||||
" Use short path for duplicates
|
||||
return airline#extensions#tabline#formatters#short_path#format(a:bufnr, a:buffers)
|
||||
endif
|
||||
|
||||
" Use tail for unique filenames
|
||||
return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, tail)
|
||||
endfunction
|
||||
|
||||
function! s:tails(self, buffers) abort
|
||||
let tails = {}
|
||||
for nr in a:buffers
|
||||
if nr != a:self
|
||||
let tails[s:tail(nr)] = 1
|
||||
endif
|
||||
endfor
|
||||
return tails
|
||||
endfunction
|
||||
|
||||
function! s:tail(bufnr) abort
|
||||
return fnamemodify(bufname(a:bufnr), ':t')
|
||||
endfunction
|
||||
@@ -1,18 +1,15 @@
|
||||
" MIT License. Copyright (c) 2017-2026 Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2017-2020 Christian Brabandt et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
function! airline#extensions#tabline#formatters#tabnr#format(tab_nr, buflist)
|
||||
function! airline#extensions#tabline#formatters#tabnr#format(tab_nr_type, nr)
|
||||
let spc=g:airline_symbols.space
|
||||
let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0)
|
||||
if tab_nr_type == 0 " nr of splits
|
||||
return spc. len(tabpagebuflist(a:tab_nr))
|
||||
elseif tab_nr_type == 1 " tab number
|
||||
" Return only the current tab number
|
||||
return spc. a:tab_nr
|
||||
else " tab_nr_type == 2 splits and tab number
|
||||
" return the tab number followed by the number of buffers (in the tab)
|
||||
return spc. a:tab_nr. spc. len(tabpagebuflist(a:tab_nr))
|
||||
if a:tab_nr_type == 0 " nr of splits
|
||||
return spc. '%{len(tabpagebuflist('.a:nr.'))}'
|
||||
elseif a:tab_nr_type == 1 " tab number
|
||||
return spc. a:nr
|
||||
else "== 2 splits and tab number
|
||||
return spc. a:nr. '.%{len(tabpagebuflist('.a:nr.'))}'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -22,9 +22,7 @@ function! airline#extensions#tabline#tabs#on()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#tabs#invalidate()
|
||||
if exists('#airline')
|
||||
let s:current_bufnr = -1
|
||||
endif
|
||||
let s:current_bufnr = -1
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#tabs#get()
|
||||
@@ -41,8 +39,6 @@ function! airline#extensions#tabline#tabs#get()
|
||||
endif
|
||||
endif
|
||||
|
||||
let s:filtered_buflist = airline#extensions#tabline#buflist#list()
|
||||
|
||||
let b = airline#extensions#tabline#new_builder()
|
||||
|
||||
call airline#extensions#tabline#add_label(b, 'tabs', 0)
|
||||
@@ -54,10 +50,8 @@ function! airline#extensions#tabline#tabs#get()
|
||||
let group = 'airline_tabsel'
|
||||
if g:airline_detect_modified
|
||||
for bi in tabpagebuflist(curtab)
|
||||
if index(s:filtered_buflist,bi) != -1
|
||||
if getbufvar(bi, '&modified')
|
||||
let group = 'airline_tabmod'
|
||||
endif
|
||||
if getbufvar(bi, '&modified')
|
||||
let group = 'airline_tabmod'
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
@@ -70,7 +64,8 @@ function! airline#extensions#tabline#tabs#get()
|
||||
let val = '%('
|
||||
|
||||
if get(g:, 'airline#extensions#tabline#show_tab_nr', 1)
|
||||
let val .= airline#extensions#tabline#tabs#tabnr_formatter(a:i, tabpagebuflist(a:i))
|
||||
let tab_nr_type = get(g:, 'airline#extensions#tabline#tab_nr_type', 0)
|
||||
let val .= airline#extensions#tabline#tabs#tabnr_formatter(tab_nr_type, a:i)
|
||||
endif
|
||||
|
||||
return val.'%'.a:i.'T %{airline#extensions#tabline#title('.a:i.')} %)'
|
||||
@@ -84,16 +79,14 @@ function! airline#extensions#tabline#tabs#get()
|
||||
|
||||
if get(g:, 'airline#extensions#tabline#show_close_button', 1)
|
||||
call b.add_section('airline_tab_right', ' %999X'.
|
||||
\ get(g:, 'airline#extensions#tabline#close_symbol', 'X').'%X ')
|
||||
\ get(g:, 'airline#extensions#tabline#close_symbol', 'X').' ')
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#tabline#show_splits', 1) == 1
|
||||
let buffers = tabpagebuflist(curtab)
|
||||
for nr in buffers
|
||||
if index(s:filtered_buflist,nr) != -1
|
||||
let group = airline#extensions#tabline#group_of_bufnr(buffers, nr) . "_right"
|
||||
call b.add_section_spaced(group, '%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)')
|
||||
endif
|
||||
let group = airline#extensions#tabline#group_of_bufnr(buffers, nr) . "_right"
|
||||
call b.add_section_spaced(group, '%(%{airline#extensions#tabline#get_buffer_name('.nr.')}%)')
|
||||
endfor
|
||||
if get(g:, 'airline#extensions#tabline#show_buffers', 1)
|
||||
call airline#extensions#tabline#add_label(b, 'buffers', 1)
|
||||
@@ -114,8 +107,8 @@ function! airline#extensions#tabline#tabs#map_keys()
|
||||
endif
|
||||
let bidx_mode = get(g:, 'airline#extensions#tabline#buffer_idx_mode', 1)
|
||||
if bidx_mode == 1
|
||||
for i in range(1, 10)
|
||||
exe printf('noremap <silent> <Plug>AirlineSelectTab%d :%dtabn<CR>', i%10, i)
|
||||
for i in range(1, 9)
|
||||
exe printf('noremap <silent> <Plug>AirlineSelectTab%d :%dtabn<CR>', i, i)
|
||||
endfor
|
||||
else
|
||||
for i in range(11, 99)
|
||||
@@ -125,8 +118,6 @@ function! airline#extensions#tabline#tabs#map_keys()
|
||||
noremap <silent> <Plug>AirlineSelectPrevTab gT
|
||||
" tabn {count} goes to count tab does not go {count} tab pages forward!
|
||||
noremap <silent> <Plug>AirlineSelectNextTab :<C-U>exe repeat(':tabn\|', v:count1)<cr>
|
||||
noremap <silent> <Plug>AirlineSelectFirstTab :<C-u>:tabfirst<CR>
|
||||
noremap <silent> <Plug>AirlineSelectLastTab :<C-u>:tablast<CR>
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#tabs#tabnr_formatter(nr, i) abort
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2016-2026 Kevin Sapper et al.
|
||||
" MIT License. Copyright (c) 2016-2020 Kevin Sapper et al.
|
||||
" PLugin: https://github.com/s1341/vim-tabws
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -24,10 +24,8 @@ function! airline#extensions#tabline#tabws#on()
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#tabws#invalidate()
|
||||
if exists('#airline')
|
||||
let s:current_bufnr = -1
|
||||
let s:current_tabnr = -1
|
||||
endif
|
||||
let s:current_bufnr = -1
|
||||
let s:current_tabnr = -1
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#tabline#tabws#add_buffer_section(builder, cur_tab, cur_buf, pull_right)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" xTabline - Reduced version for vim-airline
|
||||
" Plugin: https://github.com/mg979/vim-xtabline
|
||||
" MIT License Copyright (C) 2018-2021 Gianmaria Bajo <mg1979.git@gmail.com>
|
||||
" MIT License Copyright (C) 2018-2020 Gianmaria Bajo <mg1979.git@gmail.com>
|
||||
" tabpagecd:
|
||||
" expanded version by mg979
|
||||
" MIT License Copyright (C) 2012-2013 Kana Natsuno <http://whileimautomaton.net/>
|
||||
" MIT License Copyright (C) 2018-2021 Gianmaria Bajo <mg1979.git@gmail.com>
|
||||
" MIT License Copyright (C) 2018-2020 Gianmaria Bajo <mg1979.git@gmail.com>
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ function! airline#extensions#tabline#xtabline#init()
|
||||
autocmd TabLeave * call s:Do('leave')
|
||||
autocmd TabClosed * call s:Do('close')
|
||||
|
||||
autocmd BufEnter * if exists('#airline') | let g:xtabline_changing_buffer = 0 | endif
|
||||
autocmd BufEnter * let g:xtabline_changing_buffer = 0
|
||||
autocmd BufAdd,BufDelete,BufWrite * call airline#extensions#tabline#xtabline#filter_buffers()
|
||||
augroup END
|
||||
|
||||
@@ -180,10 +180,6 @@ function! airline#extensions#tabline#xtabline#filter_buffers()
|
||||
" 'accepted' is a list of buffer numbers, for quick access.
|
||||
" 'excluded' is a list of buffer numbers, it will be used by Airline to hide buffers.
|
||||
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
if !s:xtabline_filtering | return | endif
|
||||
|
||||
let g:airline#extensions#tabline#exclude_buffers = []
|
||||
@@ -355,10 +351,6 @@ endfunction
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
function! s:Do(action)
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
let arg = a:action
|
||||
if !s:state | call s:InitCwds() | return | endif
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
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
|
||||
@@ -1,154 +0,0 @@
|
||||
vim9script
|
||||
|
||||
# MIT License. Copyright (c) 2013-2026 Christian Brabandt et al.
|
||||
# vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
var spc = g:airline_symbols.space
|
||||
var mouse_support = has('patch-9.2.0386')
|
||||
|
||||
def IsTabModified(tabnr: number): bool
|
||||
if !g:airline_detect_modified
|
||||
return false
|
||||
endif
|
||||
for bi in tabpagebuflist(tabnr)
|
||||
if getbufvar(bi, '&modified')
|
||||
return true
|
||||
endif
|
||||
endfor
|
||||
return false
|
||||
enddef
|
||||
|
||||
export def Get(): string
|
||||
var tabnr = get(g:, 'actual_curtabpage', tabpagenr())
|
||||
var curtab = tabpagenr()
|
||||
var label = ''
|
||||
|
||||
if tabnr == 1
|
||||
label ..= '%#airline_tabfill#'
|
||||
label ..= get(g:, 'airline#extensions#tabpanel#label', '[tabs]') .. "\n"
|
||||
endif
|
||||
|
||||
var buflist = tabpagebuflist(tabnr)
|
||||
var winnr = tabpagewinnr(tabnr)
|
||||
var bufnr = buflist[winnr - 1]
|
||||
var title = fnamemodify(bufname(bufnr), ':t')
|
||||
if empty(title)
|
||||
title = '[No Name]'
|
||||
endif
|
||||
|
||||
if tabnr == curtab
|
||||
if IsTabModified(tabnr)
|
||||
label ..= '%#airline_tabmod#'
|
||||
else
|
||||
label ..= '%#airline_tabsel#'
|
||||
endif
|
||||
else
|
||||
if IsTabModified(tabnr)
|
||||
label ..= '%#airline_tabmod_unsel#'
|
||||
else
|
||||
label ..= '%#airline_tab#'
|
||||
endif
|
||||
endif
|
||||
|
||||
if mouse_support
|
||||
label ..= '%' .. tabnr .. '[airline#extensions#tabpanel#ClickTab]'
|
||||
endif
|
||||
|
||||
if get(g:, 'airline#extensions#tabline#show_tab_nr', 1)
|
||||
label ..= spc .. tabnr
|
||||
label ..= spc
|
||||
endif
|
||||
|
||||
label ..= title .. spc
|
||||
|
||||
if mouse_support
|
||||
label ..= '%[]'
|
||||
endif
|
||||
return label
|
||||
enddef
|
||||
|
||||
export def ClickTab(info: dict<any>): number
|
||||
if info.nclicks != 1 || !empty(info.mods)
|
||||
return 0
|
||||
endif
|
||||
if info.button ==# 'l'
|
||||
try
|
||||
silent execute 'tabnext' info.minwid
|
||||
catch
|
||||
airline#util#warning('Cannot switch tab')
|
||||
endtry
|
||||
elseif info.button ==# 'm'
|
||||
try
|
||||
silent execute 'tabclose' info.minwid
|
||||
catch
|
||||
airline#util#warning('Cannot close tab')
|
||||
endtry
|
||||
endif
|
||||
return 0
|
||||
enddef
|
||||
|
||||
def LinkHighlights(): void
|
||||
highlight! link TabPanelFill airline_tabfill
|
||||
highlight! link TabPanelSel airline_tabsel
|
||||
highlight! link TabPanel airline_tab
|
||||
enddef
|
||||
|
||||
export def LoadTheme(palette: dict<any>): number
|
||||
airline#extensions#tabline#load_theme(palette)
|
||||
LinkHighlights()
|
||||
return 0
|
||||
enddef
|
||||
|
||||
def Enable(): void
|
||||
LinkHighlights()
|
||||
&tabpanel = '%!airline#extensions#tabpanel#Get()'
|
||||
var cols = get(g:, 'airline#extensions#tabpanel#columns', 20)
|
||||
var align = get(g:, 'airline#extensions#tabpanel#align', '')
|
||||
var scrollbar = get(g:, 'airline#extensions#tabpanel#scrollbar', 1)
|
||||
var opts = 'columns:' .. cols
|
||||
if !empty(align)
|
||||
opts ..= ',align:' .. align
|
||||
endif
|
||||
if mouse_support
|
||||
if scrollbar
|
||||
opts ..= ',scrollbar'
|
||||
endif
|
||||
endif
|
||||
&tabpanelopt = opts
|
||||
&showtabpanel = 2
|
||||
enddef
|
||||
|
||||
def Disable(): void
|
||||
highlight! link TabPanelFill NONE
|
||||
highlight! link TabPanelSel NONE
|
||||
highlight! link TabPanel NONE
|
||||
&tabpanel = ''
|
||||
&tabpanelopt = ''
|
||||
&showtabpanel = 0
|
||||
enddef
|
||||
|
||||
export def Init(ext: dict<any>): void
|
||||
if !exists('+tabpanel')
|
||||
return
|
||||
endif
|
||||
|
||||
autocmd_add([{
|
||||
group: 'airline_tabpanel',
|
||||
event: 'User',
|
||||
pattern: 'AirlineToggledOn',
|
||||
cmd: 'Enable()',
|
||||
replace: true,
|
||||
}])
|
||||
autocmd_add([{
|
||||
group: 'airline_tabpanel',
|
||||
event: 'User',
|
||||
pattern: 'AirlineToggledOff',
|
||||
cmd: 'Disable()',
|
||||
replace: true,
|
||||
}])
|
||||
|
||||
ext.add_theme_func('airline#extensions#tabpanel#LoadTheme')
|
||||
Enable()
|
||||
enddef
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/majutsushi/tagbar
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -8,6 +8,7 @@ if !exists(':TagbarToggle')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:flags = get(g:, 'airline#extensions#tagbar#flags', '')
|
||||
let s:spc = g:airline_symbols.space
|
||||
let s:init=0
|
||||
|
||||
@@ -34,21 +35,15 @@ function! airline#extensions#tagbar#currenttag()
|
||||
try
|
||||
" try to load the plugin, if filetypes are disabled,
|
||||
" this will cause an error, so try only once
|
||||
let a = tagbar#currenttag('%s', '', '')
|
||||
let a=tagbar#currenttag('%', '', '')
|
||||
catch
|
||||
endtry
|
||||
unlet! a
|
||||
let s:init=1
|
||||
endif
|
||||
let cursize = getfsize(fnamemodify(bufname('%'), ':p'))
|
||||
if cursize > 0 && cursize > get(g:, 'airline#extensions#tagbar#max_filesize', 1024 * 1024)
|
||||
return ''
|
||||
endif
|
||||
let flags = get(g:, 'airline#extensions#tagbar#flags', '')
|
||||
" function tagbar#currenttag does not exist, if filetype is not enabled
|
||||
if s:airline_tagbar_last_lookup_time != localtime() && exists("*tagbar#currenttag")
|
||||
let s:airline_tagbar_last_lookup_val = tagbar#currenttag('%s', '', flags,
|
||||
\ get(g:, 'airline#extensions#tagbar#searchmethod', 'nearest-stl'))
|
||||
let s:airline_tagbar_last_lookup_val = tagbar#currenttag('%s', '', s:flags)
|
||||
let s:airline_tagbar_last_lookup_time = localtime()
|
||||
endif
|
||||
return s:airline_tagbar_last_lookup_val
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
" MIT License. Copyright (c) 2021 DEMAREST Maxime (maxime@indelog.fr)
|
||||
" Plugin: https://github.com/yegappan/taglist/
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists(':TlistShowTag')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#taglist#currenttag()
|
||||
" Update tag list if taglist is not loaded (else we get an empty tag name)
|
||||
" Load yegappan/taglist and vim-scripts/taglist.vim only once.
|
||||
let tlist_updated = 0
|
||||
if !exists('*taglist#Tlist_Get_Tagname_By_Line()') && !exists('*Tlist_Get_Tagname_By_Line()')
|
||||
TlistUpdate
|
||||
let tlist_updated = 1
|
||||
endif
|
||||
if !tlist_updated && exists('*Tlist_Get_Filenames()')
|
||||
let tlist_filenames = Tlist_Get_Filenames()
|
||||
if stridx(type(tlist_filenames) == type([]) ? join(tlist_filenames, '\n') : tlist_filenames, expand('%:p')) < 0
|
||||
TlistUpdate
|
||||
endif
|
||||
endif
|
||||
" Is this function is not present it'means you use the old vertsion of
|
||||
" tag list : https://github.com/vim-scripts/taglist.vim.
|
||||
" Please use the new version : https://github.com/yegappan/taglist.
|
||||
if exists('*taglist#Tlist_Get_Tagname_By_Line()')
|
||||
return taglist#Tlist_Get_Tagname_By_Line()
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#taglist#init(ext)
|
||||
call airline#parts#define_function('taglist', 'airline#extensions#taglist#currenttag')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -6,46 +6,31 @@ scriptencoding utf-8
|
||||
call airline#parts#define_function('tmode', 'airline#extensions#term#termmode')
|
||||
call airline#parts#define('terminal', {'text': get(g:airline_mode_map, 't', 't'), 'accent': 'bold'})
|
||||
|
||||
let s:spc = g:airline_symbols.space
|
||||
|
||||
function! s:GetAirlineSection()
|
||||
if exists("g:airline_section_z_term")
|
||||
let section_z = g:airline_section_z_term
|
||||
else
|
||||
let section_z = airline#section#create(['linenr', 'maxlinenr'])
|
||||
endif
|
||||
|
||||
if exists("g:airline_section_a_term")
|
||||
let section_a = g:airline_section_a_term
|
||||
else
|
||||
let section_a = airline#section#create_left(['terminal', 'tmode'])
|
||||
endif
|
||||
return [section_a, section_z]
|
||||
endfunction
|
||||
let s:section_a = airline#section#create_left(['terminal', 'tmode'])
|
||||
let s:section_z = airline#section#create(['linenr', 'maxlinenr'])
|
||||
|
||||
function! airline#extensions#term#apply(...) abort
|
||||
if &buftype ==? 'terminal' || bufname(a:2.bufnr)[0] ==? '!'
|
||||
let sections = s:GetAirlineSection()
|
||||
let spc = g:airline_symbols.space
|
||||
call a:1.add_section_spaced('airline_a', sections[0])
|
||||
call a:1.add_section_spaced('airline_a', s:section_a)
|
||||
call a:1.add_section_spaced('airline_b', s:neoterm_id(a:2.bufnr))
|
||||
call a:1.add_section('airline_term', spc.s:termname(a:2.bufnr))
|
||||
call a:1.add_section('airline_term', s:spc.s:termname(a:2.bufnr))
|
||||
call a:1.split()
|
||||
call a:1.add_section('airline_y', '')
|
||||
call a:1.add_section_spaced('airline_z', sections[1])
|
||||
call a:1.add_section_spaced('airline_z', s:section_z)
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#term#inactive_apply(...) abort
|
||||
if getbufvar(a:2.bufnr, '&buftype') ==? 'terminal'
|
||||
let sections = s:GetAirlineSection()
|
||||
let spc = g:airline_symbols.space
|
||||
call a:1.add_section_spaced('airline_a', sections[0])
|
||||
call a:1.add_section_spaced('airline_a', s:section_a)
|
||||
call a:1.add_section_spaced('airline_b', s:neoterm_id(a:2.bufnr))
|
||||
call a:1.add_section('airline_term', spc.s:termname(a:2.bufnr))
|
||||
call a:1.add_section('airline_term', s:spc.s:termname(a:2.bufnr))
|
||||
call a:1.split()
|
||||
call a:1.add_section('airline_y', '')
|
||||
call a:1.add_section_spaced('airline_z', sections[1])
|
||||
call a:1.add_section_spaced('airline_z', s:section_z)
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/edkolev/tmuxline.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/mbbill/undotree
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling, Christian Brabandt et al.
|
||||
" Plugin: https://github.com/chrisbra/unicode.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -9,7 +9,7 @@ if !get(g:, 'loaded_unicodePlugin', 0)
|
||||
endif
|
||||
|
||||
function! airline#extensions#unicode#apply(...)
|
||||
if exists(':UnicodeTable') == 2 && bufname('') =~# '/UnicodeTable.txt'
|
||||
if exists(":UnicodeTable") == 2 && bufname('') ==# 'UnicodeTable'
|
||||
call airline#parts#define('unicode', {
|
||||
\ 'text': '[UnicodeTable]',
|
||||
\ 'accent': 'bold' })
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/Shougo/unite.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
" MIT License. Copyright (c) 2021 DEMAREST Maxime (maxime@indelog.fr)
|
||||
" Plugin: https://github.com/yegappan/lsp
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists('*lsp#lsp#ErrorCount')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:error_symbol = get(g:, 'airline#extensions#vim9lsp#error_symbol', 'E:')
|
||||
let s:warning_symbol = get(g:, 'airline#extensions#vim9lsp#warning_symbol', 'W:')
|
||||
|
||||
function! airline#extensions#vim9lsp#get_warnings() abort
|
||||
let res = get(lsp#lsp#ErrorCount(), 'Warn', 0)
|
||||
return res > 0 ? s:warning_symbol . res : ''
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#vim9lsp#get_errors() abort
|
||||
let res = get(lsp#lsp#ErrorCount(), 'Error', 0)
|
||||
return res > 0 ? s:error_symbol . res : ''
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#vim9lsp#init(ext) abort
|
||||
call airline#parts#define_function('vim9lsp_warning_count', 'airline#extensions#vim9lsp#get_warnings')
|
||||
call airline#parts#define_function('vim9lsp_error_count', 'airline#extensions#vim9lsp#get_errors')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2016-2026 Jerome Reybert et al.
|
||||
" MIT License. Copyright (c) 2016-2020 Jerome Reybert et al.
|
||||
" Plugin: https://github.com/jreybert/vimagit
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/cdelledonne/vim-cmake
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" Plugin: https://github.com/VimfanTPdvorak/vimodoro.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists(':RTM')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#vimodoro#apply(...) abort
|
||||
if exists('t:vimodoro')
|
||||
if &ft ==# 'vimodoro'
|
||||
if exists(':PomodoroStatus')
|
||||
call airline#extensions#apply_left_override('vimodoro', '%{PomodoroStatus(1)}')
|
||||
else
|
||||
call airline#extensions#apply_left_override('vimodoro', g:airline_section_y)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#vimodoro#init(ext) abort
|
||||
call a:ext.add_statusline_func('airline#extensions#vimodoro#apply')
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/lervag/vimtex
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/jmcantrell/vim-virtualenv
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
@@ -11,7 +11,7 @@ function! airline#extensions#virtualenv#init(ext)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#virtualenv#apply(...)
|
||||
if match(get(g:, 'airline#extensions#virtualenv#ft', ['python']), &filetype) > -1
|
||||
if &filetype =~# "python"
|
||||
if get(g:, 'virtualenv_loaded', 0)
|
||||
let statusline = virtualenv#statusline()
|
||||
else
|
||||
@@ -25,7 +25,7 @@ function! airline#extensions#virtualenv#apply(...)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#virtualenv#update()
|
||||
if match(get(g:, 'airline#extensions#virtualenv#ft', ['python']), &filetype) > -1
|
||||
if &filetype =~# "python"
|
||||
call airline#extensions#virtualenv#apply()
|
||||
call airline#update_statusline()
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2021 s1341 (github@shmarya.net)
|
||||
" MIT License. Copyright (c) 2020 s1341 (github@shmarya.net)
|
||||
" Plugin: https://github.com/liuchengxu/vista.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
" http://got-ravings.blogspot.com/2008/10/vim-pr0n-statusline-whitespace-flags.html
|
||||
@@ -8,14 +8,10 @@ scriptencoding utf-8
|
||||
let s:show_message = get(g:, 'airline#extensions#whitespace#show_message', 1)
|
||||
let s:symbol = get(g:, 'airline#extensions#whitespace#symbol', g:airline_symbols.whitespace)
|
||||
let s:default_checks = ['indent', 'trailing', 'mixed-indent-file', 'conflicts']
|
||||
let s:searchcount = exists('*searchcount')
|
||||
|
||||
let s:enabled = get(g:, 'airline#extensions#whitespace#enabled', 1)
|
||||
let s:skip_check_ft = {'make': ['indent', 'mixed-indent-file'],
|
||||
\ 'csv': ['indent', 'mixed-indent-file'],
|
||||
\ 'mail': ['trailing'],
|
||||
\ 'diff': ['trailing'],
|
||||
\ 'gitcommit': ['trailing']}
|
||||
\ 'csv': ['indent', 'mixed-indent-file']}
|
||||
|
||||
function! s:check_mixed_indent()
|
||||
let indent_algo = get(g:, 'airline#extensions#whitespace#mixed_indent_algo', 0)
|
||||
@@ -54,9 +50,8 @@ endfunction
|
||||
|
||||
function! s:conflict_marker()
|
||||
" Checks for git conflict markers
|
||||
" space required for jj conflict marker: #2727
|
||||
let annotation = '\%([0-9A-Za-z_.: ]\+\)\?'
|
||||
if match(['rst', 'markdown', 'rmd'], &ft) >= 0
|
||||
let annotation = '\%([0-9A-Za-z_.:]\+\)\?'
|
||||
if &ft is# 'rst'
|
||||
" rst filetypes use '=======' as header
|
||||
let pattern = '^\%(\%(<\{7} '.annotation. '\)\|\%(>\{7\} '.annotation.'\)\)$'
|
||||
else
|
||||
@@ -65,19 +60,6 @@ function! s:conflict_marker()
|
||||
return search(pattern, 'nw')
|
||||
endfunction
|
||||
|
||||
function! s:conflict_marker_count()
|
||||
if !s:searchcount
|
||||
return 0
|
||||
endif
|
||||
" Checks for git conflict markers
|
||||
" space required for jj conflict marker: #2727
|
||||
let annotation = '\%([0-9A-Za-z_.: ]\+\)\?'
|
||||
let pattern = '^<\{7} '.annotation. '$'
|
||||
let cnt = searchcount(#{pattern: pattern, recompute: 1, timeout: 10})
|
||||
return has_key(cnt, 'total') ? cnt.total : 0
|
||||
endfunction
|
||||
|
||||
|
||||
function! airline#extensions#whitespace#check()
|
||||
let max_lines = get(g:, 'airline#extensions#whitespace#max_lines', 20000)
|
||||
if &readonly || !&modifiable || !s:enabled || line('$') > max_lines
|
||||
@@ -95,8 +77,7 @@ function! airline#extensions#whitespace#check()
|
||||
let check = 'trailing'
|
||||
if index(checks, check) > -1 && index(get(skip_check_ft, &ft, []), check) < 0
|
||||
try
|
||||
let regexp = get(b:, 'airline_whitespace_trailing_regexp',
|
||||
\ get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$'))
|
||||
let regexp = get(g:, 'airline#extensions#whitespace#trailing_regexp', '\s$')
|
||||
let trailing = search(regexp, 'nw')
|
||||
catch
|
||||
call airline#util#warning(printf('Whitespace: error occurred evaluating "%s"', regexp))
|
||||
@@ -125,7 +106,6 @@ function! airline#extensions#whitespace#check()
|
||||
let conflicts = 0
|
||||
if index(checks, 'conflicts') > -1
|
||||
let conflicts = s:conflict_marker()
|
||||
let conflicts_count = s:conflict_marker_count()
|
||||
endif
|
||||
|
||||
if trailing != 0 || mixed != 0 || long != 0 || !empty(mixed_file) || conflicts != 0
|
||||
@@ -156,16 +136,10 @@ function! airline#extensions#whitespace#check()
|
||||
if conflicts != 0
|
||||
let conflicts_fmt = get(g:, 'airline#extensions#whitespace#conflicts_format', '[%s]conflicts')
|
||||
let b:airline_whitespace_check .= space.printf(conflicts_fmt, conflicts)
|
||||
if conflicts_count > 1
|
||||
let b:airline_whitespace_check .= printf('*%d', conflicts_count)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if airline#util#has_multiline()
|
||||
return b:airline_whitespace_check
|
||||
endif
|
||||
return airline#util#shorten(b:airline_whitespace_check, 120, 9)
|
||||
endfunction
|
||||
|
||||
@@ -183,16 +157,8 @@ function! airline#extensions#whitespace#toggle()
|
||||
|
||||
if exists("g:airline#extensions#whitespace#enabled")
|
||||
let g:airline#extensions#whitespace#enabled = s:enabled
|
||||
if s:enabled
|
||||
if airline#util#has_multiline() && exists('g:airline_section_warning2')
|
||||
if match(g:airline_section_warning2, '#whitespace#check') < 0
|
||||
let g:airline_section_warning2 .= airline#section#create(['whitespace'])
|
||||
endif
|
||||
else
|
||||
if match(g:airline_section_warning, '#whitespace#check') < 0
|
||||
let g:airline_section_warning .= airline#section#create(['whitespace'])
|
||||
endif
|
||||
endif
|
||||
if s:enabled && match(g:airline_section_warning, '#whitespace#check') < 0
|
||||
let g:airline_section_warning .= airline#section#create(['whitespace'])
|
||||
call airline#update_statusline()
|
||||
endif
|
||||
endif
|
||||
@@ -216,15 +182,11 @@ function! airline#extensions#whitespace#init(...)
|
||||
endfunction
|
||||
|
||||
function! s:ws_refresh()
|
||||
if !exists('#airline')
|
||||
" airline disabled
|
||||
return
|
||||
endif
|
||||
if get(b:, 'airline_ws_changedtick', 0) == b:changedtick
|
||||
return
|
||||
endif
|
||||
unlet! b:airline_whitespace_check
|
||||
if get(g:, 'airline_skip_empty_sections', 0) || airline#util#has_multiline()
|
||||
if get(g:, 'airline_skip_empty_sections', 0)
|
||||
exe ':AirlineRefresh!'
|
||||
endif
|
||||
let b:airline_ws_changedtick = b:changedtick
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" Plugin: https://github.com/wesQ3/vim-windowswap
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2 fdm=marker
|
||||
|
||||
scriptencoding utf-8
|
||||
@@ -9,18 +9,8 @@ if exists('*wordcount')
|
||||
if get(g:, 'actual_curbuf', '') != bufnr('')
|
||||
return
|
||||
endif
|
||||
if &filetype ==# 'tex' && exists('b:vimtex') && get(g:, 'airline#extensions#vimtex#wordcount', 0)
|
||||
" We're in a TeX file and vimtex is a plugin, so use vimtex's wordcount...
|
||||
if a:visual_mode_active
|
||||
" not useful?
|
||||
return
|
||||
else
|
||||
return vimtex#misc#wordcount()
|
||||
endif
|
||||
else
|
||||
let query = a:visual_mode_active ? 'visual_words' : 'words'
|
||||
return get(wordcount(), query, 0)
|
||||
endif
|
||||
let query = a:visual_mode_active ? 'visual_words' : 'words'
|
||||
return get(wordcount(), query, 0)
|
||||
endfunction
|
||||
else " Pull wordcount from the g_ctrl-g stats
|
||||
function! s:get_wordcount(visual_mode_active)
|
||||
@@ -96,8 +86,8 @@ endfunction
|
||||
" airline functions {{{1
|
||||
" default filetypes:
|
||||
function! airline#extensions#wordcount#apply(...)
|
||||
let filetypes = get(g:, 'airline#extensions#wordcount#filetypes',
|
||||
\ ['asciidoc', 'help', 'mail', 'markdown', 'rmd', 'nroff', 'org', 'rst', 'plaintex', 'tex', 'text'])
|
||||
let filetypes = get(g:, 'airline#extensions#wordcount#filetypes',
|
||||
\ ['asciidoc', 'help', 'mail', 'markdown', 'nroff', 'org', 'rst', 'plaintex', 'tex', 'text'])
|
||||
" export current filetypes settings to global namespace
|
||||
let g:airline#extensions#wordcount#filetypes = filetypes
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2013-2026 Bailey Ling, Christian Brabandt et al.
|
||||
" MIT License. Copyright (c) 2013-2020 Bailey Ling et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
@@ -1,37 +1,17 @@
|
||||
" MIT License. Copyright (c) 2017-2026 YoungHoon Rhiu et al.
|
||||
" MIT License. Copyright (c) 2017-2020 YoungHoon Rhiu et al.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !exists('g:XkbSwitchLib') && !exists('*FcitxCurrentIM') && !has('nvim')
|
||||
if !exists('g:XkbSwitchLib')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! airline#extensions#xkblayout#status()
|
||||
if exists('g:XkbSwitchLib')
|
||||
let keyboard_layout = libcall(g:XkbSwitchLib, 'Xkb_Switch_getXkbLayout', '')
|
||||
let keyboard_layout = get(split(keyboard_layout, '\.'), -1, '')
|
||||
elseif exists('*FcitxCurrentIMwithRime')
|
||||
let keyboard_layout = FcitxCurrentIMwithRime()
|
||||
elseif exists('*FcitxCurrentIM')
|
||||
let keyboard_layout = FcitxCurrentIM()
|
||||
elseif has('nvim')
|
||||
try
|
||||
let keyboard_layout = luaeval('require"ime".current()')
|
||||
catch /.*/
|
||||
try
|
||||
let keyboard_layout = luaeval('require"fcitx5-ui".displayCurrentIM()')
|
||||
catch /.*/
|
||||
let keyboard_layout = ''
|
||||
endtry
|
||||
endtry
|
||||
else
|
||||
let keyboard_layout = ''
|
||||
endif
|
||||
" substitute keyboard-us to us
|
||||
let keyboard_layout = substitute(keyboard_layout, 'keyboard-', '', 'g')
|
||||
|
||||
let keyboard_layout = libcall(g:XkbSwitchLib, 'Xkb_Switch_getXkbLayout', '')
|
||||
let keyboard_layout = get(split(keyboard_layout, '\.'), -1, '')
|
||||
let short_codes = get(g:, 'airline#extensions#xkblayout#short_codes', {'2SetKorean': 'KR', 'Chinese': 'CN', 'Japanese': 'JP'})
|
||||
|
||||
if has_key(short_codes, keyboard_layout)
|
||||
let keyboard_layout = short_codes[keyboard_layout]
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2015-2026 Evgeny Firsov et al.
|
||||
" MIT License. Copyright (c) 2015-2020 Evgeny Firsov et al.
|
||||
" Plugin: https://github.com/ycm-core/YouCompleteMe
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
" MIT License. Copyright (c) 2026-2026 Wu Zhenyu et al
|
||||
" Plugin: https://github.com/pxwg/zhihu.nvim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
if !airline#util#has_zhihu()
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:has_percent_eval = v:version > 802 || (v:version == 802 && has("patch2854"))
|
||||
|
||||
function! airline#extensions#zhihu#bufname() abort
|
||||
let fmod = (exists("+autochdir") && &autochdir) ? ':p' : ':.'
|
||||
let name = fnamemodify(bufname('%'), fmod)
|
||||
|
||||
if empty(name)
|
||||
return ''
|
||||
endif
|
||||
|
||||
if match(name, 'zhihu://') == -1
|
||||
return s:has_percent_eval ? '%f' : name
|
||||
endif
|
||||
|
||||
return get(get(b:, 'article', {}), 'title', name)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#zhihu#init(ext) abort
|
||||
let prct = s:has_percent_eval ? '%' : ''
|
||||
|
||||
if exists("+autochdir") && &autochdir
|
||||
" if 'acd' is set, vim-airline uses the path section, so we need to redefine this here as well
|
||||
if get(g:, 'airline_stl_path_style', 'default') ==# 'short'
|
||||
call airline#parts#define_raw('path', '%<%{'. prct. 'pathshorten(airline#extensions#zhihu#bufname())' . prct . '}%m')
|
||||
else
|
||||
call airline#parts#define_raw('path', '%<%{' . prct . 'airline#extensions#zhihu#bufname()' . prct . '}%m')
|
||||
endif
|
||||
else
|
||||
if get(g:, 'airline_stl_path_style', 'default') ==# 'short'
|
||||
call airline#parts#define_raw('file', '%<%{' . prct . 'pathshorten(airline#extensions#zhihu#bufname())' . prct . '}%m')
|
||||
else
|
||||
call airline#parts#define_raw('file', '%<%{' . prct . 'airline#extensions#zhihu#bufname()' . prct . '}%m')
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
@@ -1,4 +1,4 @@
|
||||
" MIT License. Copyright (c) 2021-2026 Dmitry Geurkov (d.geurkov@gmail.com)
|
||||
" MIT License. Copyright (c) 2020 Dmitry Geurkov (d.geurkov@gmail.com)
|
||||
" Plugin: https://github.com/troydm/zoomwintab.vim
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user