Commit Graph

1254 Commits

Author SHA1 Message Date
mrmr1993 47c36d2819 Don't let the current buffer be -1 when calculating the tabline 2018-04-01 01:17:18 +01:00
mrmr1993 aee733aa87 Don't show titles in the tabline if there aren't any
airline#extensions#tabline#buflist#list doesn't pick up some buffers
(most notably Netrw buffers), so there are sometimes no buffers to show
and the tabline code fails with an error. This avoids that situation.

It would be better to detect these and show titles for them, but for now
this restores the old behaviour.
2018-04-01 01:05:51 +01:00
mrmr1993 c75106f12d Don't change remaining_space in tabline builder until necessary 2018-03-22 16:42:06 +00:00
mrmr1993 4b1913ad13 Use insert_section for overflow markers in tabline builder 2018-03-22 16:42:06 +00:00
mrmr1993 df2f380c9e Add get_separator_change_with_end to tabline builder 2018-03-22 16:14:18 +00:00
mrmr1993 2528de7d81 Add comments to tabline/builder 2018-03-19 16:21:43 +00:00
mrmr1993 7396dc7a10 Create helper function tabline_evaluated_length 2018-03-19 15:05:50 +00:00
mrmr1993 51bb8dd7e0 Move strchars into util.vim 2018-03-19 15:03:51 +00:00
mrmr1993 5b7b9cf656 Rename remaining tab -> title in tabline/builder 2018-03-19 15:03:51 +00:00
mrmr1993 0b47adf087 Rename tab -> title in tabline/builder method names 2018-03-19 14:36:02 +00:00
mrmr1993 3914d5b475 Rename skipped_tabs_marker to overflow_marker 2018-03-19 14:36:02 +00:00
mrmr1993 75f53ef6e5 Rename last_{left,right}_group to {left,right}_group 2018-03-18 01:15:11 +00:00
mrmr1993 a2e0ed982f Rename left{,_alt}_sep_size to {,alt_}sep_size 2018-03-18 01:13:30 +00:00
mrmr1993 84bf60c405 Statusline: Use separator widths to calculate whether a title will fit 2018-03-18 00:52:34 +00:00
mrmr1993 896c14bded Reset _remaining_space if a title can't be inserted
This gives us a chance to add the title on the other side if it will
fit, so that we fill more space in the tabline.
2018-03-17 20:05:38 +00:00
mrmr1993 d13305fc5d Redraw buffer tabline when the terminal width changes 2018-03-15 20:44:51 +00:00
mrmr1993 7844d8bf72 Remove get_visible_buffers 2018-03-15 20:44:51 +00:00
mrmr1993 4a342afb90 Add an option to centre the active tab in the tabline 2018-03-15 20:44:51 +00:00
mrmr1993 275ec4fe63 Use tabline builder for buffers tabline 2018-03-15 20:44:51 +00:00
mrmr1993 d9e68039b8 Take the first tab number in tabline/builder.insert_tabs 2018-03-15 20:44:51 +00:00
mrmr1993 3cd8daa162 Add support for get_pretitle and get_posttitle to tabline builder 2018-03-15 20:44:51 +00:00
mrmr1993 e6b6f36d90 Remove %@...@ patterns in evaluate_tabline if has('tablineat') 2018-03-15 19:21:15 +00:00
mrmr1993 a7bff3b30b Pass number of tabs as an argument to insert_tabs 2018-03-15 18:21:29 +00:00
mrmr1993 5ecc25d6d6 Move tab_nr_type into tabs get_title 2018-03-15 18:14:50 +00:00
mrmr1993 6db0af6f8d Factor out tab insertion into its own function 2018-03-15 18:14:24 +00:00
mrmr1993 9b41fe5de9 Replace tabs tabline remaining_space with a member variable 2018-03-15 18:01:39 +00:00
mrmr1993 1328610188 Initialise tabs tabline builder variables in insert_tabs 2018-03-15 17:46:33 +00:00
mrmr1993 ada8cd7641 Use variables in the tabs tabline builder to track position 2018-03-15 17:41:08 +00:00
mrmr1993 349d01ba39 Generate tabs directly in tabline/builder.build 2018-03-15 17:38:19 +00:00
mrmr1993 3f87d28abb Move insert_tabs into tabs tabline builder prototype
Also move evaluate_tabline and strchars methods that it uses
2018-03-15 17:05:58 +00:00
mrmr1993 71814fb19f Add get_title and get_group to tabs tabline builder 2018-03-15 17:04:19 +00:00
mrmr1993 b99da65412 Create insert_tabs function on builder for tabs tabline 2018-03-15 16:58:04 +00:00
mrmr1993 6286b6d8d8 Move get_group into its own function for tabs 2018-03-15 16:58:04 +00:00
mrmr1993 5907d3909e Add dedicated tabline builder 2018-03-15 16:38:36 +00:00
mrmr1993 57f2619c67 Remove unused variable b_tabline 2018-03-15 15:42:51 +00:00
mrmr1993 1837b2ee39 Use the size of the seperators to get the tabline's remaining space 2018-03-15 15:42:51 +00:00
mrmr1993 d3ec54d42e Remove magic contant for skipped_tabs_marker in tabline calculation 2018-03-15 15:18:57 +00:00
mrmr1993 2b0fe51f99 Replace %= with empty string in evaluate_tabline 2018-03-15 14:36:39 +00:00
mrmr1993 a8f92cc68a Rename skipped_tabs_marker to overflow_marker
This is set to g:airline_symbols.ellipsis, which this commit also adds.
2018-03-15 14:21:16 +00:00
mrmr1993 88dedb586a Update tabs tabline when the width of the terminal changes 2018-03-14 15:25:03 +00:00
mrmr1993 5d2d764368 Use strchars to calculate string lengths
This also adds a compatability wrapper, so that versions older than
Vim 7.3 are supported.

This is inspired by, and includes s:strchars from, @ruipgpinheiro's
commit e2d1295a3d3708e8d2a5eb30cac840fc9520bb8b
2018-03-14 15:13:40 +00:00
mrmr1993 6819443d6a Fix typo in evaluating %( %) rules 2018-03-14 15:07:41 +00:00
mrmr1993 980e78b4bf Add configurable variable airline#extensions#tabline#skipped_tabs_marker 2018-03-14 15:07:32 +00:00
mrmr1993 7480245ebf Calculate used length of tabs directly as they are added 2018-03-14 14:51:09 +00:00
mrmr1993 f93894f6ac Move tab title generation into its own function 2018-03-14 13:55:30 +00:00
mrmr1993 e1a4cd764f Adjust tab columns to allow for ellipsis and the left/right split 2018-03-13 00:57:48 +00:00
mrmr1993 d29c7b27fa Evaluate tabline fragments to get the length of tab titles 2018-03-12 21:55:27 +00:00
mrmr1993 3305410982 Move tabline evaluation into its own function 2018-03-12 21:55:27 +00:00
mrmr1993 e0791cc1a0 Use the partially built tabline to calculate space left for tabs 2018-03-12 21:55:25 +00:00
mrmr1993 7a286639c5 Attach tabs to tabline last 2018-03-12 21:52:12 +00:00