This is a VSCode extension adding language support for the Soar Cognitive Architecture.
For non-syntax highlighting IDE supports, please also install the Soar Language Server extension.
Pure TCL code is better highlighted by a dedicated TCL extension, of which there are a few good options in the VSCode marketplace. Alternatively, you can configure VSCode to use Soar synatx highlighting on TCL source files.
Through the UI, open a TCL file and run "Change Language Mode", select "Configure File Association for '.tcl'...", and select "Soar". This will add an override for all .tcl files opened in VSCode. Internally, VSCode adds the following setting to settings.json:
This setting can be configured in your global settings.json, in which case all .tcl files will treated as Soar. The same setting can be added to a workplace's .vscode/settings.json, which only modify the current workplace. Additionally, if your project mixes Soar-heavy and pure TCL files, the key *.tcl is a standard file path glob and be configured to match specific paths. For example
See the trello board for full list of known defects and ideas for future features.
Syntax highlighting drops a handlful of challenging valid constructs, and is overall more generous than the Soar are. Due to limitations in VSCode's grammar, syntax highlighting is loose on ordering; for example it will happily highlight
Fixed several issues that have come up now that the new Soar Language Server is displacing the old Eclipse Soar IDE, in particular some corner Soar cases and highlight TCL loop flow control.
Fix repository links (oops).
Hightlight modern NGS constants and add several illegal character checks.
Minor bug fix: widen the range of highlighted TCL proc names beyond simple alphanumerics.
Added primitive highlighting of TCL proc and if blocks. Error highlight unexpected sp tokens in production bodies. Comments should more everywhereable.
Improve WME attribute highlighting, don't break on more complex TCL code (recursive curly brackets), and a few minus fixes.
SoarUnit support! One of the few things that's super trivial in Textmate style grammars! Better support for TCL string highlighting, in particular curly bracket strings. Still operates under the assumption TCL strings contain either plain text without any weirdness or has Soar code, and highlights accordingly.
TCL and more complete Soar grammar! Hopefully the last major update TBH.
Initial release. Syntax highlighting mostly functional.