From 1b37f7d7f1554f4ef4cd185c1181d54d9956b1db Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Sun, 6 Oct 2024 12:06:27 +0800 Subject: Update --- vim/init/config.vim | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) (limited to 'vim/init/config.vim') diff --git a/vim/init/config.vim b/vim/init/config.vim index 4676942..5c53728 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim @@ -215,6 +215,34 @@ augroup InitFileTypes return heading.." "..fills.." "..lines endfunc + " }}} + " Javascript {{{ + + au FileType javascript call InitJavascriptFile() + function! InitJavascriptFile() + setlocal wrap sw=2 ts=2 + + setlocal foldexpr=JsdocLevel() foldmethod=expr + + let l:jsdocPrefix = "JSDOC: " + setlocal foldtext=JSdocFoldText() + endfunc + + function! JsdocLevel() + let jsdoc = matchstr(getline(v:lnum), '^\zs\s*\/\*\*\ze') + if !empty(jsdoc) + let foldlevel = len(matchstr(jsdoc, '^\zs\s*\ze')) + 1 + return '>'.foldlevel + else + " Contents + return "=" + endif + endfunc + + function! JSdocFoldText() + return "JSDOC: ".matchstr(getline(v:foldstart + 1), '^[\* ]*\zs.*\ze') + endfunc + " }}} " HTML {{{ @@ -235,8 +263,11 @@ augroup InitFileTypes startinsert endif endfunc - autocmd FileType html,markdown nnoremap cl :call ChangeAttr("class") - autocmd FileType html,markdown nnoremap id :call ChangeAttr("id") + autocmd FileType html,markdown,javascript nnoremap cl :call ChangeAttr("class") + autocmd FileType html,markdown,javascript nnoremap id :call ChangeAttr("id") + autocmd FileType css,javascript nnoremap :let LINE=line("."):silent! %!npx standard --stdin --fix 2>/dev/null:exe LINE + autocmd FileType css,javascript nmap cdg:let LINE=line("."):%!stylelint --fix --stdin 2>/dev/null:exe LINE + autocmd FileType css,javascript set formatprg=prettier " Reload preview server autocmd BufWrite *.html,*.js,*.css call ReloadServer() @@ -279,4 +310,5 @@ augroup InitFileTypes augroup END -" }}} +let g:ale_lint_on_save = 1 +let g:ale_fix_on_save = 1 -- cgit v1.2.3-70-g09d2