Commit Graph

1547 Commits

Author SHA1 Message Date
Christian Brabandt
6409c7b317
tabline: do not display neovim terminal there 2019-08-26 15:16:38 +02:00
Christian Brabandt
22f54d8528
sort airline#extensions#tabline#ignore_bufadd_pat 2019-08-26 15:14:21 +02:00
Christian Brabandt
018688a90f
tabline: do not show defx buffers
fixes #1962
2019-08-26 15:11:50 +02:00
Christian Brabandt
d848de4918
branch: remove double '.' for string concatenation
fixes #1961
2019-08-22 07:56:51 +02:00
Christian Brabandt
57fb980df7
util: micro-optimization of existence check for vcscommand plugin 2019-08-20 22:30:20 +02:00
Christian Brabandt
5df9e23f14
util: micro-optimization of existence check for lawrencium 2019-08-20 22:28:49 +02:00
Christian Brabandt
0370a3b89b
util: micro-optimization of existence check for fugitive 2019-08-20 22:28:49 +02:00
Christian Brabandt
51e74f1d1f
util: micro-optimization of existence check for strcharpart() 2019-08-20 22:22:19 +02:00
Christian Brabandt
ccef93e887
util: micro-optimization of existence check for strchars() 2019-08-20 22:20:39 +02:00
Christian Brabandt
15322e41c7
util: Add comment header, declaring s:vars as constant 2019-08-20 22:19:48 +02:00
Christian Brabandt
486b68cb08
term: get rid of useless variable, add comment 2019-08-20 22:12:34 +02:00
Christian Brabandt
af96e9745f
wordcount: only try to access buffer content in the actual current buffer
closes #1955
(this actually needs Vim patch 8.1.1372 to work properly)
2019-08-20 14:28:54 +02:00
Kai Moschcau
3f82d3a975
Improve multibyte character handling in branch ext
This fixes a bug that causes a mangled statusline. The bug occurs, when
the `displayed_head_limit` variable is set and causes the substring
expression to take a substring, which ends in the middle of a multi-byte
character.

This patch replaces the byte-based methods for measuring the
length of the branch name and creating a substring with methods that are
character-based and multi-byte aware.

It also has the nice side effect of making the length measuring more
accurate, by taking the actual display width of multi-byte characters
and the ambiwidth setting into account.

Since we need to take into account older Vim 7.4 (which might not have
the strcharpart() function), do introduce a compatibility wrapper in
airline#util that checks for the existence of the function before using
it. Older Vims will keep on using the byte-based index. I suppose Vim
7.4 before the strcharpart() function was available (patch 7.4.1730)
shouldn't be in use anymore.

