Commit Graph

1198 Commits

Author SHA1 Message Date
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
Christian Brabandt
4237bfb052
branch: allow multibyte chars in shortening algorithm
previously, the branch extension used name[0:6], however that would
break with multibyte characters, since this is a byte index and not a
character index.

fixes #1686
2018-03-14 21:33:25 +01: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
mrmr1993
2711c73a47 Pass the available space for tabs as an argument to |get_visible_tabs| 2018-03-12 21:48:40 +00:00
mrmr1993
cf47d63f71 Fix formatting in clipped tab bar 2018-03-12 21:48:40 +00:00
mrmr1993
abd310bb31 Show current tab in the middle of the tabline
This is heavily based on 3cc1dcb697,
mostly by copying the get_visible_buffers function and making some
tweaks
2018-03-12 21:48:35 +00:00
mrmr1993
f60cf736db Add a get_tabs function to abstract over tabs 2018-03-12 21:47:08 +00:00
mg979
26aa528c42 Made s:variables local
Moved small functions out of main function
2018-03-07 02:21:52 +01:00
Christian Brabandt
167602d5b9
tabline: get correct buffer name
When the uniq_tail formatter is used, the buffer name is not refreshed
when running through the duplicates. Fix that by getting the correct
buffer name again.

fixes #1680
2018-03-06 11:23:38 +01:00
Cimbali
9912ce13a4 Disable fugitiveline if bufferline is activated
This fixes the conflict of both plugins redifining the 'file' (or 'path')
function. Closes #1670.
As fugitiveline modifies the path display and bufferline replaces it,
the latter should be the plugin to be used if both are activated.
2018-03-05 11:56:03 +01:00
mg979
63111e9810 Removed fnamemodify() in path check for buflist.vim 2018-03-04 00:31:25 +01:00
mg979
2e2a66c5a0 Restored old variable name for g:airline#extensions#tabline#excludes
Made check case sensitive
2018-03-03 23:53:10 +01:00
mg979
3ebbc57725 Changed buflist.vim algorithm 2018-03-03 23:39:14 +01:00
Christian Brabandt
55a9721c22
Merge pull request #1651 from srini-x/master
Changing 'airline_tablabel' text and colors back to old style
2018-02-14 09:49:31 +01:00
srini-x
7f1cfb0c3f removing the hard-coded '[' and ']' around the tabline labels. 2018-02-13 17:48:21 -08:00
erfanio
8c634887bf Fix white space in tabline when showing buffers 2018-02-08 19:02:35 -08:00
Christian Brabandt
c2ffb8b3ec
Merge pull request #1643 from ThomasFaivre/quickfix
quickfix: fix options initialization
2018-01-21 09:55:23 +01:00
Thomas Faivre
dec9b8e65c cursormode: allow custom mode names
A new variable named cursormode_mode_func is used to store the function
returning the current mode. This allows more customization in the mapping.
The default value is the built-in mode function so there is no change in
behavior.
Add some documentation.

Signed-off-by: Thomas Faivre <thomas.faivre@6wind.com>
2018-01-19 13:28:02 +01:00
Thomas Faivre
e5a51f9fca quickfix: fix options initialization
Options default value is hard coded making them override user values.

Signed-off-by: Thomas Faivre <thomas.faivre@6wind.com>
2018-01-18 18:21:56 +01:00
Christian Brabandt
a3bdb10aea
Merge pull request #1634 from Cimbali/master
Fix over-caching of paths
2018-01-15 08:02:09 +01:00
Cimbali
a104e40b10 Cache only git calls, not bufname and fnamemodify 2018-01-09 20:07:54 +01:00
Christian Brabandt
9a2ed35ff9
tabline: do not confuse Vim
looks like this:
```
let a=(condition ? s:var:'')
```
confuses older Vims and it complains about a missing colon. So make
parsing a bit easier and add a space in front of the second colon.

fixes #1629
2018-01-08 13:46:08 +01:00
Christian Brabandt
02816a3cb6
tabline: missing spaces
commit ab49a1c7ae changed that no leading whitespace was added.
While this removed a double space in front of the current active
selected buffer, it removed one space too much for the non-current
buffers in the bufferline.

So partly reverse it and only add the space, if the highlighting groups
between each item did not change.
2018-01-08 09:48:36 +01:00
Christian Brabandt
182675dc10
tabline: revert default buffer_idx_mode
commit 2e3cdeb unintentionally changed the default for the
buffer_idx_mode in the tabline.

Revert it back to be disabled by default

