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.
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#1388closes#1867
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.
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.
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.
Only show the "airline theme not found" warning message, when the user
actually used `:AirlineTheme foobar`, not when called by an autocommand
that tries to switch themes when the Vim colorscheme changed.
fixes#1824
While this adds a bit more code it makes it possible to distinguish
between themes not found and errors in themes.
Use :verbose AirlineTheme <foobar>
to also see the error message in case of errors.
Groupnames like 'airline_c1_to_airline_x_inactive' still have to be
processed, so do not skip them.
Also for the tabline, '_inactive' groups are not used, so skip them
Replace by a function that retuns the to be executed highlighting string
Should in theory be a bit faster, since the same function does not have
to be called 5 times per highlighting group.
It probably is not much better, but here are some random numbers:
Profiling:
Previously:
count total (s) self (s)
199 0.022973 0.009909 let cmd = printf('hi %s %s %s %s %s %s %s %s', a:group, s:Get(colors, 0, 'guifg=')…
New:
count total (s) self (s)
79 0.010166 0.000862 let cmd = printf('hi %s%s', a:group, s:GetHiCmd(colors))