with one click
with one click
Test markdown-oxide LSP changes by reproducing the issue and validating the fix in an editor (Neovim, Helix, or Zed).
Test markdown-oxide LSP features in Neovim
Test markdown-oxide LSP features in Zed
| name | testing-helix |
| description | Test markdown-oxide LSP features in Helix |
markdown-oxide is an LSP server for markdown/Obsidian vaults. Helix has built-in language server support for markdown-oxide -- no configuration files are needed. Just ensure the markdown-oxide binary is on PATH.
Verify that markdown-oxide LSP features work correctly in Helix, including wiki link completions, tag completions, and fuzzy matching against the TestFiles/ directory. Testing is done in two recorded phases: first reproduce/demonstrate the current behavior, then validate the fix or expected behavior.
cd ~/repos/markdown-oxide && cargo build
sudo cp target/debug/markdown-oxide /usr/local/bin/markdown-oxide
Verify it's on PATH: which markdown-oxide
HELIX_VERSION=$(curl -s "https://api.github.com/repos/helix-editor/helix/releases/latest" | grep -Po '"tag_name": "\K[0-9.]+')
wget -qO /tmp/helix.tar.xz "https://github.com/helix-editor/helix/releases/latest/download/helix-${HELIX_VERSION}-x86_64-linux.tar.xz"
sudo mkdir -p /opt/helix
sudo tar xf /tmp/helix.tar.xz --strip-components=1 -C /opt/helix
sudo ln -sf /opt/helix/hx /usr/local/bin/hx
Verify: hx --version
hx --health markdown
You should see: markdown-oxide: /usr/local/bin/markdown-oxide (with a checkmark). Helix has built-in support for markdown-oxide -- no additional configuration is needed.
Open a terminal emulator and launch Helix on TestFiles:
konsole --workdir ~/repos/markdown-oxide/TestFiles -e bash -c "hx Test.md" &
Wait for Helix to open. Verify the LSP is running: pgrep -a markdown-oxide
Testing is split into two recorded phases:
Start a screen recording (recording_start). Demonstrate the current state of each feature before any fix. This establishes a baseline and captures any issues:
recording_stop) when doneAfter applying the fix (rebuild markdown-oxide, copy to PATH, quit and relaunch Helix to restart the LSP):
recording_start)recording_stop) when doneTest each feature:
g then e to go to end of fileo to open a new line below (enters Insert mode)[[ -- a completion menu should appear with files, headings, and block references[[Reso should show "Resolved File" and "Resolved File#Resolved Heading")Escape and u to undo when doneo to open a new line, type #tatag, tag/subtag, tag/othersubtag, mapofcontent/tag, mapofcontent/tag/supertag, mapofcontent/tag/supertag/tagEscape and u to undo when done[[This is another link]]g then d for go-to-definitionSpace then k to show hover infoAfter both recording phases are complete, post the recordings as comments on the PR:
Use git_comment_on_pr to post the Phase 1 recording with a comment like:
Phase 1: Reproducing current behavior in Helix
Use git_comment_on_pr to post the Phase 2 recording with a comment like:
Phase 2: Validating fix in Helix
This provides reviewers with visual evidence of the issue and its resolution.
Undo any test edits: Escape, then u repeatedly.
Quit without saving: :q!
TestFiles/Test.md -- Main test file with headings, wiki links, block refs, tagsTestFiles/Resolved File.md -- Has # Resolved Heading and heading linksTestFiles/Another Test.md -- Has # This is a test heading and ## This is a nested test headingTestFiles/This is another link.md -- Target for wiki link navigation teststag/subtag)markdown-oxide) must be running (verify with pgrep)markdown-oxide binary is on PATH.[[ ) are NOT supported in Helix yet (as noted in the Features Index docs).hx --health markdown) is useful for verifying the LSP binary is detected.marksman as a configured language server for markdown. This is fine -- markdown-oxide takes priority if both are available.:log-open inside Helix to view the editor log for debugging LSP issues.cargo build (debug) is much faster than cargo build --release -- use debug for testing iterations.