logo

Synvert

Table of Contents

Synvert Component

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

GUI Generate Snippet

GUI Search Results

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

Search snippet

Generate snippet

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”.