Commit Graph

261 Commits

Author SHA1 Message Date
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
c8a36e14e9
Updated Copyright Statements 2019-03-25 12:29:47 +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
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
72888d87ea
Revert "Make plugin reloadable"
This reverts commit 56197d5104.

fixes #1844
2018-12-18 16:13:03 +01:00
Christian Brabandt
56197d5104
Make plugin reloadable
there was a call to s:init() missing in the toggle function.
Without it, it wouldn't reload correctly, since the s:initialized
variable would never be set to 1 again. So load it when setting up
everything correctly.

fixes #1842
2018-12-17 22:23:40 +01:00
Christian Brabandt
bd468dacfe
Revert TermOpen autocommand for Neovim
closes #1828
2018-11-22 08:31:14 +01:00
Christian Brabandt
f9ccb57e76
Make terminal extension work with Neovim 2018-11-20 15:55:11 +01:00
Christian Brabandt
fa11b8855b
Test for TerminalOpen Autocommand before using it 2018-11-20 15:28:29 +01:00
Christian Brabandt
904ac4eb0b
plugin: Reload terminal extension on :term command 2018-11-20 14:51:22 +01:00
Christian Brabandt
df0c1731db
Add :AirlineExtensions command
This shows whether or not an extensions has been loaded.
2018-11-14 08:06:39 +01:00
Christian Brabandt
ffac12cbbe
theme: do not show not-found warning
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
2018-11-14 07:36:45 +01:00
Christian Brabandt
b20e181bc8
Add a separate function for returning all available themes 2018-11-13 22:14:51 +01:00
Christian Brabandt
49671d0a11
terminal: do not reset airline theme on TerminalOpen
remove autocommand, that would overwrite the airline theme on :term

(e.g. After a :AirlineTheme monochrome and then using `:term` the
autocommand would reset the theme back to the one given in the .vimrc)
2018-11-13 22:01:36 +01:00
Christian Brabandt
cd0b15b195
plugin: use airline#util#warning instead of echo consistently 2018-11-13 21:37:52 +01:00
Christian Brabandt
a334a89e59
plugin: better check for timer and funcref 2018-11-08 07:54:01 +01:00
Christian Brabandt
ce6cf6f07e
Check that funcrefs() actually exists
closes #1819
2018-11-07 17:55:11 +01:00
Christian Brabandt
33a633766d
main: do not trigger FocusGained on startup
commit f045452743 introduced the
FocusGained autocommand. Unfortunately, for some systems this might
trigger already at startup, resulting in an unwanted redraw that might
clear the intro screen.

Therefore, add a timer, that enables the FocusGained autocommand after 5
seconds. The 5 seconds is somewhat arbritrarely, but we could change it
later if it turns out to be not useable.

fixes #1817
2018-11-07 10:46:57 +01:00
Christian Brabandt
d81cdacb1e
better disabled highlighting for inactive windows on FocusLost
This will make sure that the current window will be highlighted as
expected, even if there are no other windows and all highlighting groups
will be correctly re-created as 'inactive'

references #1807
2018-10-16 10:49:17 +02:00
Christian Brabandt
07ac69570b
main: make FocusLost autocommand configurable
references #1807
2018-10-15 14:23:45 +02:00
Christian Brabandt
f045452743
main: disable airline on FocusLost
When switching away from Vim and your terminal supports the FocusLost
autocommand, set the statusline to inactive, so it won't distract you
too much when working with another application.

In the gui, the FocusLost autocommand should always trigger.

This is now the default, if people start complaining, that behaviour
should probably be made configurable.

closes #1807
2018-10-03 12:31:45 +02:00
Christian Brabandt
a0298263b7
autocomd: do not re-evaluate modelines
fixes #1804
2018-09-25 16:03:30 +02:00
Liam Fleming
11bc0ba843 Move CursorMoved autocmd to main augroup 2018-06-16 20:34:07 +01:00
Christian Brabandt
7d871137be
Correctly test for CompleteDone event 2018-06-09 10:50:25 +02:00
Christian Brabandt
55716a1cc2
Remove wrong comment for TerminalOpen autocmd 2018-06-05 11:22:07 +02:00
Christian Brabandt
eab6d35852
terminal: Some improvements to Terminal detection
closes #1730

- Make sure to always call the term extension on TermOpen autocommands
- consistently use the airline_term highlighting group
- hard code the airline_term highlighting group, because by the time the
  function airline#themes#patch() is called the highlighting group
  airline_c would no be defined, so we cannot dynamically get those
  attributes
