processing / processing/processing4
Improvements and Next Steps for the Processing Language Server (LSP)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 494
- Forks
- 183
- Avg merge
- 4h 39m
- Merged PRs (30d)
- 3
Description
We’re revisiting the Processing Language Server with the goal of improving support for writing and editing Processing code outside the PDE.
Background
Several contributors have laid important groundwork for this effort:
- Initial work by @kgtkr was incorporated for Processing 4.1. They also built a minimal Processing LSP client for VSCode.
- Further work by @efratror was included in Processing 4.3 (see https://github.com/processing/processing4/issues/678 and https://github.com/processing/processing4/issues/690)
- As part of the
pr05grant in 2024, @diyaayay worked on another VS Code extension though it did not make use of the built-in LSP.
Proposed Improvements
We’d like to improve and extend the current functionality of the built-in LSP. Priorities are:
- Display parameter names in function signatures (e.g.,
copy(sx, sy, sw, sh, dx, dy, dw, dh)) should show named parameters - "Go to declaration" for built-in functions and classes (linking to Processing source code when possible)
- Hover documentation for built-in functions and core classes
- Support for overloaded functions (e.g.,
colorMode(mode),colorMode(mode, max),colorMode(mode, max1, max2, max3))
If you're interested in contributing or discussing further, feel free to comment here.
Thanks again to everyone who has contributed to this work so far!
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 by reviewing the current built-in Processing Language Server and the prior work linked in this issue, including issues 564, 678, and 690. Compare its behavior with the listed priorities, then define a focused contribution whose completion can be checked against one specific LSP capability.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100