MeanderingProgrammer / MeanderingProgrammer/render-markdown.nvim

bug: Tables don't render correctly if the pipe at the end of line is missing

Open
#673 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Lua
Stars
5.1k
Forks
141
PR merge metrics
No merged PRs in 30d

Description

Neovim version (nvim -v)

0.12.2

Neovim distribution

LazyVIM

Operating system

Linux (Arch, btw)

Terminal emulator / GUI

Alacritty

Describe the bug

Tables are not rendered correctly if the trailing pipe is omitted.
From GitHub-flawored markdown spec (common mark doesn't have tables):

A leading and trailing pipe is also recommended for clarity of reading, and if there’s otherwise parsing ambiguity.

Recommended - not required.

I usually omit the trailing pipes - the tables look ok in plain text without inserting dozens of empty spaces to align the right border.

Table like this should be valid and render correctly.
It looks good in plain text, without a need to insert dozens of spaces

| state  | dscription
|--------|---
| open   | port is accessible, and service is listening
| closed | port is accessible, but no service is listening
Expected behavior

Tables without a trailing pipe should be rendered correctly.

Healthcheck output
==============================================================================
render-markdown:                                                          3 ⚠️

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

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 latex] ~
- ⚠️ WARNING parser: not installed
  - ADVICE:
    - disable latex support to avoid this warning
      require("render-markdown").setup({
          latex = { enabled = false },
      })
- ⚠️ WARNING ABI: unknown
  - ADVICE:
    - disable latex support to avoid this warning
      require("render-markdown").setup({
          latex = { enabled = false },
      })

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

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

render-markdown.nvim [latex] ~
- ⚠️ WARNING none installed: { "utftex", "latex2text" }
  - ADVICE:
    - disable latex support to avoid this warning
      require("render-markdown").setup({
          latex = { enabled = false },
      })

render-markdown.nvim [conflicts] ~
- ✅ OK headlines: not installed
- ✅ OK markview: not installed
- ✅ OK obsidian: not installed
Plugin configuration
config {
  checkbox = {
    bullet = true,
    checked = {
      icon = ""
    },
    custom = {
      todo = {
        rendered = ""
      }
    },
    unchecked = {
      icon = ""
    }
  },
  code = {
    border = "thin",
    right_pad = 1,
    width = "block"
  },
  file_types = {
    [2] = "norg",
    [3] = "rmd",
    [4] = "org",
    [5] = "codecompanion"
  },
  heading = {
    icons = { vim.NIL, vim.NIL, vim.NIL, vim.NIL, vim.NIL, vim.NIL }
  },
  pipe_table = {
    border_enabled = false
  }
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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in Neovim using the Markdown table shown in the report and the supplied pipe_table configuration, then trace how the plugin recognizes tables without a trailing pipe. Done means the example renders correctly while preserving existing table behavior; add or run a focused regression test if the project has one.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua, markdown
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.