Hi again,
So, to clarify:
a) I don't think Rust support is ready yet to be merged with core: it's
in alpha state ([1] details some aspects that need work).
b) If we want to add Rust support to NetBeans we have to decide the best
way:
b.1) Create a "rust" branch in the main repo, add code there and keep on
improving it until things are ready to merge in core.
b.2) Create a repo of ours and let "rust" be an experimental plugin, and
keep on improving it there.
b.3) Keep on upgrading in my cloned repo until we're all happy.
We could start by deciding which option in "b)" best suites us. This may
apply also to future "NetBeans experiments" that we may want to get
involved into.
Cheers,
Antonio
[1]
An assorted list of bugs and features that we could add to Rust:
1. Lexer/Parser bugs
1.1. Lexer/parser are too detailed for an IDE, I think. We may not be
interested in lexing the internals of a comment, for instance. We may
want to simplify things.
1.2. We should recover nicely from Antlr4 lexer/parser errors. We
currently don't. (add arbitrary text to a .rs file and see how it fails)
2. Project/Properties/Licenses
The "Project/Properties/Licenses" (dependency to Ant Projects) dialog
opens, let's you choose a license, but then forgets. Licenses are never
applied to new files.
3. Project/Properties/Other
We need customizers for Rust projects. Choosing between Debug and
Release configurations, for instance.
4. Workspaces
Rust projects with workspaces (such as
https://github.com/rust-lang/regex) show the different Rust submodules
in the "Sources" node. We may want to handle these as we do with "Maven
Submodules".
5. Fonts & Colors
We want to add more fonts-colors to different tokens (macros, etc.)
6. Folding
Folds work for code blocks, but structs is missing.
7. Debugging
Before adding debugging, we need to extract the "gdb" support from the
"cnd" branch and add it somewhere in NetBeans. Maybe "ide/gdb*" is a
good destination?
8. Semantic HL
We may want to add semantic highlighting to different parts of the Rust
code (special coloring for mutable reference variables, for instance).
9. Options dialog
To select the "cargo" path.
10. Fonts and Colors dialog
With a sample .rs file, so people can modify fonts-colors easily.
11. Code completion
Of course. "rust-analyzer" (https://rust-analyzer.github.io/) is a
popular LSP server, I think.
On 15/2/23 22:21, Antonio wrote:
Hi,
It's currently integrated in my repo 😄. Whether this goes to core and
is released as a plugin is not clear yet, I think. That needs some
thought. Releasing it as a plugin has the advantage that it can have a
different lifecycle than the core.
On 15/2/23 19:48, John Kostaras wrote:
This is integrated into the core.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists