nvim-tree / nvim-tree/nvim-tree.lua
Move Renderer's Builder To A Member, Instantiated Once
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 8.6k
- Forks
- 639
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 2
Description
Builder is currently constructed every renderer:draw() which is expensive.
Change it to a member of Renderer
It currently appears to retain state, which will need to be cleared.
Rename it to something more meaningful: LineRenderer, LineBuilder or fold it into Renderer
Contributor 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.
Research direction
Start at the Renderer and Builder definitions and the renderer:draw() entry point. Trace which Builder state persists between draws and identify how it can be cleared when the instance is reused. Done means Builder is no longer constructed on every draw, its state is reset safely, and it has a more meaningful name or is folded into Renderer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100