dotfiles/vim/.vim/plugin/pretty_section_comment.vim

60 lines
3.6 KiB
VimL
Raw Normal View History

2023-12-23 20:13:47 -07:00
" Creates a pretty comment box
"╔─────────────────────────────────────────────────────────────────────────────╗
"│ L𝓲kε τh𝓲s bεαμτy! |
"╚─────────────────────────────────────────────────────────────────────────────╝
function! PrettySectionComment(type)
" Fancy unicode
silent! s/A/Λ/g
silent! s/a/α/g
silent! s/e/ε/g
silent! s/n/η/g
silent! s/o/δ/g
silent! s/p/ρ/g
silent! s/t/τ/g
silent! s/u/μ/g
silent! s/v/ν/g
silent! s/w/ω/g
silent! s/x/χ/g
if a:type ==# '/*'
call append(line(".") - 1,
2024-07-17 17:21:33 -06:00
\ "/*────────────────────────────────────────────────────────────────────────────╗")
2023-12-23 20:13:47 -07:00
call append(line("."),
2024-07-17 17:21:33 -06:00
\ "╚────────────────────────────────────────────────────────────────────────────*/")
2023-12-23 20:14:12 -07:00
elseif a:type ==# "<!--"
call append(line(".") - 1,
2024-07-17 17:21:33 -06:00
\ "<!--──────────────────────────────────────────────────────────────────────────╗")
2023-12-23 20:14:12 -07:00
call append(line("."),
2024-07-17 17:21:33 -06:00
\ "╚───────────────────────────────────────────────────────────────────────────-->")
2023-12-23 20:13:47 -07:00
elseif a:type ==# '//'
call append(line(".") - 1,
2024-07-17 17:21:33 -06:00
\ "//╔───────────────────────────────────────────────────────────────────────────╗")
2023-12-23 20:13:47 -07:00
call append(line("."),
2024-07-17 17:21:33 -06:00
\ "//╚───────────────────────────────────────────────────────────────────────────╝")
2023-12-23 20:13:47 -07:00
else
call append(line(".") - 1,
2024-07-17 17:21:33 -06:00
\ "#╔────────────────────────────────────────────────────────────────────────────╗")
2023-12-23 20:13:47 -07:00
call append(line("."),
2024-07-17 17:21:33 -06:00
\ "#╚────────────────────────────────────────────────────────────────────────────╝")
2023-12-23 20:13:47 -07:00
endif
" Delete text
exe "normal! ^D0"
2024-07-17 17:21:33 -06:00
" Insert 79 spaces
exe "normal! 79i \<esc>"
2023-12-23 20:13:47 -07:00
" Paste back in commented text
if a:type ==# '/*'
exe "normal! 0i│ \<C-r>\"\<esc>"
2023-12-23 20:14:12 -07:00
elseif a:type ==# "<!--"
exe "normal! 0i│ \<C-r>\"\<esc>"
2023-12-23 20:13:47 -07:00
elseif a:type ==# '//'
exe "normal! 0i//│ \<C-r>\"\<esc>"
else
exe "normal! 0i#│ \<C-r>\"\<esc>"
endif
" Add closing bar on right
2024-07-17 17:21:33 -06:00
exe "normal! 078li|\<esc>"
2023-12-23 20:13:47 -07:00
endfunction