diff options
author | Hsieh Chin Fan <pham@topo.tw> | 2024-10-06 12:06:27 +0800 |
---|---|---|
committer | Hsieh Chin Fan <pham@topo.tw> | 2024-10-06 12:06:27 +0800 |
commit | 1b37f7d7f1554f4ef4cd185c1181d54d9956b1db (patch) | |
tree | 54057c5cee90f3a93b240d77828f14f90af8c93f /vim/init/config.vim | |
parent | a9386c536189f2aaf38c9e2ba674a096657ca366 (diff) |
Update
Diffstat (limited to 'vim/init/config.vim')
-rw-r--r-- | vim/init/config.vim | 38 |
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 | ||
280 | augroup END | 311 | augroup END |
281 | 312 | ||
282 | " }}} | 313 | let g:ale_lint_on_save = 1 |
314 | let g:ale_fix_on_save = 1 | ||