test(config): cover link_severity in parity harnesses and docs
Both editor harnesses now emit diagnostic.link_severity and exercise a
non-default override ('error') in the sample scenario, diffed against the
shared golden. Drop the README "not wired" caveat now that the value flows
through, and document the g:nuwiki_link_severity global.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -255,6 +255,7 @@ plugin:
|
|||||||
let g:nuwiki_wiki_root = '~/vimwiki'
|
let g:nuwiki_wiki_root = '~/vimwiki'
|
||||||
let g:nuwiki_file_extension = '.wiki'
|
let g:nuwiki_file_extension = '.wiki'
|
||||||
let g:nuwiki_log_level = 'warn'
|
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_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_no_folding = 0 " set to 1 to skip foldexpr setup
|
||||||
let g:nuwiki_mouse_mappings = 0 " set to 1 to enable mouse maps
|
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'` |
|
| `folding` | string | `'lsp'` | `'lsp'` \| `'expr'` \| `'off'` |
|
||||||
| `wikis` | list of tables | `nil` | per-wiki tables (see below); wins over the single-wiki shorthand |
|
| `wikis` | list of tables | `nil` | per-wiki tables (see below); wins over the single-wiki shorthand |
|
||||||
| `mappings` | table | all on | keymap subgroups (see below) |
|
| `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
|
#### `mappings` subgroups
|
||||||
|
|
||||||
@@ -340,15 +341,11 @@ For users configuring without Lua.
|
|||||||
| `g:nuwiki_wiki_root` | `'~/vimwiki'` | single-wiki root |
|
| `g:nuwiki_wiki_root` | `'~/vimwiki'` | single-wiki root |
|
||||||
| `g:nuwiki_file_extension` | `'.wiki'` | wiki file extension |
|
| `g:nuwiki_file_extension` | `'.wiki'` | wiki file extension |
|
||||||
| `g:nuwiki_log_level` | `'warn'` | `error` \| `warn` \| `info` \| `debug` |
|
| `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_default_mappings` | `0` | `1` skips the keymap layer |
|
||||||
| `g:nuwiki_no_folding` | `0` | `1` skips foldexpr setup |
|
| `g:nuwiki_no_folding` | `0` | `1` skips foldexpr setup |
|
||||||
| `g:nuwiki_mouse_mappings` | `0` | `1` enables mouse maps |
|
| `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
|
## Usage
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ wiki_root=~/vimwiki
|
|||||||
file_extension=.wiki
|
file_extension=.wiki
|
||||||
syntax=vimwiki
|
syntax=vimwiki
|
||||||
log_level=warn
|
log_level=warn
|
||||||
|
diagnostic.link_severity=warn
|
||||||
[sample]
|
[sample]
|
||||||
wiki_root=/tmp/base
|
wiki_root=/tmp/base
|
||||||
file_extension=.md
|
file_extension=.md
|
||||||
syntax=vimwiki
|
syntax=vimwiki
|
||||||
log_level=debug
|
log_level=debug
|
||||||
|
diagnostic.link_severity=error
|
||||||
wikis[0].diary_rel_path=journal
|
wikis[0].diary_rel_path=journal
|
||||||
wikis[0].file_extension=.wiki
|
wikis[0].file_extension=.wiki
|
||||||
wikis[0].index=home
|
wikis[0].index=home
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ function! s:dump(payload) abort
|
|||||||
call add(s:lines, 'file_extension=' . a:payload.file_extension)
|
call add(s:lines, 'file_extension=' . a:payload.file_extension)
|
||||||
call add(s:lines, 'syntax=' . a:payload.syntax)
|
call add(s:lines, 'syntax=' . a:payload.syntax)
|
||||||
call add(s:lines, 'log_level=' . a:payload.log_level)
|
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')
|
if has_key(a:payload, 'wikis')
|
||||||
let l:i = 0
|
let l:i = 0
|
||||||
for l:w in a:payload.wikis
|
for l:w in a:payload.wikis
|
||||||
@@ -28,7 +31,7 @@ endfunction
|
|||||||
|
|
||||||
" Scenario 1: defaults (no globals set).
|
" Scenario 1: defaults (no globals set).
|
||||||
unlet! g:nuwiki_wiki_root g:nuwiki_file_extension g:nuwiki_syntax
|
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 add(s:lines, '[default]')
|
||||||
call s:dump(nuwiki#lsp#settings())
|
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_file_extension = '.md'
|
||||||
let g:nuwiki_syntax = 'vimwiki'
|
let g:nuwiki_syntax = 'vimwiki'
|
||||||
let g:nuwiki_log_level = 'debug'
|
let g:nuwiki_log_level = 'debug'
|
||||||
|
let g:nuwiki_link_severity = 'error'
|
||||||
let g:nuwiki_wikis = [
|
let g:nuwiki_wikis = [
|
||||||
\ { 'name': 'personal', 'root': '/tmp/personal',
|
\ { 'name': 'personal', 'root': '/tmp/personal',
|
||||||
\ 'file_extension': '.wiki', 'index': 'home',
|
\ 'file_extension': '.wiki', 'index': 'home',
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ local function dump(payload)
|
|||||||
emit('file_extension=' .. tostring(payload.file_extension))
|
emit('file_extension=' .. tostring(payload.file_extension))
|
||||||
emit('syntax=' .. tostring(payload.syntax))
|
emit('syntax=' .. tostring(payload.syntax))
|
||||||
emit('log_level=' .. tostring(payload.log_level))
|
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
|
if payload.wikis then
|
||||||
for i, w in ipairs(payload.wikis) do
|
for i, w in ipairs(payload.wikis) do
|
||||||
local keys = {}
|
local keys = {}
|
||||||
@@ -53,6 +56,7 @@ config.apply({
|
|||||||
file_extension = '.md',
|
file_extension = '.md',
|
||||||
syntax = 'vimwiki',
|
syntax = 'vimwiki',
|
||||||
log_level = 'debug',
|
log_level = 'debug',
|
||||||
|
diagnostic = { link_severity = 'error' },
|
||||||
wikis = {
|
wikis = {
|
||||||
{
|
{
|
||||||
name = 'personal',
|
name = 'personal',
|
||||||
|
|||||||
Reference in New Issue
Block a user