Skip to content

Neovim undercurl still renders as a plain text-colored underline with Herdr 0.7.5 #2120

Closed as not planned

Description

@carlos-algms

Is this a reproducible bug?

  • I confirm this is a reproducible bug, not a feature request, idea, question, contribution proposal, or direction check.
  • I reproduced this bug on the version and environment reported below using the exact steps provided.

Current behavior

Neovim 0.12.4 inside a default Herdr pane renders an undercurl highlight as a straight underline using the text color.

The same minimal configuration renders a colored curly underline when Neovim starts with TERM=xterm-kitty.

Expected behavior

The configured curly underline and special color render inside a default Herdr pane.

Reproduction

  1. Save this as /tmp/undercurl.lua:
vim.o.termguicolors = true
vim.api.nvim_set_hl(0, "TestUndercurl", {
    undercurl = true,
    sp = "#6897BB",
})
vim.api.nvim_buf_set_lines(0, 0, -1, false, { "typoo" })
vim.api.nvim_buf_set_extmark(
    0,
    vim.api.nvim_create_namespace("undercurl-test"),
    0,
    0,
    { end_col = 5, hl_group = "TestUndercurl" }
)
  1. Start Neovim inside Herdr:
nvim --clean -u /tmp/undercurl.lua
  1. Observe a straight text-colored underline

  2. Quit and start the same test with:

TERM=xterm-kitty nvim --clean -u /tmp/undercurl.lua
  1. Observe a blue curly underline

Impact

Diagnostic underlines lose their configured shape and severity color inside Herdr.

Environment

  • Herdr version: 0.7.5
  • Update channel: stable
  • Operating system: macOS 26.5.2
  • Terminal: Kitty 0.48.1
  • Neovim: 0.12.4
  • Shell: zsh 5.9
  • Relevant config: default Herdr pane environment with TERM=xterm-256color and COLORTERM=truecolor

Related

Activity

  1. kangal-bot commented on Jul 31, 2026

    @kangal-bot
    Collaborator

    hi @carlos-algms, thanks for opening this.

    this issue uses extra markdown headings outside the bug report template.

    please use the exact template sections only. bug reports should describe observed behavior, exact reproduction steps, impact, and environment. extra root-cause analysis, proposed fixes, implementation plans, or generated diagnosis make reports harder to triage.

    closing this so the issue tracker stays limited to concise, actionable bug reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions