This package contains the core language support features for Cypher built with ANTLR4.
The API is not yet properly documented, but here are two simple examples of what you can do!
npm install @neo4j-cypher/language-support@next
import {
autocomplete,
validateSyntax,
DbSchema,
} from '@neo4j-cypher/language-support';
const schema: DbSchema = { labels: ['Person'] };
autocomplete('MATCH (n:', schema); // yields CompletionItem[] containing "Person"
validateSyntax('RETRN 123', schema); // yields SyntaxDiagnostic[] with Invalid keyword, did you mean RETURN?This package includes a command-line tool for formatting Cypher queries using cypherfmt. After installation, you can use it via the cypherfmt command:
# Format a file and output to stdout
cypherfmt file.cy
# Format a file in place
cypherfmt -i file.cy
# Check if a file is formatted correctly (exits with code 1 if not formatted correctly)
cypherfmt -c file.cy
# Format all .cy, .cyp, and .cypher files in a directory recursively
cypherfmt directory/
# Format input from stdin
cat file.cy | cypherfmtFor more information, run cypherfmt --help.