Replies: 1 comment
-
Very cool that you've built your own P4 IDE support, and I hope we can fill that gap! Currently, the core P4 Analyzer team is divided into working on the LSP interface and the static analyzer. There hasn't been much discussion about formatters or linters, as we are in the early stages and need to achieve some production goals. That being said, once the analyzer-core progresses further, a separate interface for a linter would be good proposal and welcomed! A formatter would also be nice to have, but our current work does not align with its goals as much as a linter does. If you would like to develop one in parallel with analyzer-core, I'm sure we would be happy to help and integrate it into the project. We're a group with various skill levels, and any additions are appreciated! |
Beta Was this translation helpful? Give feedback.
-
Formatters (e.g. rustfmt, clang-format) and linters (e.g. rust-clippy, clang-tidy) are useful language tools. To build these tools, one need a language frontend. There is a P4 frontend in p4c, and another one in this project (maybe not mature now but expected to be in the future). I wonder if the p4analyzer team has evaluated developing these tools as part of p4analyzer in the longer term?
The background is I'm writing P4 code in my current company. But unlike popular general purpose programming language users, we (as P4 language users) have to come up with our own P4 IDE support. We have spent some time developing a basic LSP-like tool and a basic linter. But we don't have enough resource to devote to maintaining and improving these tools. I think ingesting some open source tools for P4 language support would be a more practical solution for us. And p4analyzer seems to be a promising one.
Formatter and linter are 2 important tools besides the LSP features already on p4analyzer's roadmap. I'm personally motivated to help with any effort towards these tools (including the LSP features, if any help is needed) in my free time.
Beta Was this translation helpful? Give feedback.
All reactions