Synvert
Table of Contents
- Table of Contents
- Node Query
- Node Mutation
- Synvert Core
- Synvert Snippets
- Synvert CLI
- Synvert API
- Synvert GUI
- Synvert VSCode Extension
- Synvert Web (Playground)
- Why named “Synvert”?
Node Query
It defines a NQL (node query language) and node rules to query AST nodes.
The ruby version is here.
The javascript/typescript version is here.
Node Mutation
It provides a set of APIs to rewrite AST node source code.
The ruby version is here.
The javascript/typescript version is here.
Synvert Core
Synvert core makes use of node query and node mutation to define a set of DSLs to query and rewrite code.
The ruby version is here.
The javascript/typescript version is here.
Synvert Snippets
Synvert snippets use the synvert core DSLs to define how to fine AST nodes and how to rewrite the AST node source code.
The ruby version is here.
The javascript/typescript version is here.
Synvert CLI
Synvert CLI is a command line tool to run the synvert snippet to rewrite the source code.
The ruby version is here.
The javascript/typescript version is here.
Synvert API
Synvert API is a web API to query snippets, generate snippet and parse snippet.
Synvert GUI
Synvert GUI is a Windows and Mac app to use synvert.
Features
- Generate a snippet based on your inputs and outputs.
- List search results based on the snippet code.
Download
Mac App, it’s not signed, you need to Open Anyway.
Windows x64 App, it’s not signed and Microsoft SmartScreen will block it.
Synvert VSCode Extension
Synvert VSCode extension is a VSCode extension to use synvert.
Features
- Search and replace. After adding a snippet, you can search the code, and replace all or any of the results.
- Search a snippet. You can search a snippet by group, name or description.
- Generate a snippet. You can generate a snippet by adding some input codes and output codes.
Download
Synvert VSCode extension can be downloaded here
Synvert Web (Playground)
Synvert Playground is a web interface to play with synvert.
Node Playground is a web interface to play with node query and node mutation.
Why named “Synvert”?
The name “Synvert” is a combination of “Syntax” and “Convert”.