- Rust 80.7%
- MDX 11%
- Shell 2.5%
- CSS 2.4%
- Astro 1.8%
- Other 1.6%
Problem The nightly workflow publishes tags/releases, but its status context is currently rendered under the nightly workflow prefix instead of the deploy namespace. Solution Rename the nightly workflow from nightly to deploy while keeping the job name as Nightly. The rendered main-push context should become: - deploy / Nightly (push) The nightly release behavior, main-push trigger, and quality wait gate are unchanged. Verification - Parsed .forgejo/workflows/nightly.yaml with PyYAML. - Ran git diff --check. Reviewed-on: #160 |
||
|---|---|---|
| .forgejo | ||
| .github/workflows | ||
| examples | ||
| man | ||
| scripts | ||
| site | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
vimdoc-language-server
Language server for vim help files.
Installation
Cargo
cargo install vimdoc-language-server
Nix
nix run git+https://git.barrettruth.com/barrettruth/vimdoc-language-server.git
From source
git clone https://git.barrettruth.com/barrettruth/vimdoc-language-server.git
cd vimdoc-language-server
cargo install --path .
Usage
Configure vimdoc-language-server in your editor of choice, for example with
Neovim via
nvim-lspconfig:
vim.lsp.enable('vimdoc_ls')
CLI
The server also provides standalone CLI subcommands that work without an editor.
Format vimdoc files (in-place or check-only for CI):
vimdoc-language-server format doc/
vimdoc-language-server format --check doc/*.txt
vimdoc-language-server --line-width 80 format doc/
Check for diagnostics (duplicate tags, unresolved taglinks):
vimdoc-language-server check doc/
vimdoc-language-server check --ignore unresolved-tag doc/
Features
- Formatting — separator normalization, prose reflow, heading alignment; range formatting supported
- Diagnostics — duplicate
*tag*definitions (same-file and cross-file), unresolved|taglinks|; push, pull, and CLI (check) - Completion — tag completion triggered by
|, context-aware - Hover — tag definition context in a floating window
- Go-to-definition —
|tag-ref|to*tag*, same-file and cross-file - References — all
|taglinks|referencing a*tag*, cross-file - Rename — rename a tag and all its references across the workspace
- Document symbols — all
*tag*definitions in the current file - Document highlight — highlight all occurrences of a tag under cursor
- Document links — clickable
|taglinks|with tooltip - Folding — sections (between separators) and code blocks
- Code actions — quick fixes and refactors
Release
Numbered releases are explicit maintainer actions from a clean, up-to-date
main branch. First, prepare the release PR:
just release 0.2.3
The command bumps Cargo and Nix package metadata, regenerates manpages, runs CI,
checks cargo publish --dry-run, commits the release on a release/v* branch,
pushes that branch, and opens a Forgejo PR. After the PR merges, tag the merged
main commit:
just release 0.2.3 --tag
Forgejo publishes crates.io and replaces the release assets from the tag
workflow. Use just release 0.2.3 --dry-run to run the release checks without
keeping a commit, branch, tag, or push.
Acknowledgements
- @skewb1k - pull diagnostics deduplication fix