Code fence lines are fully hidden in .qmd buffers unless a .md file was opened first
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 56/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- lua, neovim
Direzione di ricerca
Start by reproducing the issue in Neovim with a .qmd file opened before any .md file, then compare the behavior after opening Markdown. The report points to nvim-treesitter’s Markdown highlights.scm conceal rules and notes that setting conceallevel=0 restores the fences. Find the initialization path that differs between those cases; done when fence lines remain visible in the reported .qmd startup sequence without requiring the workaround.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In a .qmd buffer, the opening and closing lines of a fenced code block (```python / ```) are completely hidden unless the cursor is on them. If I first open any .md file in the same session and then open the .qmd, the fence lines are shown normally (screenshots below).
Findings
- The hiding seems to come from nvim-treesitter's markdown
highlights.scm, which setsconcealandconceal_linesonfenced_code_block_delimiterand theinfo_stringlanguage. - With
set conceallevel=0the fences reappear, so it's treesitter conceal, not syntax conceal (syntaxis empty,synconcealed()returns0). - The query file used is the same in both states.
- Manually loading render-markdown.nvim in the broken state (
:Lazy load render-markdown.nvim) changes nothing, and itsfile_typesdoesn't includequarto. So opening a markdown file triggers something else that affects.qmdbuffers.
Workaround
Creating a scratch buffer with filetype=markdown once, on the first quarto FileType event, fixes it:
vim.api.nvim_create_autocmd("FileType", {
-- When opening a quarto file with quarto-nvim, first trigger a load with render-markdown to ensure its proper initialization.
-- This works around an issue where loading a quarto file before markdown results in concealed code block fences.
pattern = "quarto",
once = true,
callback = function()
local scratch = vim.api.nvim_create_buf(false, true)
vim.bo[scratch].filetype = "markdown"
vim.schedule(function()
vim.api.nvim_buf_delete(scratch, { force = true })
end)
end,
})
Steps to reproduce
- Start Neovim and open a
.qmdfile containing a Python code block. - Move the cursor off the fence lines: they disappear.
- Open any
.mdfile, then delete the.qmdbuffer and reopen it: the fences are visible.
Environment
- Neovim: 0.12.4
- OS: macOS
- Distribution: LazyVim
- quarto-nvim / nvim-treesitter / render-markdown.nvim: v2.1.0 / e289100 / 245956d
- Config:
ft = "quarto", opts = { codeRunner = { enabled = true, default_method = "molten", }, }
Screenshots
.qmd opened first
.qmd opened after .md
- Lingua principale
- Lua
- Stelle
- 532
- Fork
- 21
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di quarto-dev/quarto-nvim
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
quarto-dev/quarto-nvim#127 · 4 reazioni ·
-
waiting
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
quarto-dev/quarto-nvim#122 · 3 commenti ·
-
enhancement waiting
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
quarto-dev/quarto-nvim#31 · 1 commento ·
-
add quarto-lspApertaenhancement waiting
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
quarto-dev/quarto-nvim#13 · 3 commenti · 1 reazione ·
Tutte le issue di quarto-dev/quarto-nvim
Issue simili
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
-
bug ready ticket
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Domktorymysli/vclu#5 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
portlandtn/VimConfigs#2 ·