Add an option to conceal preformatted text blocks

This merges PR #641.
This commit is contained in:
Greg Anders 2019-03-28 14:49:42 -07:00 committed by Henry Qin
parent f5cf991115
commit e56c26c7ba
4 changed files with 27 additions and 3 deletions

View File

@ -1022,10 +1022,11 @@ function! vimwiki#base#nested_syntax(filetype, start, end, textSnipHl) abort
let group='texMathZoneGroup' let group='texMathZoneGroup'
endif endif
let concealpre = vimwiki#vars#get_global('conceal_pre') ? ' concealends' : ''
execute 'syntax region textSnip'.ft. execute 'syntax region textSnip'.ft.
\ ' matchgroup='.a:textSnipHl. \ ' matchgroup='.a:textSnipHl.
\ ' start="'.a:start.'" end="'.a:end.'"'. \ ' start="'.a:start.'" end="'.a:end.'"'.
\ ' contains=@'.group.' keepend' \ ' contains=@'.group.' keepend'.concealpre
" A workaround to Issue 115: Nested Perl syntax highlighting differs from " A workaround to Issue 115: Nested Perl syntax highlighting differs from
" regular one. " regular one.

View File

@ -145,6 +145,7 @@ function! s:read_global_settings_from_user()
\ 'auto_chdir': {'type': type(0), 'default': 0, 'min': 0, 'max': 1}, \ 'auto_chdir': {'type': type(0), 'default': 0, 'min': 0, 'max': 1},
\ 'autowriteall': {'type': type(0), 'default': 1, 'min': 0, 'max': 1}, \ 'autowriteall': {'type': type(0), 'default': 1, 'min': 0, 'max': 1},
\ 'conceallevel': {'type': type(0), 'default': 2, 'min': 0, 'max': 3}, \ 'conceallevel': {'type': type(0), 'default': 2, 'min': 0, 'max': 3},
\ 'conceal_pre': {'type': type(0), 'default': 0, 'min': 0, 'max': 1},
\ 'create_link': {'type': type(0), 'default': 1, 'min':0, 'max': 1}, \ 'create_link': {'type': type(0), 'default': 1, 'min':0, 'max': 1},
\ 'diary_months': {'type': type({}), 'default': \ 'diary_months': {'type': type({}), 'default':
\ { \ {

View File

@ -2887,6 +2887,26 @@ URLs and hides markers and URL for links that have a description.
Default: 2 Default: 2
------------------------------------------------------------------------------
*g:vimwiki_conceal_pre*
Conceal preformatted text markers. For example,
>
{{{python
def say_hello():
print("Hello, world!")
}}}
>
would appear as simply
>
def say_hello():
print("Hello, world!")
>
in your wiki file.
Default: 0
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*g:vimwiki_autowriteall* *g:vimwiki_autowriteall*

View File

@ -318,8 +318,9 @@ execute 'syntax match VimwikiCodeT /'.vimwiki#vars#get_syntaxlocal('rxCode').
" <hr> horizontal rule " <hr> horizontal rule
execute 'syntax match VimwikiHR /'.vimwiki#vars#get_syntaxlocal('rxHR').'/' execute 'syntax match VimwikiHR /'.vimwiki#vars#get_syntaxlocal('rxHR').'/'
execute 'syntax region VimwikiPre start=/'.vimwiki#vars#get_syntaxlocal('rxPreStart'). let concealpre = vimwiki#vars#get_global('conceal_pre') ? ' concealends' : ''
\ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxPreEnd').'/ contains=@Spell' execute 'syntax region VimwikiPre matchgroup=VimwikiPreDelim start=/'.vimwiki#vars#get_syntaxlocal('rxPreStart').
\ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxPreEnd').'/ contains=@Spell'.concealpre
execute 'syntax region VimwikiMath start=/'.vimwiki#vars#get_syntaxlocal('rxMathStart'). execute 'syntax region VimwikiMath start=/'.vimwiki#vars#get_syntaxlocal('rxMathStart').
\ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxMathEnd').'/ contains=@Spell' \ '/ end=/'.vimwiki#vars#get_syntaxlocal('rxMathEnd').'/ contains=@Spell'
@ -395,6 +396,7 @@ hi def link VimwikiCodeT VimwikiCode
hi def link VimwikiPre PreProc hi def link VimwikiPre PreProc
hi def link VimwikiPreT VimwikiPre hi def link VimwikiPreT VimwikiPre
hi def link VimwikiPreDelim VimwikiPre
hi def link VimwikiMath Number hi def link VimwikiMath Number
hi def link VimwikiMathT VimwikiMath hi def link VimwikiMathT VimwikiMath