Do fewer linear searches of element stacks
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 288
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 8
Description
e.g. the open elements or active formatting elements. We search these when looking for elements in various scopes, and #77 adds more.
We could track open elements with a bitvector for each scope. Checking if one of a set of elements is open in a particular scope would be a simple bitmask test. We can choose bit patterns to match the static atom indices as well.
We should find an abstraction that makes it hard to screw up the book-keeping.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by reviewing the open-elements and active-formatting-elements stack searches, then read issue #77 to understand the additional scope checks. Design an abstraction for maintaining scope bookkeeping and verify that scope membership checks remain correct while reducing linear searches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- web-dev
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100