Abas FO/FOP VS Code Extension
Syntax highlighting for Abas FO/FOP language files, suggestions and snippets (basic intellisense).
This is unofficial extension created using AI/LLM model. Creator is not related in any way with Abas ERP or company Forterro Deutschland Abas GmbH. Use at your own risk.
What It Highlights
- Comments starting with
..
- Interpreter directives such as
..!interpreter english declaration
- Known German and English FO dot commands from the quick reference
- Nested documented command families such as
.pc.exec, .pc.open, .dde.exec
- Labels starting with
!
- Double-quoted strings
- Variable substitutions such as
'U|xtext' and 'G|arg.i'
- Buffer variables such as
H|name, G|true, _F|defined
- User variables beginning with
x
- Command options such as
-encoding and selection options such as @group
- Types used with
.type / .art
- Conditions introduced by
?
- Numeric constants and basic operators
What It Suggests
The extension also registers an IntelliSense completion provider for Abas FO.
It suggests:
- Known FO commands, for example
.select, .formula, .type, .set
- Nested command families such as
.pc.exec, .pc.open, .dde.init, .dde.request
- Interpreter directive/options such as
..!interpreter english declaration noabbrev
- Common command options such as
-encoding, -text, -xml, -wait
- Selection options such as
@database, @group, @filingmode
- FO variable types for
.type / .art
- Common buffers/constants such as
U|, H|, G|true, G|arg.i, F|defined
Examples:
- Type
.se at the start of a line to get .select and .set.
- Type
.type to get FO variable type suggestions.
- Type
@gr in a selection string to get @group / @gruppe.
- Type
..! at the beginning of the first line to get the single-line interpreter directive.
Snippets
The extension contributes VS Code snippets for Abas FO.
Available snippet prefixes:
fo-template: full FOP template with ..!interpreter english declaration noabbrev, metadata comments, one command, and .end.
fo-header: interpreter directive plus metadata comments only.
fo-if: command guarded by a ? condition.
fo-jump: .continue plus label target.
Completion Language
English completions are the default. Change this in VS Code Settings by
searching for Abas FO: Completion Language, or set it directly in
settings.json:
"abasFo.completionLanguage": "english"
Supported values:
"english": English commands/options only, plus language-neutral entries.
"german": German commands/options only, plus language-neutral entries.
"both": English and German commands/options.
Install Locally
If needed, this extension can be installed locally. Copy or symlink this folder into your VS Code extensions directory, then reload VS Code.
ln -s ~/vscode-abas-fo ~/.vscode/extensions/abas-fo-language
After reloading VS Code, files ending in .fo, .fop, or .efop use the Abas FO language automatically.
Use examples/hello.fo to check highlighting and completions quickly.
Notes
Abas FO allows syntax-relevant characters to be redefined at runtime. This grammar handles the documented standard syntax: dot commands, .. comments, apostrophe variable substitution, ? conditions, and ! labels.
The completion provider is intentionally lightweight. It does not parse the complete FOP or infer exact database fields. It gives command-level and syntax-level suggestions from the copied FO documentation.