Skip to content

indentexpr breaks gq bulleted list formatting for liquid.markdown #23

@agude

Description

@agude

The indent/liquid.vim script sets indentexpr=GetLiquidIndent(), which overrides Neovim's default Markdown indent logic. This causes gq to incorrectly format wrapped list items in Jekyll posts, but only for bulleted lists (-, *). Numbered lists (1.) continue to format correctly.

The bug is present with Neovim 0.9.5 and Vim 8.2.2121.

Example of Bug

Before Formatting (gq)

---
title: foo
---
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."

1. "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo."

After Formatting (Actual Result)

The bulleted list is broken, but the numbered list is correct.

---
title: foo
---
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat."

1. "Sed ut perspiciatis unde omnis iste natus error sit voluptatem
   accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab
   illo inventore veritatis et quasi architecto beatae vitae dicta sunt
   explicabo."

After Formatting (Expected Result)

Both lists should be correctly indented.

---
title: foo
---
- "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
  consequat."

1. "Sed ut perspiciatis unde omnis iste natus error sit voluptatem
   accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab
   illo inventore veritatis et quasi architecto beatae vitae dicta sunt
   explicabo."

Workaround

An after/indent/liquid.vim file with the following content fixes the issue by restoring Neovim's default indent logic for the buffer:

setlocal indentexpr=

Apologies for not offering a patch to the function in question, my Vimscript is... essentially non-existent. 😅

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions