Compare commits

...

4 Commits
master ... dev

Author SHA1 Message Date
Andrew 866ee025c7
Add list token after press Enter
Close #1, #11
2022-09-01 23:29:12 +04:00
Andrew a0e586adfb
Move coursor to the end after set up checkbox
Close #13
2022-09-01 22:38:33 +04:00
Andrew 275f3cd2d2
Set textwidth
Close #7
2022-05-16 13:48:45 +04:00
Andrew 37ccac0e5e
Autosave after toggle checkbox or radio button
Close #8
2022-05-16 13:20:45 +04:00
1 changed files with 28 additions and 5 deletions

View File

@ -2,18 +2,28 @@
" File: ftplugin/markdown.vim " File: ftplugin/markdown.vim
" Maintainer: Andrew Nechaev <i@geekfrom.ru> " Maintainer: Andrew Nechaev <i@geekfrom.ru>
" Version: 0.1.0 " Version: 0.1.0
" Modified: 2022-05-13 21:00+0400 " Modified: 2022-05-16 13:48+0400
" License: MIT " License: MIT
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nnoremap <buffer> <silent> <Leader>t :call winrestview(<SID>toggle({' ': 'x', 'x': '-', '-': ' '}))<cr> set textwidth=120
vnoremap <buffer> <silent> <Leader>t :call winrestview(<SID>toggle({' ': 'x', 'x': '-', '-': ' '}))<cr> set formatoptions+=t
set colorcolumn=-1
set wm=0
set wrap linebreak
nnoremap <buffer> <silent> <Leader>r :call winrestview(<SID>toggleState('(', '( ) '))<cr> nnoremap <buffer> <silent> <Leader>t :call winrestview(<SID>toggle({' ': 'x', 'x': '-', '-': ' '}))<cr>:w!<cr>
vnoremap <buffer> <silent> <Leader>t :call winrestview(<SID>toggle({' ': 'x', 'x': '-', '-': ' '}))<cr><esc>:w!<cr>
nnoremap <buffer> <silent> <Leader>r :call winrestview(<SID>toggleState('(', '( ) '))<cr>A
vnoremap <buffer> <silent> <Leader>r :call winrestview(<SID>toggleState('(', '( ) '))<cr> vnoremap <buffer> <silent> <Leader>r :call winrestview(<SID>toggleState('(', '( ) '))<cr>
nnoremap <buffer> <silent> <Leader>c :call winrestview(<SID>toggleState('[', '[ ] '))<cr> nnoremap <buffer> <silent> <Leader>c :call winrestview(<SID>toggleState('[', '[ ] '))<cr>A
vnoremap <buffer> <silent> <Leader>c :call winrestview(<SID>toggleState('[', '[ ] '))<cr> vnoremap <buffer> <silent> <Leader>c :call winrestview(<SID>toggleState('[', '[ ] '))<cr>
inoremap <buffer> <CR> <CR><Esc>:call <SID>auto_list()<CR>A
nnoremap <buffer> o o<Esc>:call <SID>auto_list()<CR>A
nnoremap <buffer> O O<Esc>:call <SID>auto_list()<CR>A
set tabstop=2 softtabstop=2 shiftwidth=2 expandtab set tabstop=2 softtabstop=2 shiftwidth=2 expandtab
function s:toggle(dict) function s:toggle(dict)
@ -28,3 +38,16 @@ function s:toggleState(search, replacement)
return view return view
endfunction endfunction
function! s:auto_list()
let l:current_text = getline(line("."))<
let l:preceding_line = getline(line(".") - 1)
if l:preceding_line =~ '\v^\s*\d+\.'
let l:list_index = matchstr(l:preceding_line, '\v\d+')
let l:next = l:list_index + 1
let l:whitespaces = matchstr(l:preceding_line, '\v^\s*')
call setline(".", l:whitespaces.l:next.". ".l:current_text)
elseif l:preceding_line =~ '^\s*\(-\s*\|+\s*\|*\s\)\?\(\[.\]\|\(.\)\)\?'
let l:starter = matchstr(l:preceding_line, '^\s*\(-\s*\|+\s*\|*\s\)\?\(\[.\]\|(.)\)\?\s*')
call setline(".", l:starter.l:current_text)
endif
endfunction