closes #1948
2019-08-20 14:21:10 +02:00
Christian Brabandt
0f375addd2
term: differentiate different term modes
closes #1958
closes #1957
2019-08-20 14:01:09 +02:00
Liu, Joey
67a97c1ea0 add neoterm support
it shows neoterm_id on a inactive neoterm window
2019-08-02 13:23:42 -04:00
s1341
3f7222e488
Add support for vim-tabws tabline
closes #1938
2019-07-23 09:40:18 +02:00
shmaryar
28dcb68bf3
Add vista.vim (https://github.com/liuchengxu/vista.vim) integration 2019-07-23 09:38:14 +02:00
Christian Brabandt
2db9b27e39
async: Better fix for #1936
fix #1936 in a different way
2019-06-14 10:30:05 +02:00
Christian Brabandt
71c80aaf54
async: Check existence of buffer before accessing it
fixes #1936
2019-06-14 09:40:30 +02:00
Christian Brabandt
63a75aca2a
term: Make terminal extension work on entering it
does not work with Neovim since TermOpen is not used (see #1828 for the
bug)
2019-06-12 11:36:47 +02:00
Christian Brabandt
28453d7038
Support Multiple Cursor mode
Detect the use of plugin https://github.com/mg979/vim-visual-multi
and show mode "MULTI" when it is active.

closes #1933
2019-06-11 09:48:08 +02:00
Christian Brabandt
3921bc13a3
async: do not clean up job dir for running jobs
closed #1929
2019-06-03 08:22:39 +02:00
Christian Brabandt
4a1ac56286
Define coc functions as empty by default
fixes #1926
2019-05-29 21:04:32 +02:00
Peng Guanwen
b3ecf49f86 Coc integration 2019-05-29 21:20:20 +08:00
Christian Brabandt
193e350440
Check existence of variable before trying to set it
closes #1924
2019-05-24 08:14:25 +02:00
petobens
f07889c266 Extend denite statusline to denite-filter buffer
Closes https://github.com/vim-airline/vim-airline/issues/1920
2019-05-22 10:33:03 -03:00
Christian Brabandt
7b20361baf
denite: correctly test denite version
references #1918
2019-05-14 16:31:52 +02:00
kazukazuinaina
03f63eb666
adopt denite ver3.0
closes #1918
2019-05-13 15:17:17 +02:00
Christian Brabandt
9a1acf144f
async: Correctly reset dirty flag 2019-05-08 17:22:34 +02:00
Christian Brabandt
79f91649b6
branch: Check untracked and dirty only wehn the fugitive/lawrencium plugins are installed 2019-05-08 13:57:25 +02:00
Christian Brabandt
1b41629214
async: do not show dirty sign for error messages
closes #1915
2019-05-08 13:51:50 +02:00
Christian Brabandt
cd2884abf1
bookmark: do not error out, if the plugin isn't installed
fixes #1912
2019-05-03 12:37:17 +02:00
Bjoern Petri
f1529ce051 vim-bookmark extension 2019-05-03 10:44:09 +02:00
Christian Brabandt
a26a460698
branch: configure what additional checks to run
Allow to customize, whether to check the untracked status of a file or
whether the current repository is clean.

fixes #1910
2019-05-02 08:14:57 +02:00
Christian Brabandt
cc8f47e248
async: fix small problems with dirty jobs 2019-05-02 07:57:10 +02:00
Christian Brabandt
2db882e9b8
async: check dictionary keys before trying to access them 2019-05-01 07:45:06 +02:00
Christian Brabandt
8169aa25af
init: make sure the dirty symbol is defined
references #1907
2019-04-30 17:36:31 +02:00
Christian Brabandt
7469672a46
extensions: Allow customization of filetypes
Define the variable :let g:airline_filetype_overrides to allow for
specific customization how a specific filetype will be displayed.

For e.g. a German display, you can use: >

    :let g:airline_filetype_overrides = {'help': ['Hilfe', ':%f']}
<

This defines how section a and b will look like for a window with that
specific filetype.

Closes #1888
2019-04-30 17:28:51 +02:00
Christian Brabandt
170b6d4c26
extensions: sort filetype_overrides 2019-04-30 16:54:48 +02:00
Christian Brabandt
d1e82c71a3
branch: check existence of dirty key before accessing it
closes #1907
2019-04-30 16:33:05 +02:00
Christian Brabandt
28ed36a9ec
whitespace: fix small problems from conflicts test 2019-04-26 22:08:26 +02:00
Christian Brabandt
538326ceac
whitespace: Also check for Git conflict markers 2019-04-26 14:38:13 +02:00
Christian Brabandt
a753422549
main: Make :AirlineRefresh! skip recrecrating highlighting groups
When `g:skip_empty_sections` is set, `:AirlineRefresh` can be called
very often and cause slow down, because it forcefully re-creates the
highlighting groups. This is mostly not needed for the redraw to happen,
therefore, add the `<bang>` attribute to the command, making it skip to
re-create the highlighting groups and have all extensions that rely on a
forced update use the `!` form.

Should be much fast then.

fixes #1908
2019-04-26 10:16:40 +02:00
Christian Brabandt
fdd75df927
async: cleanup logic for nvim/vim8/vim7 2019-04-25 15:07:12 +02:00
Christian Brabandt
6b213e1071
branch: make it work with vim74
closes #1907
2019-04-25 14:43:56 +02:00
Christian Brabandt
9c1486522a
branch: ignore submodules for git when determing clean state 2019-04-25 08:47:05 +02:00
Christian Brabandt
11cd15d218
async: fnameescape filename
A buffer name wich special characters such as Command-T [Files] will
cause E94 when trying to call setbufvar() on it. That is because the
'[]' is special in buffer names. Therefore, fnameescape the buffer name.

This should prevent 'E94: No matching buffer for
/home/louis/git/minivimrc/Command-T [Files]' errors.

closes #1906
2019-04-25 07:41:56 +02:00
Christian Brabandt
1297773a26
branch: skip untracked files for clean state 2019-04-25 07:35:41 +02:00
Christian Brabandt
a8b0c5f760
branch: skip for non-empty &buftype buffers 2019-04-25 07:32:13 +02:00
Christian Brabandt
ffd8c406ab
branch: Make the branch extension available with 80 char wide windows 2019-04-24 16:12:54 +02:00
Christian Brabandt
9f193de600
branch: Remove spurious dirty var 2019-04-24 15:51:43 +02:00
Christian Brabandt
28bebd35ea
fugitiveline: use correct fugitive functions 2019-04-24 15:48:16 +02:00
Christian Brabandt
3ac318bfd3
fugitive: replace old buffer().commit() function by new global function
as requested by the exception thrown:
fugitive: A third-party plugin or vimrc is calling
fugitive#buffer().commit() which has been removed. Replace it with
matchstr(FugitiveParse()[0], '^\x\+')
2019-04-24 15:29:51 +02:00
Christian Brabandt
9112675ad8
branch: display dirty state
If the repository is considered dirty, do display the
g:airline_symbols.dirty symbol right after the branch name.
2019-04-24 15:16:57 +02:00
Christian Brabandt
a8c96d7c07
async: Move function definition so it is valid for nvim 2019-04-24 13:27:25 +02:00
Christian Brabandt
941341d085
branch: simplify async logic a bit 2019-04-24 13:25:31 +02:00
Christian Brabandt
ead2cd63bb
term: only strip first letter from name, if it starts with '!' 2019-04-18 15:52:54 +02:00
Christian Brabandt
6acb234a12
tabline: Use separate hi group for label on right
if the same highlighting group is used on the left and right for the
label, the `airline_tablabel_to_airline_tabmod` will be overwritten on
the right side, causing the fg/bg colors to be wrong, because on the
right side they have to be the opposite of the left side.

So use a separate highlighting group for the tablabel on the right.

closes #1902
2019-04-17 09:04:56 +02:00
Carlo Lobrano
ebb8f0c2b1 Add formatter for short paths
Add new formatter that shows the file path up to the first parent directory
2019-04-10 22:17:43 +02:00
Shayne Holmes
979e04a6ec Search for wordcount formatters with extension
Autoload expects the autoload scripts to have the '.vim' extension.

Fixes #1986.
2019-04-09 11:52:40 -07:00
Christian Brabandt
148eb6bb28
Allow to switch to a random theme
You can now specify the special theme name `random` and vim-airline will
load a random theme from the ones installed. This works from either your
.vimrc as well as when calling `:AirlineTheme` command directly.

closes vim-airline/vim-airline-themes#170
2019-03-26 21:03:13 +01:00
Christian Brabandt
a6fb6d9da0
Extensions: indicate, if an extension is external
Show in :AirlineExtensions if the extension comes bundled with airline
or from an external source.

closes #1890
2019-03-26 08:41:36 +01:00
Christian Brabandt
1fb184305b
fugitiveline: simplify modify logic
The 'autochdir' option could be toggled on later in a session.
So do not set the has_autochdir flag once the file is read, but evaluate
it every time the corresponding function is called.

While at it, get rid of the s:fmod variable. Instead let a helper
function return the correct modifier flags depending on the value of the
'autochdir' option.
2019-03-25 12:34:09 +01:00
Christian Brabandt
c8a36e14e9
Updated Copyright Statements 2019-03-25 12:29:47 +01:00
Christian Brabandt
45205aa4a3
wordcount: expose filetype list to global scope
allows better configuration of filetypes to be wordcounted.

fixes #1887
2019-03-19 08:28:51 +01:00
Christian Brabandt
b84e548522
Make displaying the tab count optional
Set the g:airline#extensions#tabline#show_tab_count to zero to disable.

fixes complaints at #1882
2019-03-16 09:32:35 +01:00
Christian Brabandt
6ab14bf474
tabline: add consistent tab label to the end
closes #1882
closes #1883
2019-03-08 14:05:38 +01:00
Christian Brabandt
1c3ae6077a
Merge pull request #1879 from gmolau/Fix-syntastic-formatting
Fix the formatting of syntastic error messages
2019-02-22 07:49:52 +01:00
Georg Molau
395fccfda7 Fix the formatting of syntastic error messages
The magic flags were in the wrong order, %e is the number of errors, it
should go in the parentheses after the # symbol. %fe is the line number
of the first error. Same for the warnings.
2019-02-22 00:53:41 +01:00
Max Nordlund gmail
61ca196d73
Move formatting of branch name into get_head
This allows for advanced customization where the shortening of the
branch name is up to the caller, unlike before.

This change is observable from the outside, and as such can be
dangerous. But AFAIK it does not change the default behavior.
2019-02-21 11:59:04 +01:00
Max Nordlund gmail
5f769dbed9
Expose get_hunks for advanced customization 2019-02-21 11:59:04 +01:00
Max Nordlund gmail
45ff435378
Honor minwidth for hunks and branch parts
This removes the hardcoded minwidth limits for both the `hunks` and
`branch` parts. It replaces these with safe accesses to the `minwidth`
setting as done by `airline#parts#define_minwidth`.
2019-02-20 12:36:40 +01:00
petobens
cc7b3c1636 Fix denite extension 2019-02-11 09:22:43 -03:00
Christian Brabandt
1471330825
Adjust buffer numbers for buf_idx_mode v2 slightly
fixes #1823
2019-02-08 07:55:35 +01:00
Christian Brabandt
05572482b8
tabline: add forgotten changes from commit cd1d8c2a96
I accidentally missed including some more changes for buffer_idx_mode=2.
So add those files now.
2019-02-07 08:17:33 +01:00
Christian Brabandt
cd1d8c2a96
Introduce buffer_idx_mode v2
fixes #1823
2019-02-07 08:11:47 +01:00
Christian Brabandt
624d2f1438
tabline: AirlineSelectTab still wrong sometimes
Partly revert commit 105e9daaf7
and fix #1857 another way, by making sure, that buffers are not taking
away from the s:current_visible_buffers list.

Fixes #1857
Fixes #1872
2019-02-06 22:42:10 +01:00
Christian Brabandt
767c1efd10
bufferline: catch invalid modelines 2019-02-05 08:35:57 +01:00
Christian Brabandt
999c40fcf3
tabline: simplify creation of maps
instead of typing all the mapping commands, create a loop that will
create the new maps.
2019-02-04 21:59:40 +01:00
Christian Brabandt
105e9daaf7
tabline: Make the PlugAirlineSelectTab buffers work as expected
for bufferlist.

fixes #1857
2019-02-04 21:47:11 +01:00
Christian Brabandt
25e384f236
wordcount: move User autocommand to plugin
Do not scatter the autocommands around, but rather move the auto command
to the main plugin file. The function that handles the auto command will
be created in the autoload script.

Also add a call to force updating the tabline, if g:airline_statusline_ontop
is defined.

In addition, the wordcount() extension did not correctly notice
block-wise visual mode, so while creating the airline#mode_changed()
function, make the mode also detect blockwise visual mode correctly.
2019-02-04 08:25:45 +01:00
Christian Brabandt
8867301f78
plugin: Move tabline_update function to autoload 2019-02-04 08:23:58 +01:00
Christian Brabandt
840bf02baf
autoload: Fix typo in comment 2019-02-04 08:21:39 +01:00
Christian Brabandt
fd5bde1a3a
allow to show the statusline on top
This is an experimental feature that allows to display the statusline in
the tabline. It might still be a bit rough, but seems to work so far.

Remaining problem:
- Mode changes are not immediately detected, only after moving the
  cursor

fixes #1388
closes #1867
2019-02-03 17:30:55 +01:00
Christian Brabandt
58bbc512f9
tabline: Only define Terminal autocommand if vim supports it
fixes the broken CI test which runs in a vim that does not come with
terminal support
2019-02-03 10:43:23 +01:00
Christian Brabandt
1d03b9dc62
tabline: invalidate buffer list on Terminal Enter
should workaround and fix #1853 in a better way
2019-02-03 10:36:07 +01:00
Christian Brabandt
916d023c35
buflist: do not consider empty buffers to be excluded
currently, empty buffer names were still considered to match against the
exclude_path setting. That does not make sense, so skip the check for
empty bufnames.
2019-02-02 22:43:27 +01:00
Christian Brabandt
5415c5e6ec
tabline: Fix broken call to formatter 2019-02-02 21:57:15 +01:00
Christian Brabandt
54584a2bb2
fugitive: mark fugitive like buffers with "[git]"
closes #1852
2019-02-02 18:04:53 +01:00
Christian Brabandt
dc7d991007
Tabline: Make specifying formatter more easy
closes #1863
2019-02-02 17:45:55 +01:00
Christian Brabandt
d372b5bc46
tabnr formmatter: fix style 2019-02-02 17:45:33 +01:00
Christian Brabandt
98bc6abde3
languageclient: check for existence of 'result' key
fixes #1861
2019-01-28 11:21:32 +01:00
w0rp
54dba2a92b
Remove incorrect copyright attribution
I have never touched anything in this file, nor in the LanguageClient plugin, so the copyright attribution is incorrect. @neersighted may also wish to be removed from the list here.
2019-01-28 10:11:43 +00:00
Christian Brabandt
a829ec4861
Merge pull request #1864 from petpetpetpet/more_efficient_ale_line_numbers
More efficient ale line number function.
2019-01-28 10:57:13 +01:00
petpetpet
57c061dcb0 Added a hook to the new ALE api to grab line numbers. Should be more
efficient.
2019-01-27 13:57:18 +00:00
Ming, Bai
6601474bf5 Fixed t:undotree undefined error
the ```t:undotree.GetStatusLine()``` is appended to the status line when ```t:undotree``` exists, but it seems like the ```statusline``` will be executed when ```t:undtree``` is no longer available during window destruction.
2019-01-22 14:52:39 -08:00
Konstantinos Natsakis
53aa65a5ce Fix ctrlp memory leak 2019-01-17 15:34:19 +02:00
petobens
fa5910eb14
extensions: Add defx support
closes #1850
2019-01-11 10:49:31 +01:00
Christian Brabandt
d68c9bbeb2
tabline: make middle-click work as expected in neovim
closes: #1854
2019-01-11 10:44:10 +01:00
Arjan van der Velde
2d3bbbff43
make VimLeave autocmd nested
add "nested" to autocmd to make it play well w/ YouCompleteMe

see 109a019279/README.md (ycm-does-not-shut-down-when-i-quit-vim)
2019-01-10 23:15:30 -05:00