mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
Merge pull request #207 from jdorel/feature-cellcolor
feat(highlight): color cell if contains yes,no,?
This commit is contained in:
11
README.md
11
README.md
@@ -187,6 +187,17 @@ it using `:TableModeRealign` or using the default mapping
|
|||||||
cursor. Both can also be preceeded with a [count] to insert multiple
|
cursor. Both can also be preceeded with a [count] to insert multiple
|
||||||
columns.
|
columns.
|
||||||
|
|
||||||
|
### Highlight cells based on content
|
||||||
|
|
||||||
|
You can highlight cells based on content by setting `let g:table_mode_color_cells` :
|
||||||
|
- cells starting with `yes` will use the `yesCell` highlight group.
|
||||||
|
- cells starting with `no` will use the `noCell` highlight group.
|
||||||
|
- cells starting with `?` will use the `maybeCell` hightlight group.
|
||||||
|
|
||||||
|
You can overwrite any highlight group. For exemple use `hi yesCell ctermfg=2` to remove the background color.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Advanced Usage: Spreadsheet Capabilities
|
## Advanced Usage: Spreadsheet Capabilities
|
||||||
|
|
||||||
### Table Formulas
|
### Table Formulas
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ function! s:ToggleSyntax() "{{{2
|
|||||||
if tablemode#IsActive()
|
if tablemode#IsActive()
|
||||||
exec 'syntax match Table'
|
exec 'syntax match Table'
|
||||||
\ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/'
|
\ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/'
|
||||||
\ 'contains=TableBorder,TableSeparator,TableColumnAlign containedin=ALL'
|
\ 'contains=TableBorder,TableSeparator,TableColumnAlign,yesCell,noCell,maybeCell'
|
||||||
|
\ 'containedin=ALL'
|
||||||
syntax match TableSeparator /|/ contained
|
syntax match TableSeparator /|/ contained
|
||||||
syntax match TableColumnAlign /:/ contained
|
syntax match TableColumnAlign /:/ contained
|
||||||
syntax match TableBorder /[\-+]\+/ contained
|
syntax match TableBorder /[\-+]\+/ contained
|
||||||
@@ -79,6 +80,14 @@ function! s:ToggleSyntax() "{{{2
|
|||||||
hi! link TableBorder Delimiter
|
hi! link TableBorder Delimiter
|
||||||
hi! link TableSeparator Delimiter
|
hi! link TableSeparator Delimiter
|
||||||
hi! link TableColumnAlign Type
|
hi! link TableColumnAlign Type
|
||||||
|
|
||||||
|
if exists("g:table_mode_color_cells") && g:table_mode_color_cells
|
||||||
|
syntax match yesCell '|\@<= *yes[^|]*' contained
|
||||||
|
syntax match noCell '|\@<= *no[^|]*' contained
|
||||||
|
syntax match maybeCell '|\@<= *?[^|]*' contained
|
||||||
|
" '|\@<=' : Match previous characters, excluding them from the group
|
||||||
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
syntax clear Table
|
syntax clear Table
|
||||||
syntax clear TableBorder
|
syntax clear TableBorder
|
||||||
@@ -170,7 +179,7 @@ endfunction
|
|||||||
|
|
||||||
function! tablemode#TableizeInsertMode() "{{{2
|
function! tablemode#TableizeInsertMode() "{{{2
|
||||||
if tablemode#IsActive()
|
if tablemode#IsActive()
|
||||||
if getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator . g:table_mode_separator . tablemode#table#EndExpr())
|
if getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator . g:table_mode_separator . tablemode#table#EndExpr())
|
||||||
call tablemode#table#AddBorder('.')
|
call tablemode#table#AddBorder('.')
|
||||||
normal! A
|
normal! A
|
||||||
elseif getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator)
|
elseif getline('.') =~# (tablemode#table#StartExpr() . g:table_mode_separator)
|
||||||
@@ -234,3 +243,7 @@ function! tablemode#TableizeByDelimiter() "{{{2
|
|||||||
exec line("'<") . ',' . line("'>") . "call tablemode#TableizeRange('/' . delim)"
|
exec line("'<") . ',' . line("'>") . "call tablemode#TableizeRange('/' . delim)"
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
if !hlexists('yesCell') | hi yesCell cterm=bold ctermfg=10 ctermbg=2 | endif |
|
||||||
|
if !hlexists('noCell') | hi noCell cterm=bold ctermfg=9 ctermbg=1 | endif |
|
||||||
|
if !hlexists('maybeCell') | hi maybeCell cterm=bold ctermfg=11 ctermbg=3 | endif |
|
||||||
|
|||||||
Reference in New Issue
Block a user