diff --git a/README.md b/README.md index 650e184..e860a62 100644 --- a/README.md +++ b/README.md @@ -255,6 +255,7 @@ plugin: let g:nuwiki_wiki_root = '~/vimwiki' let g:nuwiki_file_extension = '.wiki' let g:nuwiki_log_level = 'warn' +let g:nuwiki_link_severity = 'warn' " 'off'|'hint'|'warn'|'error' let g:nuwiki_no_default_mappings = 0 " set to 1 to skip the keymap layer let g:nuwiki_no_folding = 0 " set to 1 to skip foldexpr setup let g:nuwiki_mouse_mappings = 0 " set to 1 to enable mouse maps @@ -273,7 +274,7 @@ let g:nuwiki_mouse_mappings = 0 " set to 1 to enable mouse maps | `folding` | string | `'lsp'` | `'lsp'` \| `'expr'` \| `'off'` | | `wikis` | list of tables | `nil` | per-wiki tables (see below); wins over the single-wiki shorthand | | `mappings` | table | all on | keymap subgroups (see below) | -| `diagnostic` | table | — | `{ link_severity = … }` (see note below) | +| `diagnostic` | table | `{ link_severity = 'warn' }` | `link_severity`: `'off'` \| `'hint'` \| `'warn'` \| `'error'` | #### `mappings` subgroups @@ -340,15 +341,11 @@ For users configuring without Lua. | `g:nuwiki_wiki_root` | `'~/vimwiki'` | single-wiki root | | `g:nuwiki_file_extension` | `'.wiki'` | wiki file extension | | `g:nuwiki_log_level` | `'warn'` | `error` \| `warn` \| `info` \| `debug` | +| `g:nuwiki_link_severity` | `'warn'` | broken-link severity: `off` \| `hint` \| `warn` \| `error` | | `g:nuwiki_no_default_mappings` | `0` | `1` skips the keymap layer | | `g:nuwiki_no_folding` | `0` | `1` skips foldexpr setup | | `g:nuwiki_mouse_mappings` | `0` | `1` enables mouse maps | -> **Note:** `diagnostic.link_severity` is accepted in the config surface but -> the server currently always uses its default (`'warn'`); the client value is -> not yet wired through. Track this if you rely on changing broken-link -> severity. - --- ## Usage diff --git a/development/tests/config-expected.txt b/development/tests/config-expected.txt index 62dce97..b2671b6 100644 --- a/development/tests/config-expected.txt +++ b/development/tests/config-expected.txt @@ -3,11 +3,13 @@ wiki_root=~/vimwiki file_extension=.wiki syntax=vimwiki log_level=warn +diagnostic.link_severity=warn [sample] wiki_root=/tmp/base file_extension=.md syntax=vimwiki log_level=debug +diagnostic.link_severity=error wikis[0].diary_rel_path=journal wikis[0].file_extension=.wiki wikis[0].index=home diff --git a/development/tests/test-config-vim.vim b/development/tests/test-config-vim.vim index e5ec45e..3bce622 100644 --- a/development/tests/test-config-vim.vim +++ b/development/tests/test-config-vim.vim @@ -15,6 +15,9 @@ function! s:dump(payload) abort call add(s:lines, 'file_extension=' . a:payload.file_extension) call add(s:lines, 'syntax=' . a:payload.syntax) call add(s:lines, 'log_level=' . a:payload.log_level) + if has_key(a:payload, 'diagnostic') + call add(s:lines, 'diagnostic.link_severity=' . a:payload.diagnostic.link_severity) + endif if has_key(a:payload, 'wikis') let l:i = 0 for l:w in a:payload.wikis @@ -28,7 +31,7 @@ endfunction " Scenario 1: defaults (no globals set). unlet! g:nuwiki_wiki_root g:nuwiki_file_extension g:nuwiki_syntax -unlet! g:nuwiki_log_level g:nuwiki_wikis +unlet! g:nuwiki_log_level g:nuwiki_wikis g:nuwiki_link_severity call add(s:lines, '[default]') call s:dump(nuwiki#lsp#settings()) @@ -37,6 +40,7 @@ let g:nuwiki_wiki_root = '/tmp/base' let g:nuwiki_file_extension = '.md' let g:nuwiki_syntax = 'vimwiki' let g:nuwiki_log_level = 'debug' +let g:nuwiki_link_severity = 'error' let g:nuwiki_wikis = [ \ { 'name': 'personal', 'root': '/tmp/personal', \ 'file_extension': '.wiki', 'index': 'home', diff --git a/development/tests/test-config.lua b/development/tests/test-config.lua index 057e4d2..52194c1 100644 --- a/development/tests/test-config.lua +++ b/development/tests/test-config.lua @@ -27,6 +27,9 @@ local function dump(payload) emit('file_extension=' .. tostring(payload.file_extension)) emit('syntax=' .. tostring(payload.syntax)) emit('log_level=' .. tostring(payload.log_level)) + if payload.diagnostic then + emit('diagnostic.link_severity=' .. tostring(payload.diagnostic.link_severity)) + end if payload.wikis then for i, w in ipairs(payload.wikis) do local keys = {} @@ -53,6 +56,7 @@ config.apply({ file_extension = '.md', syntax = 'vimwiki', log_level = 'debug', + diagnostic = { link_severity = 'error' }, wikis = { { name = 'personal',