MacDownApp / MacDownApp/macdown

Re-formatting tool for list items

Open
#170 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Rich Text Format
Stars
9.8k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Ref #93.

Markdown ignores numbering in the source when rendering ordered lists. So even if your document goes

6. Foo
7. Bar
3. Baz

the resulted list would still have numbers 1, 2, and 3. Still, it is good practice in general to have a nice, ordered list in the source, both for readability and maintainability. One ”solution” to this is to always use identical numbering markers, e.g.

1. Foo
1. Bar
1. Baz

as recommended in #93. This is reasonable, and is implemented in PR #169. But it is still a setback in readability. For those who choose to use natural numbering, a auto-reformatting tool would be nice.

This tool should be able to trigger with a menu item. On triggering, all selected text in parsed, and ordered lists inside would be reformatted with ”correct” numbering. The correct format depends on the auto-increment option; if auto-increment is on, it’s natural numbering, otherwise it’s just 1. 1. 1. 1.. All text not selected would be left as-is. Indentation and nested lists (including unordered ones) should be kept. Only the numbering in ordered list items are redone.

Contributor guide

Open the contributing guide

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

Start from the menu-item entry point and review the related approach in PR #169 and issue #93. Define how selected text is parsed, then verify that ordered-list numbering changes while indentation, nested lists, unordered lists, and unselected text remain unchanged; the auto-increment option determines the expected numbering.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, objective-c
Domain
desktop, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.