Commit Graph

146 Commits

Author SHA1 Message Date
Jonas DOREL
e5dc853ee3 fix(highlight): disable highlight when word before 2021-10-05 17:29:47 +02:00
Jonas DOREL
c949912bfa feat(highlight): color cell if contains yes,no,? 2021-10-05 16:06:53 +02:00
Dhruva Sagar
02d28b9323 Move echo cell functionality to autoload. Fixes #206 2021-09-04 23:24:42 +05:30
Dhruva Sagar
35e9fbf64c Improve formula evaluation. Fix #201
A past change added support for html comments for tables, however, this
fails when the formula line happens to match the format of html comments
2021-05-30 03:53:41 +05:30
Benjamin Mundt
8dcdfad1ee Define separator map in one place as a global; add separator map target for separators other than | 2021-04-29 14:15:48 -04:00
Dhruva Sagar
3476c4e517 Improve Tableize. Fix #109.
This adds a new option `g:table_mode_tableize_auto_border` that allows
to enable automatic border creation when using Tableize to create tables
2020-08-19 21:59:37 +05:30
Dhruva Sagar
336262d04f Fix #184
Improve formula evaluation, support border rows
2020-08-02 23:26:27 +05:30
Eric Davis
2e5713ae6a fixed the Average function and test case when spanning rows/columns
fixed a Vim error(E907) in Min/Max when comparing v:null to a float
fixed CountE/CountNE/PercentE/PercentNE to support spanning rows/columns
added test cases for all the new formula functions
2020-04-19 00:20:55 -07:00
Eric Davis
f755285cf3 simplified the CountE function
cleanup for HTML comment tag checks
2020-04-18 21:47:22 -07:00
Eric Davis
5cdf3c2ac1 Added the following formula functions:
- Min: get the lowest value
  - Max: get the highest value
  - CountE: count the number of empty cells
  - CountNE: count the number of non-empty cells
  - PercentE: percent of empty cells
  - PercentNE: percent of non-empty cells
  - AverageNE: average over non-empty cells

Also added a subtle tweak that ignores an HTML comment tag ('<!--')
found between the table and the starting formula line. Being able to
wrap all the formula lines with an HTML comment prevents the formulas
from being rendered in Markdown/ReST output.
2020-04-18 18:46:21 -07:00
ibbem
46e4493b30 Start insert mode after adding a column 2020-04-13 22:34:44 +02:00
ibbem
85a5e3d4e1 Fix the column modifications on escaped separators
If a g:table_mode_separator is escaped by a backslash, the table is
aligned ignoring this instance of the g:table_mode_separator, but the
column deletion and insertion functions did not consider this behaviour.

The g:table_mode_escaped_separator regex is simplified and optimized a
little bit. Also more care is taken to prevent unexpected behaviour if
special characters are used as g:table_mode_separator.
2020-04-04 15:27:23 +02:00
ibbem
67129cd1e0 Fix column modifications if Unicode is involved 2020-04-04 15:27:23 +02:00
ibbem
0b58003b68 Add support for inserting columns #130
Two mappings are introduced to enable usage of this feature like vim's
pasting with p and P.
2020-04-04 15:27:19 +02:00
ibbem
6912880697 Include the header when deleting columns 2020-03-31 18:21:45 +02:00
Dhruva Sagar
5ac34a22db Fix #156, improved cursor column detection 2019-12-10 16:13:23 -05:00
Dhruva Sagar
865563f785 Allow range for TableSort. Fix #133 2019-04-25 23:14:05 +05:30
Dhruva Sagar
fdfcb85fb3 Add fold marker for improved folding 2019-02-20 09:43:50 +05:30
Dhruva Sagar
ad9229c937 Fix #141. Allow negative row reference in formula expressions 2019-01-21 15:20:10 +05:30
David Briscoe
5c3c30a9cc Automatically setup table options
Readme mentions settings for Markdown and ReST, but we can apply them
automatically for the current filetype. If a user is editing a no
filetype scratch buffer, they'll still need to configure these options
themselves. But this provides better defaults when editing a buffer of
these filetypes.

Adds get_buffer_or_global_option that could be used for any other
buffer-local (filetype-specific) options.
2018-12-19 12:50:47 -08:00
Dhruva Sagar
a1be216c94 Update tablemode.vim 2018-10-21 05:53:36 +05:30
David Briscoe
cf11264525 Only insert borders on blank/whitespace-only lines
Fixes #45.

