Playground Markdown tab: normalise before the no-change check, and match moved paragraphs' keys
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 56/100
Research direction
Read ApplyMarkdown and CarryKeys in samples/SIL.TextEditing.Playground/PlaygroundView.cs, along with the review of sillsdev/SIL.TextEditing#171 and the plan in issue #57. Check how normalization relates to AreEquivalent, then trace how paragraph keys are matched when paragraphs move. Done means normalization happens before the no-change check and moved unchanged paragraphs retain their keys through an LCS match.
Written by the indexing model from the issue text.
Description
Follow-ups from the review of sillsdev/SIL.TextEditing#171 (ApplyMarkdown in samples/SIL.TextEditing.Playground/PlaygroundView.cs):
- Runs are normalised to
Document.Normalizationafter theAreEquivalentno-change check, so Markdown that differs only in composed vs decomposed form records an undo step that changes nothing. Normalise first. CarryKeysmatches each new paragraph to the first equivalent old one in order, so moving a paragraph upward drops the keys of the paragraphs it passes. A longest-common-subsequence match would keep them. This matters for the real source mode (#57), whose plan keeps keys of unchanged paragraphs.
🤖 Generated with Claude Code
- Dominant language
- C#
- Stars
- 1
- Forks
- 0
- Avg merge
- 3h 55m
- Merged PRs (30d)
- 36
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sillsdev/motif
-
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
Maintainers usually reply within 1 day
-
Playground selection bar: comes back after Apply or scrolling while focus is in the Markdown paneOpentextediting
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
textediting
Difficulty 1/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
bug emitter:client:csharp
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
microsoft/typespec#12572 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
needs-area-label
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 2 days
-
AWS Lambda: KeyNotFoundException drops HTTP-triggered transactions when allowAllHeaders is disabledOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
newrelic/newrelic-dotnet-agent#3949 · 1 comment ·
Maintainers usually reply within 1 day
-
area-networking
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
dotnet/aspnetcore#70545 · 1 comment ·
Maintainers usually reply within 1 day
-
priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 80/100