Configuration
The server accepts configuration through CLI flags and editor
initializationOptions. When both are provided, initializationOptions
takes precedence.
CLI flags
| Flag | Default | Description |
|---|---|---|
-v, --verbose | warn | Log verbosity. Repeat for more: -v info, -vv debug, -vvv trace |
--log-file PATH | stderr | Write logs to a file instead of stderr |
--line-width N | 78 | Target line width for formatting |
--no-formatting | off | Disable formatting |
--reflow MODE | always | Prose reflow mode: always, only-if-too-long, never |
--normalize-spacing | off | Collapse multiple spaces to single space |
--no-diagnostics | off | Disable diagnostics |
--no-hover | off | Disable hover |
--tag-path PATH | — | Path to a Vim tags file or directory containing one. Repeatable |
--no-runtime-tags | off | Skip loading $VIMRUNTIME/doc/tags |
initializationOptions
Passed via your editor’s LSP configuration (e.g. init_options in Neovim).
| Key | Type | Default | Description |
|---|---|---|---|
lineWidth | number | 78 | Target line width |
formatting | boolean | true | Enable formatting |
reflow | string | "always" | "always", "only-if-too-long", or "never" |
normalizeSpacing | boolean | false | Collapse multiple spaces |
diagnostics | boolean | true | Enable diagnostics |
hover | boolean | true | Enable hover |
tagPaths | string[] | [] | Additional tag file paths |
runtimeTags | boolean | true | Load $VIMRUNTIME/doc/tags |
Precedence
CLI flags set the defaults. initializationOptions override them per-field.
If neither specifies a value, the server default applies.
tagPaths from both sources are merged — CLI --tag-path values and
initializationOptions.tagPaths are combined, not replaced.
Tag resolution
The server resolves |taglinks| in this order:
- Same-file
*tag*definitions - Workspace files (
doc/**/*.txtscanned at startup) - External
tagsfiles (from--tag-pathandtagPaths) $VIMRUNTIME/doc/tags(unless--no-runtime-tags)
External tags files use the Vim tags format — the same file generated by
:helptags. When a tag is resolved through an external file, the
corresponding .txt file is read on demand and cached.