CCGrep
ocaml-tree-sitter-semgrep
CCGrep | ocaml-tree-sitter-semgrep | |
---|---|---|
1 | 2 | |
6 | 1 | |
- | - | |
0.0 | 8.3 | |
about 3 years ago | 11 days ago | |
Java | JavaScript | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CCGrep
-
Semgrep: Like Grep but for Code
I wrote a small VS code extension and pre-commit hook that might meet 80% of your needs:
https://github.com/elanning/checkr
It is just simple regex at this time, but hopefully I can add something like CCGrep syntax in the future:
https://github.com/yuy-m/CCGrep
ocaml-tree-sitter-semgrep
-
Show HN: Semgrep App
Technically, OCaml only applies to Semgrep, as the app which is the subject of this post uses a more neo-traditional Python & TypeScript stack :)
I don't have full context on the parser core, but I do know that a major thing we've got going for OCaml is a translation layer we wrote for getting OCaml code generated based on tree-sitter grammars: https://github.com/returntocorp/ocaml-tree-sitter-semgrep
-
Semgrep: Like Grep but for Code
https://github.com/returntocorp/ocaml-tree-sitter/blob/maste... appears to be the general answer to your question, but navigating to the tree-sitter docs shows that tree-sitter has one in progress: https://github.com/tree-sitter/tree-sitter-swift so hopefully the machinery to incorporate it into semgrep will not be horrific
What are some alternatives?
refex - A syntactically aware search-and-replace tool for Python.
semgrep - Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
tree-sitter-swift - Swift grammar for tree-sitter
tree-sitter-swift - A tree-sitter grammar for the Swift programming language.
terraform-provider-aws - The AWS Provider enables Terraform to manage AWS resources.
Bear - Bear is a tool that generates a compilation database for clang tooling.
pfff - Tools for code analysis, visualizations, or style-preserving source transformation.