Skip to content

bug: enable render-markdown will disable markdown treesitter's directives conceal_lines which may broken some other plugin's doc render(like blink.cmp) #577

@celeste3z

Description

@celeste3z

Neovim version (nvim -v)

0.11.5

Neovim distribution

N/A

Operating system

WSL

Terminal emulator / GUI

kitty

Describe the bug

when enable the render-markdown plugin, I found that blink's (blink.cmp) documentation window cannot conceal the code block line, jut like the picture shown below:
Image

without render-markdown enable, blink's documentaiotn rendered like this, it works well:
Image

I found that enabling render-markdown plugin will disable the conceal_lines directives, which caused this issue

Image

blink doc buffer's filetype is blink-cmp-documentation but not markdown, not same with lsp hover, so render-markdown cannot attached to it. (Using vim.treesitter.language.register('markdown', 'blink-cmp-documentation') is a way to circumvent this issue.)

I'm confused why the conceal_lines directive has to be disabled when render-markdown is enabled?

Expected behavior

not broken other plugins's render.

Healthcheck output

==============================================================================
render-markdown:                                                            ✅

render-markdown.nvim [versions] ~
- ✅ OK neovim >= 0.11
- ✅ OK tree-sitter ABI: 15
- ✅ OK plugin: 8.10.9

render-markdown.nvim [configuration] ~
- ✅ OK valid

render-markdown.nvim [tree-sitter markdown] ~
- ✅ OK parser: installed
- ✅ OK ABI: 15
- ✅ OK highlights: ~/.local/share/nvim/site/queries/markdown/highlights.scm
- ✅ OK highlighter: enabled

render-markdown.nvim [tree-sitter markdown_inline] ~
- ✅ OK parser: installed
- ✅ OK ABI: 15
- ✅ OK highlights: ~/.local/share/nvim/site/queries/markdown_inline/highlights.scm

render-markdown.nvim [tree-sitter html] ~
- ✅ OK parser: installed
- ✅ OK ABI: 14

render-markdown.nvim [tree-sitter yaml] ~
- ✅ OK parser: installed
- ✅ OK ABI: 14

render-markdown.nvim [icons] ~
- ✅ OK using: mini.icons

render-markdown.nvim [conflicts] ~
- ✅ OK headlines: not installed
- ✅ OK markview: not installed
- ✅ OK obsidian: not installed

Plugin configuration

{
    "MeanderingProgrammer/render-markdown.nvim",
    ft = { "markdown" },
    init = function()
      vim.treesitter.language.register("markdown", "vimwiki")
    end,

    opts_extend = { "file_types" },

    ---@module 'render-markdown'
    ---@type render.md.UserConfig
    opts = {
      file_types = { "markdown", "vimwiki" },

      on = {},

      completions = {
        blink = { enabled = true },
      },
      heading = {
        sign = false,
        position = "inline",
        width = "block",
        left_pad = 1,
        right_pad = 1,
        icons = { "󰲠  ", "󰲢  ", "󰲤  ", "󰲦  ", "󰲨  ", "󰲪  " },
      },
      checkbox = {
        unchecked = { icon = "󰄱 " },
        checked = { icon = "󰄵 ", scope_highlight = "@markup.strikethrough" },
        custom = {
          todo = { raw = "[-]", rendered = "󰅐 ", highlight = "RenderMarkdownTodo", scope_highlight = nil },
        },
      },
      code = {
        sign = false,
        language_icon = true,
        language_name = false,
        left_pad = 2,
        right_pad = 2,
        border = "thin",
        position = "left",
        style = "full",

        highlight_inline = "none",
      },
      sign = {
        enabled = false,
      },
      indent = {
        enabled = false,
      },
      latex = {
        enabled = false,
      },
      link = {
        hyperlink = "",
      },

      overrides = {
        buftype = {
          -- LSP hovers special
          nofile = {
            code = { border = "hide", style = "normal", disable_background = true, left_pad = 0, right_pad = 0 },
            heading = { icons = { "", "", "", "", "", "" } },
          },
        },
      },
    },
    keys = {
      {
        "<leader>ump",
        "<cmd>RenderMarkdown toggle<cr>",
        desc = "toggle markdown render",
      },
    },
  }

Plugin error log

N/A

Confirmations

  • I have updated this plugin to the latest version using my plugin manager
  • I have updated all treesitter parsers (:TSUpdate)
  • I have provided the text contained in all screenshots as raw text in this issue. This means if there is a screenshot below it is the copy pasted contents of the file in the screenshot. I understand that my issue will be closed if I have not.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions