33 lines
1 KiB
VimL
33 lines
1 KiB
VimL
" setlocal syntax=markdown
|
||
setlocal textwidth=80
|
||
setlocal spell
|
||
|
||
syntax match jtag "@.\{-}\w\+"
|
||
syntax match jyear /\[\d\{4}-\d\d-\d\d \d\d:\d\d:\d\{2\}\( [aApP][mM]\)\?\]/
|
||
|
||
syntax region entryLine start=/\d\{4}-\d\d-\d\d \d\d:\d\d/ end=/$/ contains=jyear
|
||
|
||
highlight def link jtag Constant
|
||
highlight def link jyear Identifier
|
||
highlight def entryLine ctermfg=250 guifg=Gray
|
||
|
||
setlocal foldmethod=expr
|
||
setlocal foldexpr=JrnlFoldExpr()
|
||
|
||
function! JrnlFoldExpr()
|
||
let line = getline(v:lnum)
|
||
|
||
" Если строка начинается с даты [YYYY-MM-DD HH:MM:SS AM/PM]
|
||
if line =~ '^\[\d\{4}-\d\d-\d\d \d\d:\d\d:\d\{2\}\( [aApP][mM]\)\?\]'
|
||
return ">1" " Открываем новую свёртку (уровень 1)
|
||
endif
|
||
|
||
" Если строка - это Weather, Geo, или другие элементы
|
||
if line =~ '^-\s\+\w\+:'
|
||
return "1" " Оставляем эти строки внутри текущей свёртки
|
||
endif
|
||
|
||
" Все остальные строки не участвуют в свёртке
|
||
return "="
|
||
endfunction
|
||
|