Files
zed/docs/src/languages/markdown.md
T
a7e07010e5 editor: Add automatic markdown list continuation on newline and indent on tab (#42800)
Closes #5089

Release notes:
- Markdown lists now continue automatically when you press Enter
(unordered, ordered, and task lists). This can be configured with
`extend_list_on_newline` (default: true).
- You can now indent list markers with Tab to quickly create nested
lists. This can be configured with `indent_list_on_tab` (default: true).

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
2025-12-19 21:44:02 +05:30

2.3 KiB

Markdown

Markdown support is available natively in Zed.

Syntax Highlighting Code Blocks

Zed supports language-specific syntax highlighting of markdown code blocks by leveraging tree-sitter language grammars. All Zed supported languages, including those provided by official or community extensions, are available for use in markdown code blocks. All you need to do is provide a language name after the opening ``` code fence like so:

```python
import functools as ft

@ft.lru_cache(maxsize=500)
def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)
```

Configuration

Format

Zed supports using Prettier to automatically re-format Markdown documents. You can trigger this manually via the {#action editor::Format} action or via the {#kb editor::Format} keyboard shortcut. Alternately, you can automatically format by enabling format_on_save in your settings.json:

  "languages": {
    "Markdown": {
      "format_on_save": "on"
    }
  },

List Continuation

Zed automatically continues lists when you press Enter at the end of a list item. Supported list types:

  • Unordered lists (-, *, or + markers)
  • Ordered lists (numbers are auto-incremented)
  • Task lists (- [ ] and - [x])

Pressing Enter on an empty list item removes the marker and exits the list.

To disable this behavior:

  "languages": {
    "Markdown": {
      "extend_list_on_newline": false
    }
  },

List Indentation

Zed indents list items when you press Tab while the cursor is on a line containing only a list marker. This allows you to quickly create nested lists.

To disable this behavior:

  "languages": {
    "Markdown": {
      "indent_list_on_tab": false
    }
  },

Trailing Whitespace

By default Zed will remove trailing whitespace on save. If you rely on invisible trailing whitespace being converted to <br /> in Markdown files you can disable this behavior with:

  "languages": {
    "Markdown": {
      "remove_trailing_whitespace_on_save": false
    }
  },