- In the documentation, mention how the g:airline_mode_map can be set
  including the terminal section
2018-06-04 22:44:46 +02:00
Christian Brabandt
d9acbc53b0
Reset g_airline_gui_mode on setting termguicolors
fixes #1663, should make sure that the separators are correctly
displayed even when setting 'termguicolors' later than expected.
2018-04-12 10:24:54 +02:00
Sheheryar Parvaz
8c1a7a5343 tabline: fix tabline on :syn on
better solution for #1590. Previous solution refreshes airline
completely which is much slower.
2018-01-20 23:27:32 -05:00
Christian Brabandt
b7d3feb4d2
tabline: correctly refresh on :syn commands
fixes #1590 and #1638
2018-01-10 08:41:04 +01:00
Christian Brabandt
5db4c408bd
Update copyright notifications 2018-01-05 10:37:59 +01:00
Christian Brabandt
4d0233ebdb
plugin: correctly re-init on :syn-enable
should fix #1590 correctly
2018-01-04 21:09:26 +01:00
Christian Brabandt
133a76d2d4
plugin: reset syntax highlighting on :syn off
hopefully fixes #1590
2018-01-04 20:07:15 +01:00
Christian Brabandt
a8c4424244
highligthing: Enable cacheing only when config is set.
This enables the highlighting caching only when the variable
g:airline_highlighting_cache is set to 1

Should make airline faster and more performant, because we can save a
lot of expensive C core calls. However, when redefining highlighting
groups, it might not correctly reset the cache.
2017-08-14 08:06:53 +02:00
Christian Brabandt
6ee75bdbde
Fix failing tests 2017-08-11 12:55:44 +02:00
Christian Brabandt
a96681d459
highlighter: Cache syntax highlighting attributes
Should in theory improve performance by quiet a lot.
2017-08-11 11:26:35 +02:00
Christian Brabandt
b78c2ec475
Always enable airline by setting laststatus=2
Previously the user was expected to set 'laststatus' himself to 2 if he
wanted to have airline be shown by default.

However it doesn't make much sense to have airline installed but not
display the statusline. Therefore, set the 'laststatus' to 2, if it
isn't set to it already.
2017-07-02 20:42:32 +02:00
Christian Brabandt
b4ad02f906
fix wrong variable name 2017-03-20 08:56:35 +01:00
Christian Brabandt
703241942a
Add filetype to chache, disable cache for fugitive
#1452 (partly)
2017-03-20 08:37:48 +01:00
Christian Brabandt
3a23eeac42
Check that 'statusline' option is correct
statusline of quickfix window will be reset in the ftplugin of
$VIMRUNTIME, therefore check that airline is still active

fixes #1447
2017-03-17 12:03:19 +01:00
Christian Brabandt
70dd0655d2
Do not trigger on SessionLoadPost autocommand
This basically reverts commit 64a3bfd

closes #1444
2017-03-16 13:15:17 +01:00
Christian Brabandt
52663545a9
Only reset to Normal highlighting if it is actually defined
closes #1415 and similar
2017-02-28 08:33:44 +01:00
Christian Brabandt
b66c1ef070
Redraw statusline on CompleteDone event
closes #1402
2017-02-11 20:11:59 +01:00
thawk
45d77ca909 Add 'scriptencoding utf-8' to all scripts 2016-09-24 08:16:30 +08:00
Christian Brabandt
6e3c0c1c14 do not cache status of statusline per tabpage
When cacheing the values of buffer number, window number per tabpage, we
might forget to update the statusline when it is actually needed, e.g.
on `:tab help h | norm! gt` which would then still display "Help" also
we are not in a help window anymore.

Therefore cache those values (including current tabpage number)
globally.

fixes #1253
2016-09-14 19:05:57 +02:00
Christian Brabandt
62eb44a9d6 disable refresh function, if airline has been disabled
fixes #1213
2016-07-24 09:58:52 +02:00
Christian Brabandt
41df6668c7 Reset w:airline_active on TabEnter
fixes #1182
2016-06-23 18:09:01 +02:00
Christian Brabandt
70c16f4c46 Reset mode when resizing
fixes #1156
2016-05-15 11:13:29 +02:00
Christian Brabandt
eef069d7bc reset w:airline_active variable on TabEnter
fixes #1159
2016-05-13 14:41:31 +02:00