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
-encodingand 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
.seat the start of a line to get.selectand.set. - Type
.typeto get FO variable type suggestions. - Type
@grin 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:.continueplus 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.