Skip to content

[WiP] Skip level lists#20088

Closed
mmotyczynska wants to merge 53 commits into
masterfrom
cc/epic/9587-skip-level-lists
Closed

[WiP] Skip level lists#20088
mmotyczynska wants to merge 53 commits into
masterfrom
cc/epic/9587-skip-level-lists

Conversation

@mmotyczynska
Copy link
Copy Markdown
Contributor

🚀 Summary

A brief summary of what this PR changes.


📌 Related issues


💡 Additional information

Optional: Notes on decisions, edge cases, or anything helpful for reviewers.


🧾 Checklists

Use the following checklists to ensure important areas were not overlooked.
This does not apply to feature-branch merges.
If an item is not relevant to this type of change, simply leave it unchecked.

Author checklist

  • Is the changelog entry intentionally omitted?
  • Is the change backward-compatible?
  • Have you considered the impact on different editor setups and core interactions? (e.g., classic/inline/multi-root/many editors, typing, selection, paste, tables, lists, images, collaboration, pagination)
  • Has the change been manually verified in the relevant setups?
  • Does this change affect any of the above?
  • Is performance impacted?
  • Is accessibility affected?
  • Have tests been added that fail without this change (against regression)?
  • Have the API documentation, guides, feature digest, and related feature sections been updated where needed?
  • Have metadata files (ckeditor5-metadata.json) been updated if needed?
  • Are there any changes the team should be informed about (e.g. architectural, difficult to revert in future versions or having impact on other features)?
  • Were these changes documented (in Logbook)?

Reviewer checklist

  • PR description explains the changes and the chosen approach (especially when performance, API, or UX is affected).
  • The changelog entry is clear, user‑ or integrator-facing, and it describes any breaking changes.
  • All new external dependencies have been approved and mentioned in LICENSE.md (if any).
  • All human-readable, translateable strings in this PR been introduced using t() (if any).
  • I manually verified the change (e.g., in manual tests or documentation).
  • The target branch is correct.

…odel

Allow skip level lists in the model (commands and postfixers).
…ists

Downcast skip-level lists to valid HTML
Comment thread packages/ckeditor5-list/src/list/converters.ts
@mmotyczynska mmotyczynska requested a review from a team as a code owner April 21, 2026 09:51
…ed-lists

Extend autoformat for lists to accept any number.
…nto cc/9765-changing-list-start-after-skip-level-not-visible
…fter-skip-level-not-visible

Improve detecting which items should be reconverted when using skip-level lists.
…r-skip-level

Tab before list item at indent 0 after a skip-level should indent list item.
…m-after-skip-level-error

Backspace before a nested list item should not fail when there is no previous item to merge with (skip level list).
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 5160363. Configure here.

{ additionalAttributes: { listStart: parseInt( match[ 1 ] ) } } :
undefined
);
} );
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undo-on-backspace triggered when autoformat callback declines

Low Severity

When the numbered-list autoformat callback returns false (because the selection is already inside a numbered list), blockAutoformatEditing still calls requestUndoOnBackspace() unconditionally. Previously, the command-string approach exited before enqueueChange when command.value === true, avoiding this side effect. Now, typing something like "5. " inside an existing numbered list item correctly preserves the text, but the next backspace press may trigger an undo of the entire recent typing batch instead of just deleting the space character.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5160363. Configure here.

@mmotyczynska
Copy link
Copy Markdown
Contributor Author

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants