dot_files/vim-plugins/bundle/xptemplate/ftplugin/markdown/markdown.xpt.vim
2017-07-09 00:26:06 +03:00

95 lines
1.8 KiB
VimL

XPTemplate priority=lang mark=~^
let s:f = g:XPTfuncs()
fun! s:f.HeaderPref()
let snipname = self.GetVar('$_xSnipName')
let nr = snipname[ 1 : 1 ] * 1
return repeat('#', nr)
endfunction
fun! s:f.UnderLine(char)
let v = self.ItemValue()
if v == ''
return ''
else
" line break before "===" and after "==="
return "\n" . repeat(a:char, len(v)) . "\n"
endif
endfunction
fun! s:f.QuitContition()
let v = self.ItemValue()
if v == '' || v =~ '\V\n'
let q = self.Next(substitute(v, '\V\n', '', 'g'))
return q
endif
endfunction
fun! s:f.BuildRef()
let title = ''
let id = self.R( 'refId' )
let url = s:f[ '_markdown_snipp_url' ]
unlet s:f[ '_markdown_snipp_url' ]
if has_key( s:f, '_markdown_snipp_title' )
let title = '"' . s:f[ '_markdown_snipp_title' ] . '"'
unlet s:f[ '_markdown_snipp_title' ]
endif
call append( line('$'), '[' . id . ']: <' . url . '> ' . title )
return '\n'
endfunction
XPTinclude
\ _common/common
XPT sharp_header hidden " HeaderPref() title
~HeaderPref() ~t^
XPT h1 alias=sharp_header
XPT h2 alias=sharp_header
XPT h3 alias=sharp_header
XPT h4 alias=sharp_header
XPT h5 alias=sharp_header
XPT h6 alias=sharp_header
XPT header_alt hidden " ... repeat($decoration,3)
XSET $decoration==
XSET t|ontype=QuitContition()
~t^~t^UnderLine($decoration)^~^
XPT ha1 alias=header_alt
XSET $decoration==
XPT ha2 alias=header_alt
XSET $decoration=-
XPT title alias=ha1
XPT section alias=ha2
XPT subsection alias=h3
XPT link " [...](...)
[~text^](~url^~ ~title?^)
XPT img " ![...](...)
![~alt-text^](~url^~ ~title?^)
XPT ref " [...][...]
[~text^][~refid^]
XPT def " [name]: url
[~refid^]: ~url^
XPT hr " -----
---
XPT ruler alias=hr
XPT table " | header | ... |
| | |
| :-- | --: |
| | |