fixes #1628
2018-01-07 09:51:08 +01:00
Christian Brabandt
ab49a1c7ae
tabline: do not add extra space before buffer name
there was a space too much added in the tabline. Fix that
2018-01-05 22:13:47 +01:00
Christian Brabandt
5db4c408bd
Update copyright notifications 2018-01-05 10:37:59 +01:00
Christian Brabandt
6c4f3277f1
Add missing scriptencoding 2018-01-05 10:26:38 +01:00
Christian Brabandt
6cdcaf13b1
cursormode: disable by default
fixes #1625
2018-01-05 08:12:35 +01:00
Christian Brabandt
3a2323feac
branch: shorten default master for smaller windows 2018-01-05 08:12:10 +01:00
Christian Brabandt
3b5f2bd470
async: Todo: Check if cwd option for Vim 8 is needed 2018-01-04 23:29:15 +01:00
Michael Brailsford
7215a1fdd5
clarifying documentation
closes #1225
2018-01-04 21:31:16 +01:00
Eduardo Suarez-Santana
ebda798080
Cursormode integrated as extension 2018-01-04 21:24:27 +01:00
Christian Brabandt
c17ad9a123
Merge pull request #1426 from lynnard/master
Fix problems with AirlineSelect{Prev,Next}Tab
2018-01-04 21:15:00 +01:00
Christian Brabandt
73d8abff2f
Merge pull request #1617 from kyleholzinger/master
Add formatter for js files
2018-01-04 21:14:00 +01:00
Christian Brabandt
d283a25e3f
tabline: only show buffer label, if they were drawn
closes #1558
2018-01-04 20:56:09 +01:00
Christian Brabandt
ce83c39bed
tabline: allow custom formatter for tabnr_type
closes #1418
2018-01-04 20:41:55 +01:00
Christian Brabandt
c518f79aab
tabline: allow to show buffers label at start 2018-01-04 19:38:07 +01:00
Christian Brabandt
9d28f0dcc7
tabline: allow to show current buffer/tab at first position
This will make highlighting more consistent. Always first item is the
one where the cursor is.
2018-01-04 19:32:29 +01:00
Christian Brabandt
30652c05c4
tabline: correct order of tab/buffer labels 2018-01-04 19:09:02 +01:00
Christian Brabandt
90cf752c90
tabline: add separate highlight group for labels 2018-01-04 18:57:28 +01:00
Christian Brabandt
3b631ef0c4
tabline: refactor label function 2018-01-04 18:43:03 +01:00
Christian Brabandt
3985ece131
tabline: add [buffers]/[tabs] labels consistently
previously, when both tabs and buffers were displayed in the tabline, it
was not immediately obvious which side belongs to a buffer and which one
to a tab. Therefore, add [buffers]/[tabs] labels consistently.
2018-01-04 18:34:48 +01:00
Christian Brabandt
45878a7947
tabline: remove l: prefix of function variables 2018-01-04 18:29:51 +01:00
Christian Brabandt
503b9977fb
tabline: refactor s:variables 2018-01-04 18:20:25 +01:00
Christian Brabandt
69aa1e93b3
tabline: add more try/catch for mappings
similar to 2e3cdeb808 add a couple of more try catch statements
around the map_keys() function
2018-01-04 18:15:40 +01:00
Christian Brabandt
645f65d8d9
ctrlspace: wrong separator
under certains circumstances it could happen that for the vim-ctrlspace
tabline extension a tabline group was redefined which would cause a
separator having foreground and background color swapped. This was
caused by using the 'pos' parameter for the right side wrongly.

