dhruvasagar / vim-table-mode

VIM Table Mode for instant table creation.
2.11k stars 96 forks source link

table_mode_align_char doesn't work with multi-line headers #203

Open comex opened 3 years ago

comex commented 3 years ago

Suppose I make a table with a right alignment marker in the second column:

| first thing | second thing |
|-------------+-------------:|
| 1           |      2       |

If I run :TableModeRealign, the second column is right-aligned as expected:

| first thing | second thing |
|-------------+-------------:|
| 1           |            2 |

But if I use multiple lines in the header:

| first | second |
| thing | thing  |
|-------+-------:|
| 1     |   2    |

then run :TableModeRealign, I instead get left alignment:

| first | second |
| thing | thing  |
|-------+-------:|
| 1     | 2      |

This seems to be caused by the interaction of tablemode#align#Align and tablemode#align#alignments, together assuming a border line will appear after the first text line.

dhruvasagar commented 3 years ago

You're right, multi-line headers aren't fully supported yet. However, I will take another look at it and it should be easy to support it.