let s:save_cpo = &cpo set cpo&vim " Determine is current line checkbox function! omochice#checkbox#is_checkbox() abort return getline(line('.')) =~# '^\s*\(- \)\?\[[x ]\]' endfunction " Toggle current line checkbox function! omochice#checkbox#toggle_checkbox() abort const l:lnum = line('.') let l:line = getline(l:lnum) if l:line =~# '\[x\]' let l:line = substitute(l:line, '\[x\]', '[ ]', '') call setline(l:lnum, l:line) return elseif l:line =~# '\[\s\]' let l:line = substitute(l:line, '\[\s\]', '[x]', '') call setline(l:lnum, l:line) return endif endfunction let &cpo = s:save_cpo unlet s:save_cpo