fixes #1559
2018-01-04 18:07:03 +01:00
Christian Brabandt
45236ba7c7
ctrlspace: refactor s:variables 2018-01-04 17:27:34 +01:00
Christian Brabandt
a25757ac64
tabline: Allow an alternate style for bufferlist
fixes #1608
2018-01-04 15:45:36 +01:00
Christian Brabandt
d78f686ce5
tabline: remove some more s:vars 2018-01-04 14:35:10 +01:00
Christian Brabandt
6ba65b2c8c
tabline: remove s:show_tab_type variable 2018-01-04 14:30:16 +01:00
Christian Brabandt
708c76e22c
tabline: do not cache s:buffer_idx_mode 2018-01-04 14:23:50 +01:00
Christian Brabandt
d03c3fa7b9
tabline: remove l: variable prefix 2018-01-04 14:20:36 +01:00
Christian Brabandt
72e457d8c2
tabline: remove static caching of s:vars
rather let them be defined whenever they are needed. They were only used
inside a single function anyhow, so it does not make sense to cache
them. In addition, having the user later change the variable won't work
as expected.
2018-01-04 14:11:13 +01:00
Christian Brabandt
2e3cdeb808
tabline: try/catch mapping of the keys
fixes #1621
2018-01-04 14:11:11 +01:00
Kyle Holzinger
a3d5e84417 Add formatter for js files 2017-12-28 15:43:13 -05:00
Cimbali
18da5aa699 Separate updating and displaying branch information
This will cause any calls that are not just head() to be delayed and
cached whenever possible.
2017-12-26 22:30:23 +01:00
Cimbali
1ee057362d Caching path simplified using fugitive 2017-12-26 22:30:23 +01:00
Cimbali
e0dd3d8125 Rename merge file names
Clearer names that reference the HEADs of git: FETCH_HEAD, ORIG_HEAD and
MERGE_HEAD, rather than the names that fugitive uses for them.
2017-12-23 15:05:59 +01:00
Christian Brabandt
bc985301db
Merge pull request #1603 from Cimbali/master
Improve fugitive integration
2017-12-21 09:09:44 +01:00
Edward Betts
3b304f36ae
Correct spelling mistake. 2017-11-25 21:14:31 +00:00
Cimbali
e415c5301f Trusting fugitive instead of tracking paths manually
The initial reason in #237 is not valid anymore, as vim-gitgutter
functions as expected for editing files that are not part of a repo,
whether they are:
- in a different repo
- in a parent repo (cwd being a submodule)
- outside of the repo

Furthermore, removing this check allows to show relevant info for
specific fugitive file names that are fugitive://..../sha1//...
which are hard to parse manually, especially in complicated situations
such as submodules.
2017-11-22 23:55:22 +01:00
Cimbali
8c4bf37588 Configurability: parametrizable sha1 length 2017-11-22 23:01:54 +01:00
Cimbali
33663d7df2 Show buffer name relative to git folder 2017-11-22 23:00:58 +01:00
Cimbali
009f7932fb Show #branch#head() as "ref-or-sha1(current-branch)"
Only changes anything in the case of using fugitive to show a file that
is not from the current working directory.
2017-11-22 23:00:57 +01:00
Cimbali
f0093ceaa6 Remove code redundant with fugitive#head()
It which requires a path, and just performed the same as
fugitive#head() does internally.
2017-11-22 19:25:26 +01:00
Christian Brabandt
3e13bab201
Merge pull request #1600 from PratikBhusal/patch-1
Add function to show line number
2017-11-20 13:58:21 +01:00
Jerome Reybert
640d6762f7 vimagit: let vimagit itself returns the current mode
If current vimagit version does not provide vimagit#get_current_mode(),
internal string version is kept.
2017-11-20 13:47:48 +01:00
Pratik Bhusal
58328b347c Added function to show line number
The function shows the line number of the first error/warning that appears in the current buffer. If there are 20 warnings and the first warning exists on line 33, then vim-airline would show "W:20(L33)".

One can change how the line number is represented using: `g:airline#extensions#ale#open_lnum_symbol` and `airline#extensions#ale#close_lnum_symbol`
2017-11-18 14:24:47 -06:00
Shohei Fujii
b044b4b204 collapse fname in tabline when using unique_tail formatter 2017-10-30 20:00:05 +09:00
Taikuh
ccc4c9f430 Add option to change wordcount display for the default formatter 2017-10-26 01:02:10 +08:00
Christian Brabandt
6e2a9e38cd
tabline: force redraw on BufAdd autocommands
closes #1580
2017-10-19 11:37:24 +02:00
Shohei Fujii
7bf1d9b1fb skip toggling ctrlspace tabline plugin 2017-10-16 17:33:40 +09:00
Christian Brabandt
27acd851a7
cleanup term extension 2017-09-27 20:28:18 +02:00
Christian Brabandt
0ad4f97c1a
Add a terminal statusline function for vim 2017-09-27 20:28:16 +02:00
yehuohan
4d645711e5 Fix: Use the CS-symbol of ctrlspace which may be change by user in ctrlspace-externsion 2017-09-27 16:17:50 +08:00
Christian Brabandt
031cb31056
branch: do not show errors for mq extensions
skip anything that matches abort

e.g. running hg qtop with Vims path outside of the repository returns
something like "abort: no repository found in ..."
in that case, do not show anything.
2017-09-22 21:39:17 +02:00
Christian Brabandt
9f186d899a
branch: mq patch not correctly displayed
also make the branch extension make use of the specific code to handle
the mq output
2017-09-22 21:37:28 +02:00
Gideon VanRiette
a763c6b53f Catch trailing whitespace when matching output 2017-09-18 09:02:39 -05:00
Christian Brabandt
8a3e3e2794
mq: remove trailing \n from system()
fixes #1563
2017-09-14 11:43:53 +02:00