aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/init/config.vim
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-06 12:06:27 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-06 12:06:27 +0800
commit1b37f7d7f1554f4ef4cd185c1181d54d9956b1db (patch)
tree54057c5cee90f3a93b240d77828f14f90af8c93f /vim/init/config.vim
parenta9386c536189f2aaf38c9e2ba674a096657ca366 (diff)
Update
Diffstat (limited to 'vim/init/config.vim')
-rw-r--r--vim/init/config.vim38
1 files changed, 35 insertions, 3 deletions
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
@@ -216,6 +216,34 @@ augroup InitFileTypes
216 endfunc 216 endfunc
217 217
218 " }}} 218 " }}}
219 " Javascript {{{
220
221 au FileType javascript call InitJavascriptFile()
222 function! InitJavascriptFile()
223 setlocal wrap sw=2 ts=2
224
225 setlocal foldexpr=JsdocLevel() foldmethod=expr
226
227 let l:jsdocPrefix = "JSDOC: "
228 setlocal foldtext=JSdocFoldText()
229 endfunc
230
231 function! JsdocLevel()
232 let jsdoc = matchstr(getline(v:lnum), '^\zs\s*\/\*\*\ze')
233 if !empty(jsdoc)
234 let foldlevel = len(matchstr(jsdoc, '^\zs\s*\ze')) + 1
235 return '>'.foldlevel
236 else
237 " Contents
238 return "="
239 endif
240 endfunc
241
242 function! JSdocFoldText()
243 return "JSDOC: ".matchstr(getline(v:foldstart + 1), '^[\* ]*\zs.*\ze')
244 endfunc
245
246 " }}}
219 " HTML {{{ 247 " HTML {{{
220 248
221 " Usage: <leader>cl(ass) or <leader>id to edit html tag attribute 249 " Usage: <leader>cl(ass) or <leader>id to edit html tag attribute
@@ -235,8 +263,11 @@ augroup InitFileTypes
235 startinsert 263 startinsert
236 endif 264 endif
237 endfunc 265 endfunc
238 autocmd FileType html,markdown nnoremap <buffer> <leader>cl :call <SID>ChangeAttr("class")<CR> 266 autocmd FileType html,markdown,javascript nnoremap <buffer> <leader>cl :call <SID>ChangeAttr("class")<CR>
239 autocmd FileType html,markdown nnoremap <buffer> <leader>id :call <SID>ChangeAttr("id")<CR> 267 autocmd FileType html,markdown,javascript nnoremap <buffer> <leader>id :call <SID>ChangeAttr("id")<CR>
268 autocmd FileType css,javascript nnoremap <buffer> <F9> :let LINE=line(".")<CR>:silent! %!npx standard --stdin --fix 2>/dev/null<CR>:exe LINE<CR>
269 autocmd FileType css,javascript nmap <buffer> <F8> cdg:let LINE=line(".")<CR>:%!stylelint --fix --stdin 2>/dev/null<CR>:exe LINE<CR>
270 autocmd FileType css,javascript set formatprg=prettier
240 271
241 " Reload preview server 272 " Reload preview server
242 autocmd BufWrite *.html,*.js,*.css call ReloadServer() 273 autocmd BufWrite *.html,*.js,*.css call ReloadServer()
@@ -279,4 +310,5 @@ augroup InitFileTypes
279 310
280augroup END 311augroup END
281 312
282" }}} 313let g:ale_lint_on_save = 1
314let g:ale_fix_on_save = 1