mirror of
https://github.com/dhruvasagar/vim-table-mode.git
synced 2025-11-08 11:03:47 -05:00
Updated table syntax to get toggled with table mode
This commit is contained in:
@@ -85,8 +85,37 @@ function! s:ToggleMapping() "{{{2
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! tablemode#SyntaxEnable()
|
||||||
|
exec 'syntax match Table'
|
||||||
|
\ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/'
|
||||||
|
\ 'contains=TableBorder,TableSeparator,TableColumnAlign containedin=ALL'
|
||||||
|
syntax match TableSeparator /|/ contained
|
||||||
|
syntax match TableColumnAlign /:/ contained
|
||||||
|
syntax match TableBorder /[\-+]\+/ contained
|
||||||
|
|
||||||
|
hi! link TableBorder Delimiter
|
||||||
|
hi! link TableSeparator Delimiter
|
||||||
|
hi! link TableColumnAlign Type
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:ToggleSyntax()
|
||||||
|
if tablemode#IsActive()
|
||||||
|
call tablemode#SyntaxEnable()
|
||||||
|
else
|
||||||
|
syntax clear Table
|
||||||
|
syntax clear TableBorder
|
||||||
|
syntax clear TableSeparator
|
||||||
|
syntax clear TableColumnAlign
|
||||||
|
|
||||||
|
hi! link TableBorder NONE
|
||||||
|
hi! link TableSeparator NONE
|
||||||
|
hi! link TableColumnAlign NONE
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! s:SetActive(bool) "{{{2
|
function! s:SetActive(bool) "{{{2
|
||||||
let b:table_mode_active = a:bool
|
let b:table_mode_active = a:bool
|
||||||
|
call s:ToggleSyntax()
|
||||||
call s:ToggleMapping()
|
call s:ToggleMapping()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
@@ -50,25 +50,12 @@ function! s:TableEchoCell() "{{{1
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:EnableTableSyntax() "{{{1
|
|
||||||
exec 'syntax match Table'
|
|
||||||
\ '/' . tablemode#table#StartExpr() . '\zs|.\+|\ze' . tablemode#table#EndExpr() . '/'
|
|
||||||
\ 'contains=TableBorder,TableSeparator,TableColumnAlign containedin=ALL'
|
|
||||||
syntax match TableSeparator /|/ contained
|
|
||||||
syntax match TableColumnAlign /:/ contained
|
|
||||||
syntax match TableBorder /[\-+]\+/ contained
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
augroup TableMode
|
augroup TableMode
|
||||||
au!
|
au!
|
||||||
|
|
||||||
autocmd Syntax * call <SID>EnableTableSyntax()
|
autocmd Syntax * if tablemode#IsActive() | call tablemode#SyntaxEnable() | endif
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
hi! link TableBorder Delimiter
|
|
||||||
hi! link TableSeparator Delimiter
|
|
||||||
hi! link TableColumnAlign Type
|
|
||||||
|
|
||||||
" Define Commands & Mappings {{{1
|
" Define Commands & Mappings {{{1
|
||||||
if !g:table_mode_always_active "{{{2
|
if !g:table_mode_always_active "{{{2
|
||||||
exec "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_toggle_map .
|
exec "nnoremap <silent> " . g:table_mode_map_prefix . g:table_mode_toggle_map .
|
||||||
|
|||||||
Reference in New Issue
Block a user