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
.vsixrelease 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,.calcor.filemakerfile and selectFileMakeras 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.vsixThe 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 HostOpen 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.