processing / processing/p5.js-web-editor

Re-integrate Emmet Auto-Rename Tag

Open
#3,873 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area:Editor Bug Ready for Work
Dominant language
JavaScript
Stars
1.7k
Forks
1.7k
Avg merge
3d 4h
Merged PRs (30d)
8

Description

Notes
This issue is part of the ongoing work to upgrade CodeMirror from v5 to v6 (see the parent issue for additional context). This also references the develop-codemirror-v6 branch for development, and not the main develop branch.

You can also gain a better understanding of how CodeMirror v6 works by referring to their Reference Manual.

Background and Implementation

In the current p5.js editor, when a user edits an HTML tag the opening and closing tags would be automatically updated to match. This behavior is missing in the CodeMirror v6 branch.

We probably want to update the portion around line 357 in the stateUtils.js file to implement the automatic tag renaming.

Suggestions to Start
  • Check if CodeMirror v6 or Emmet potentially provides a helper extension to handle this.

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

Work on the develop-codemirror-v6 branch and inspect the portion around line 357 in stateUtils.js. Read the CodeMirror v6 Reference Manual and check whether CodeMirror or Emmet provides an auto-rename helper; done means editing an HTML tag updates its matching opening or closing tag in the editor.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
56/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.