From 0cc4a179cfed5c2be516186dd134c6d208b7f2a9 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Fri, 25 Oct 2024 11:58:32 +0800 Subject: Update --- vim/init.vim | 3 ++ vim/init/basic.vim | 2 +- vim/init/config.vim | 45 +++++++++++++++++++------- vim/mini.lua | 79 +++++++++++++++++++++++---------------------- vim/spell/en.utf-8.add | 24 ++++++++++++++ vim/spell/en.utf-8.add.spl | Bin 307 -> 932 bytes 6 files changed, 102 insertions(+), 51 deletions(-) (limited to 'vim') diff --git a/vim/init.vim b/vim/init.vim index 8ac92e0..aed0c41 100644 --- a/vim/init.vim +++ b/vim/init.vim @@ -15,6 +15,9 @@ execute 'set runtimepath+='.s:home " Load scripts in home command! -nargs=1 LoadScript exec 'source '.s:home.'/'.'' +if $fullrc == 'false' + finish +endif " Gerneral scripts LoadScript init/basic.vim " Basic configuration diff --git a/vim/init/basic.vim b/vim/init/basic.vim index c4c62e7..4a49f39 100644 --- a/vim/init/basic.vim +++ b/vim/init/basic.vim @@ -119,7 +119,7 @@ set errorformat+=[%f:%l]\ ->\ %m,[%f:%l]:%m set splitright " Set signcolumn -set signcolumn="yes:3" +set signcolumn=yes:3 " Custom sign from help page :h sign sign define piet text=>> texthl=Search diff --git a/vim/init/config.vim b/vim/init/config.vim index 5c53728..ce81f8a 100644 --- a/vim/init/config.vim +++ b/vim/init/config.vim @@ -221,26 +221,47 @@ augroup InitFileTypes 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() + setlocal foldexpr=JsdocLevel() foldmethod=expr foldtext=JSdocFoldText() endfunc function! JsdocLevel() - let jsdoc = matchstr(getline(v:lnum), '^\zs\s*\/\*\*\ze') + let line = getline(v:lnum) + let jsdoc = matchstr(line, '^\zs[ \/]*\/\*\*\ze') + let indent = len(matchstr(line, '^\zs\s*\ze')) / 2 + if !empty(jsdoc) - let foldlevel = len(matchstr(jsdoc, '^\zs\s*\ze')) + 1 + let foldlevel = indent + 1 return '>'.foldlevel else - " Contents - return "=" + let foldlevel = foldlevel(v:lnum - 1) + " let lastIndent = len(matchstr(getline(v:lnum - 1), '^\zs\s*\ze')) / 2 + " let pattern = matchstr(line, '^\s*\zs[})]\+;*\ze$') + " if !empty(line) && len(pattern) > 0 && indent + 1 == foldlevel && indent < lastIndent + " return "<".foldlevel + if empty(line) && empty(getline(v:lnum - 1)) + return "<".foldlevel + else + return "=" + endif endif endfunc function! JSdocFoldText() - return "JSDOC: ".matchstr(getline(v:foldstart + 1), '^[\* ]*\zs.*\ze') + let line = getline(v:foldstart) + let message = matchstr(line, '\*\s\zs.*\ze\s\*\+/$') + let lines = v:foldend - v:foldstart + + if empty(message) + let line = getline(v:foldstart + 1) + let message = "@ ".matchstr(line, '^[\* ]*\zs.*\ze') + endif + + let comment = matchstr(line, '^\s*\zs//\ze') + if !empty(comment) + let message = '/** '.message.' */' + endif + + return repeat(" ", v:foldlevel - 1).repeat(" ", 4 - len(lines)).lines." lines -- ".message endfunc " }}} @@ -265,8 +286,8 @@ augroup InitFileTypes endfunc 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 nnoremap :let LINE=line("."):silent! %!standard --stdin --fix 2>/dev/null:exe LINE + autocmd FileType css,javascript nmap cdg:let LINE=line("."):%!stylelint -c scripts/stylelintrc.json --fix --stdin 2>/dev/null:exe LINE autocmd FileType css,javascript set formatprg=prettier " Reload preview server diff --git a/vim/mini.lua b/vim/mini.lua index 7451258..6c81d8f 100644 --- a/vim/mini.lua +++ b/vim/mini.lua @@ -1420,43 +1420,43 @@ require("lazy").setup({ }, -- }}} - -- lspsaga {{{ - { - 'nvimdev/lspsaga.nvim', - dependencies = { - 'nvim-treesitter/nvim-treesitter', -- optional - 'nvim-tree/nvim-web-devicons', -- optional - }, - config = function() - require('lspsaga').setup({ - autochdir = true, - lightbulb = { - sign = false, - virtual_text = true, - }, - }) - vim.api.nvim_create_autocmd("LspAttach", { - group = custom_autocommands, - pattern = "*", - callback = function(args) - local map = vim.api.nvim_buf_set_keymap - map(0, "n", "gd", "Lspsaga goto_definition", { silent = true, noremap = true }) - map(0, "n", "gR", "Lspsaga rename", { silent = true, noremap = true }) - map(0, "n", "gx", "Lspsaga code_action", { silent = true, noremap = true }) - map(0, "x", "gx", ":Lspsaga range_code_action", { silent = true, noremap = true }) - map(0, "n", "K", "Lspsaga hover_doc", { silent = true, noremap = true }) - map(0, "n", "go", "Lspsaga show_line_diagnostics", { silent = true, noremap = true }) - map(0, "n", "gj", "Lspsaga diagnostic_jump_next", { silent = true, noremap = true }) - map(0, "n", "gk", "Lspsaga diagnostic_jump_prev", { silent = true, noremap = true }) - - -- Don't know why... Everytime when modeline is set and insert a single char - -- while inside a fold, the fold closes. - vim.opt_local.modeline = false - end, - }) - end - }, - -- }}} + -- -- lspsaga {{{ + -- { + -- 'nvimdev/lspsaga.nvim', + -- dependencies = { + -- 'nvim-treesitter/nvim-treesitter', -- optional + -- 'nvim-tree/nvim-web-devicons', -- optional + -- }, + -- config = function() + -- require('lspsaga').setup({ + -- autochdir = true, + -- lightbulb = { + -- sign = false, + -- virtual_text = true, + -- }, + -- }) + -- vim.api.nvim_create_autocmd("LspAttach", { + -- group = custom_autocommands, + -- pattern = "*", + -- callback = function(args) + -- local map = vim.api.nvim_buf_set_keymap + -- map(0, "n", "gd", "Lspsaga goto_definition", { silent = true, noremap = true }) + -- map(0, "n", "gR", "Lspsaga rename", { silent = true, noremap = true }) + -- map(0, "n", "gx", "Lspsaga code_action", { silent = true, noremap = true }) + -- map(0, "x", "gx", ":Lspsaga range_code_action", { silent = true, noremap = true }) + -- map(0, "n", "K", "Lspsaga hover_doc", { silent = true, noremap = true }) + -- map(0, "n", "go", "Lspsaga show_line_diagnostics", { silent = true, noremap = true }) + -- map(0, "n", "gj", "Lspsaga diagnostic_jump_next", { silent = true, noremap = true }) + -- map(0, "n", "gk", "Lspsaga diagnostic_jump_prev", { silent = true, noremap = true }) + -- + -- -- Don't know why... Everytime when modeline is set and insert a single char + -- -- while inside a fold, the fold closes. + -- vim.opt_local.modeline = false + -- end, + -- }) + -- end + -- }, + -- -- }}} -- -- conform {{{ -- { -- "stevearc/conform.nvim", @@ -1488,9 +1488,12 @@ require("lazy").setup({ g.ale_ruby_rubocop_auto_correct_all = 1 g.ale_linters = { - ruby = { 'javascript', 'standard' }, + javascript = { 'javascript', 'standard' }, lua = { 'lua_language_server' } } + g.ale_fixers = {javascript = {'standard'}} + g.ale_lint_on_save = 1 + g.ale_fix_on_save = 1 vim.keymap.set("n", "\a", vim.cmd("ALEDisable")) end diff --git a/vim/spell/en.utf-8.add b/vim/spell/en.utf-8.add index d4297c4..a943ffe 100644 --- a/vim/spell/en.utf-8.add +++ b/vim/spell/en.utf-8.add @@ -14,3 +14,27 @@ mjs DocLink StoryMapJS afterMapRendered +DumbyMap +YAML +param +anchorName +CodeMirror +RefLink +refLink +getRefLinks +refLinks +initialValue +MarkdownIt +linkify +GeoLinks +li +HTMLElement +crs +EPSG +ESRI +epsg +io +mdContent +updateAttributeByStep +MutationObserver +mapCallback diff --git a/vim/spell/en.utf-8.add.spl b/vim/spell/en.utf-8.add.spl index a9f1927..afae2c5 100644 Binary files a/vim/spell/en.utf-8.add.spl and b/vim/spell/en.utf-8.add.spl differ -- cgit v1.2.3-70-g09d2