Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>A-Shell Language ModuleNew to Visual Studio Code? Get it now.
A-Shell Language Module

A-Shell Language Module

MicroSabio

|
4 installs
| (0) | Free
A-Shell Basic language syntax highlighter, and a real Language Server (Go To Definition) for ASB.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

A-Shell Language Extension README

A-Shell Language Mode Extension for VSCode.

Features

  • Language mode for A-Shell
  • Syntax highlighting
  • Collapsible code sections
  • Go To Definition (both for function calls and ++include)
  • Dynamic scoping as files opened / closed; supports DevPPN & ersatz with ++include
  • Hover cursor over token (keyword, variable, function, ...) to see definition
  • Function signature help (pops up as parameters entered)

The language mode is automatically swapped to A-Shell for the following file extensions;

  • .bas
  • .bp
  • .bpi
  • .bsi
  • .stru
  • .map
  • .max
  • .bav
  • .mav
  • .r11
  • .r10
  • .lsx
  • .lst

If a file extension is not covered in the above list, then you can manually enable the A-Shell language by clicking the Select Language Mode in the bottom of the screen. Or by using Command Palette > Change Language Mode.

Known Issues

  • Labels (not functions) are not being recognised correctly and will not show/hide correctly

Release Notes

[1.3.2] - 13-Jul-26

  • Fix problem with ashell.miameIniPath not being recognized (when miame.ini not in the root directory of the workspace).

[1.3.1] - 13-Jul-26

  • Fixed ++include/$COPY resolution when the target's DEVICE= entry points at a UNC share (e.g. DEVICE=DSK43: "\\JACKX1\vm\miame\dsk43\").

[1.3.0] - 10-Jul-26

  • Fixed annoyance with treating literal file channel references as color a color decorator
  • Support the $COPY directive
  • Support ++INCLUDE'IF'EXISTS
  • Hitting the build command (Ctrl+Shift+B) from the context of include file that was accessed via a Go To Definition operation should now revert to compiling the main program. (This is mainly a convenience to deal with the common scenario where you compil a program, it reports errors in an include file, which you then Go To, fix, and hit Ctrl+Shift+B to re-compile. Aside from saving you the hassle of having to first figure out what happened, then click back on the main program and re-execute the build command, it also eliminates the accumulation of useless RUN and LSX files for include files.)
  • Add tracing improvement. To activate, open the Command Palette (Ctrl+Shift+P) and click on the A-Shell: Toggle Language Server Tracing, after which there'll be a lot more stuff output to the Output panel when you open a file.

[1.2.2] - 09-Jul-26

  • Packaging-only update: picks up manual edits to readme.md,compiler/compil.ps1, and samples/demo.bas. No server/client code changes.

[1.2.1] - 08-Jul-26

  • Fixed a bug in Signature Help

[1.2.0] - 07-Jul-26

  • Go To Definition, Hover, Completion, Diagnostics, Folding, and Signature Help added on top of the original syntax-highlighting-only extension, via a real Language Server (vscode-languageserver).
  • ++include resolution via A-Shell's DEVICE/ERSATZ file system (ashell.miameIniPath setting).
  • Indexing scoped to the union of currently-open documents' own ++include closures, not a whole-workspace scan -- a same-named declaration in an unrelated file elsewhere in the workspace tree no longer shows up as a spurious extra match, and indexing cost no longer scales with workspace size. Check the "A-Shell Language Server" Output channel for <uri> reaches N file(s) via ++include to verify this per file opened.
  • Signature Help is now aware of ASB's named-parameter calling convention (arguments in any order): typing name= highlights that exact parameter regardless of its declared position, and highlighting is suppressed (rather than guessing the wrong "next" parameter) once a named argument has already been used earlier in the same call.
  • Toggle Marked Comment command (ctrl+shift+1).
  • Auto-indent on Enter for block constructs.

1.2.1 [Release from MicroSabio] - 05-Jul-26

  • Support function signature dynamic help
  • Support Ctrl+Shift+1 to toggle/comment marked lines (using "!>!")

1.2.0 - 05-Jul-26

  • Add dynamic scoping (based on file opening/closing)
  • Support Go To Definition
  • Support Hover

1.1.0 - [MicroSabio Fork] - 04-Jul-26

  • Add an LSP to the 1.0.4 extension (several iterations assistance by Claude/Sonnet 5)
  • Train it with ashref.md June 30, 2026 version

1.0.4 [Update from OmniLedger]

  • unknown details

1.0.3 [Release]

  • Fixed collapsible sections for routines (labels)
  • Fixed highlighting for file channels
  • Fixed file associations, the list under features should now trigger the A-Shell language correctly

1.0.2

  • Compilation PS script compil.ps1
  • Comments to compil.ps1
  • compil.ps1 can now handle directory references with spaces

1.0.1

  • Improvement to the Regex for all keywords
  • More methods

1.0.0

  • Created basic functionality for the Syntax Highlighter using Text Grammars
  • A large selection of basic keywords, methods and functions

Compiler

  1. Open an A-Shell Project Workspace. If you don't have one, open the the highest level folder above your files (e.g. c:\vm\miame), then use Save Workspace As to save it (e.g. asb-code).
  2. Create a folder aux-files beneath that folder.
  3. Download compil.ps1 from A-Shell Extension Release or https://www.microsabio.net/dist/other/vscode.
  4. Add to aux-files folder (e.g. c:\vm\miame\aux-files\compil.ps1**
  5. Open compil.ps1 and read the comments for configuration
  6. Download https://www.microsabio.net/dist/other/vscode/tasks.json and open it from a temp dir.
  7. Download https://www.microsabio.net/dist/70rel/bin-win/compil-7.0.1084-w32.zip (or higher). You may be able to use an earlier version, but this is the first version that allows the compiler to run without being logged into an A-Shell directory, which is helpful in the VS Code environment. The default compil.ps1 expects compil.exe to be in c:\vm\apn but you can move it anywhere.
  8. Open Tasks: Open User Tasks
  9. Add the following object to tasks.json (copy and paste from step 6 if desired)
        {
            "label":   "A-Shell Compile",
            "type":    "shell",
            "command": "${workspaceFolder}\\aux-files\\compil.ps1",
            "args": [
                "${file}",
                "${workspaceFolder}"
            ],
            "options": {
                "cwd": ""
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always",
                "revealProblems": "always",
                "focus": false,
                "echo": true,
                "showReuseMessage": false,
                "panel": "shared",
                "clear": true
            },
            "problemMatcher": {
                "owner": "ashell",
                "fileLocation": [
                    "autoDetect",
                    "${fileDirname}"
                ],
                "pattern": {
                    "regexp": "^(\\d+),(.+),(\\d+),(.+),(.+)$",
                    "file": 2,
                    "line": 3,
                    "column": 1,
                    "message": 4,
                    "code": 5
                }
            }
        }

For more information

  • Visual Studio Code's Markdown Support
  • Markdown Syntax Reference
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft