Helix Query Language Extension
This extension provides syntax highlighting and language support for Helix Query Language (HelixQL) files.
Features
- Syntax highlighting for
.hx
and .hql
files with automatic colorization
- Language server integration for diagnostics and hover information
- Support for HelixQL schema definitions (nodes, edges, vectors)
- Query syntax highlighting with proper scoping
- Automatic color scheme - works with any VS Code theme
File Extensions
The extension supports files with the following extensions:
.hx
- Helix Query files
.hql
- Helix Query Language files
Automatic Syntax Highlighting
The extension automatically provides rich syntax highlighting for HelixQL files with the following color-coded elements:
- Keywords:
QUERY
, RETURN
, WHERE
, etc. in purple/magenta
- Schema Types:
N::
, E::
, V::
in blue
- Traversal Operators:
::Out
, ::In
, ::WHERE
in yellow
- Creation Operators:
AddN
, AddE
, AddV
in teal
- Punctuation: Different colors for different bracket types:
<>
(generics) in bright yellow
()
(parameters) in magenta
{}
(blocks) in gold
[]
(arrays) in orange-red
- Variables: Light blue for identifiers and field names
- Types: Blue for primitive types like
String
, I32
, etc.
- Strings: Orange for string literals
- Numbers: Light green for numeric values
- Comments: Green and italic
The colors are automatically applied to your existing theme - no configuration required!
Advanced Customization (Optional)
If you want to customize the colors further, you can override them in your VS Code settings.json
:
{
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "punctuation.definition.generic.begin.helixql",
"settings": {
"foreground": "#YOUR_COLOR_HERE"
}
}
]
}
}
Available Scopes
The following TextMate scopes are available for customization:
Keywords
keyword.control.helixql
- Control keywords (RETURN, WHERE, etc.)
keyword.other.query.helixql
- QUERY keyword
keyword.other.node.helixql
- N:: prefix
keyword.other.edge.helixql
- E:: prefix
keyword.other.vector.helixql
- V:: prefix
keyword.operator.traversal.helixql
- Traversal operators (::Out, ::In, etc.)
keyword.operator.creation.helixql
- Creation operators (AddN, AddE, etc.)
Punctuation
punctuation.separator.double-colon.helixql
- :: separator
punctuation.separator.dot.helixql
- . separator
punctuation.separator.comma.helixql
- , separator
punctuation.definition.generic.begin.helixql
- < for generics
punctuation.definition.generic.end.helixql
- > for generics
punctuation.definition.parameters.begin.helixql
- ( for parameters
punctuation.definition.parameters.end.helixql
- ) for parameters
punctuation.definition.block.begin.helixql
- { for blocks
punctuation.definition.block.end.helixql
- } for blocks
punctuation.definition.array.begin.helixql
- [ for arrays
punctuation.definition.array.end.helixql
- ] for arrays
Variables and Types
variable.other.helixql
- Variable names
variable.parameter.helixql
- Parameter names
variable.other.field.helixql
- Field names
entity.name.function.helixql
- Function names
entity.name.type.helixql
- Type names
support.type.primitive.helixql
- Primitive types
Language Server
The extension includes a language server that provides:
- Real-time diagnostics for syntax and semantic errors
- Hover information for HelixQL keywords and operations
- Schema validation
Requirements
Installation
Install from the VS Code marketplace or install the .vsix
file directly.
Development
To build and package the extension:
npm install
npm run compile
npm run package