Require our end expr to insert a border. This prevents borders from
clobbering other text and makes it possible to use visual block to insert
a new column.
2018-05-19 06:15:36 -07:00
Jeet Sukumaran
09f4336954 Disable/restore foldmethod during realignment 2018-05-15 18:07:30 -04:00
Dhruva Sagar
e646bee5c4 Fix #132
Disabling InsertLeave autocmd for realign since it is getting triggered
multiple times during realignment and causes issues while creation of
tables
2018-03-22 09:40:50 +05:30
Dhruva Sagar
d0a6405189 Fix #131. Cleanly disable auto align when table mode is disabled. 2018-03-17 08:06:45 +05:30
Dhruva Sagar
c35fd9b104 Remove CursorHoldI for auto-align. Fix #128
Since auto-align in insert mode causes snags, removing it and instead
doing it on InsertLeave instead
2018-02-13 08:34:35 +05:30
Dhruva Sagar
bdd96b05cb AutoAlign only if buffer is already modified. Fix #126 2018-01-22 16:59:50 +05:30
Dhruva Sagar
b25fe6f9f0 Fix #124
Underscores should not create an issue
2018-01-04 12:18:22 +05:30
Dhruva Sagar
322503e814 Add support for escaping the separator #118
Initial support. Alignment and border creation is fixed and is
consistent in considering the escaped table separator as part of the
column.

TODO :
* Fix syntax to reflect the above.
* Fix cell definition, motion & formula engine to incorporate this.
2017-12-28 01:04:45 +05:30
Dhruva Sagar
9f383b92be Play nice with vimwiki. Fix #110
In order to use vim table mode over vimwiki native table formatting
support you need to add the following vimwiki settings to your vimrc :

```vim
let g:vimwiki_table_mappings=0
let g:vimwiki_table_auto_fmt=0
```
2017-10-09 20:44:50 +05:30
Dhruva Sagar
a646b4033b Fix #122 : Disable auto align properly after disabling Table Mode 2017-07-31 06:06:22 +05:30
Dhruva Sagar
4e41af8e5f Remove Auto Align in insert mode #115
Since realigning doesn't work well in insert mode, I have removed auto
align feature for it. Auto align will now kick in once you have made
changes and get back to normal mode.
2017-04-20 10:08:18 +05:30
Dhruva Sagar
d4cb68e8e1 Fix for option g:table_mode_update_time 2017-03-10 06:51:47 +05:30
Dhruva Sagar
79bf3f9bb7 Add configuration option table_mode_update_time #73
This is for better experience with auto align, we override the
updatetime with the value of the configuration g:table_mode_update_time.

Once table mode is disabled prior defaults are restored.
2017-03-10 06:48:30 +05:30
Dhruva Sagar
ef66b3ec2f Revert "Also auto realign on InsertLeave #73"
This reverts commit 6584cee4a4.
2017-03-09 15:02:42 +05:30
Dhruva Sagar
6584cee4a4 Also auto realign on InsertLeave #73 2017-03-09 14:24:15 +05:30
Dhruva Sagar
1eef73fc5b Add option to auto align table while editing #73 2017-03-09 11:00:19 +05:30
Dhruva Sagar
30a3eba816 Fix #103 : Refactored border creation
Border creation should not conflict with the contents of the row
2017-01-05 11:42:10 +05:30
Dhruva Sagar
8d3affcf5f Minor refactor for table syntax 2017-01-04 16:03:24 +05:30
Dhruva Sagar
9edd6d7d20 Add config to disable table mode syntax
Since table mode syntax can hamper performance, it is now possible to
disable it with a global config
2017-01-04 15:49:35 +05:30
harriott
e07c240940 fixed logger.vim and announce g:table_mode_verbose 2016-09-09 10:39:01 +02:00
Dhruva Sagar
8309a33aa7 Fix #90
Allow for multiple formula lines
2016-08-23 09:26:24 +05:30
Dhruva Sagar
b613e39bd0 Fix #89
Unescape special characters () within the commmentstring
2016-05-08 15:57:13 +05:30
Dhruva Sagar
4cf1f53430 Fix #86
Fixed issue with table formula addition when there exists one already
and the comment string is singular, i.e. no end delimiter.
2016-04-09 12:55:29 +05:30
Dhruva Sagar
fdfa4b12c2 Add tablemode#table#IsTable 2015-11-23 14:53:05 +05:30
Dhruva Sagar
74d1492f2b Add support for center alignment. Fix #57
We now have support for center alignment, simply add a header border
with the `g:table_mode_align_char` as both the first and the last
character so it would look something like `+:.....:+` to center align
the column values.
2015-04-14 15:56:09 -07:00
Dhruva Sagar
33c00df509 Fix #56
* Fixed tablemode#spreadsheet#cell#SetCell() to accommodate the fact that we
  can have borders anywhere in the table. Using
  tablemode#spreadsheet#LineNr() to get get the line of the actual row
  in the table.
* Fixed tablemode#spreadsheet#LineNr()
2015-02-27 08:53:03 +05:30
Dhruva Sagar
e125870212 Fixed s:Map to not throw error for empty a:to 2014-11-21 07:02:38 +05:30
Dhruva Sagar
d5152bde5e Fixed typo #39 2014-11-20 07:21:43 +05:30
Dhruva Sagar
b22c9bf7b1 Skip empty maps 2014-11-20 07:19:23 +05:30