A syntax highlighter for FileMaker custom functions and expressions inside Visual Studio Code. Designed to highlight custom functions, user-defined variables, Let
blocks, and nested expressions like Case()
and If()
Highlights:
Let ( [ x = 5 ; ... ] ; ... )
declarations- Variables
myValue
- Built-in FileMaker functions (e.g.,
Substitute
,Evaluate
,GetAsText
) - User-defined function calls (e.g.,
myCustomerFunction
) - Nested expressions inside
Case()
andIf()
blocks - Strings, numbers, operators, and comments (line
//
and block/* ... */
)
- Download the latest
.vsix
release from the Releases tab - Unzip
- In a VS Code terminal, run:
code --install-extension path/to/filemaker-syntax-0.1.0.vsix
- Open any
.fm
,.fmfunc
,.fmfn
,.calc
or.filemaker
file and selectFileMaker
as the language (bottom-right corner)
git clone https://github.com/craftyfm/filemaker-vscode-extension.git
cd vscode-filemaker-syntax
npm install -g @vscode/vsce
vsce package
code --install-extension ./filemaker-syntax-0.1.0.vsix
The extension targets the following file types:
.fmfunc
.filemaker
.fm
.fmfn
.calc
You can manually set the language to FileMaker
in VS Code if auto-detection does not occur.
This extension is compatible with all VS Code themes. For best results, we recommend:
- Dark+
- Monokai
- One Dark Pro
To customize token colors, add editor.tokenColorCustomizations
in your settings.json
.
Element | Scope |
---|---|
Let variables |
variable.parameter.let.filemaker |
myVar / $$global |
variable.other.filemaker |
Unscoped vars | variable.other.unscoped.filemaker |
Function calls | entity.name.function.filemaker |
Built-in functions | support.function.filemaker |
Case results | variable.result.case.filemaker |
Strings | string.quoted.double.filemaker |
Block comments | comment.block.filemaker |
Use Developer: Inspect Editor Tokens and Scopes
to inspect live.
To work on the extension:
- Clone the repo
- Run in development mode:
code .
F5 → Extension Development Host
Open test files like sample.fm
to preview highlighting in real time.
MIT License Copyright © 2025 Stuart Russell
Pull requests are welcome! Please include test cases and follow the structure of the existing grammar. Feel free to submit improvements to the scope coverage or styling. Start an issue or discussion.
Built for FileMaker developers who want better tools.