{"id":22107807,"url":"https://github.com/mborik/z80-macroasm-vscode","last_synced_at":"2025-07-25T03:32:50.471Z","repository":{"id":45540532,"uuid":"126688534","full_name":"mborik/z80-macroasm-vscode","owner":"mborik","description":"Support for Z80 macro-assemblers in Visual Studio Code","archived":false,"fork":false,"pushed_at":"2023-05-09T07:05:02.000Z","size":728,"stargazers_count":42,"open_issues_count":0,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2023-08-19T15:23:29.655Z","etag":null,"topics":["formatter","intellisense","problem-matcher","syntax-highlighting","visual-studio-code","vscode","vscode-extension","z80","z80-assembly","z80asm"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=mborik.z80-macroasm","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mborik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-25T10:59:07.000Z","updated_at":"2023-07-20T23:01:50.000Z","dependencies_parsed_at":"2022-09-23T03:25:46.806Z","dependency_job_id":null,"html_url":"https://github.com/mborik/z80-macroasm-vscode","commit_stats":null,"previous_names":[],"tags_count":18,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborik%2Fz80-macroasm-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborik%2Fz80-macroasm-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborik%2Fz80-macroasm-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mborik%2Fz80-macroasm-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mborik","download_url":"https://codeload.github.com/mborik/z80-macroasm-vscode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227517395,"owners_count":17782829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["formatter","intellisense","problem-matcher","syntax-highlighting","visual-studio-code","vscode","vscode-extension","z80","z80-assembly","z80asm"],"created_at":"2024-12-01T08:27:24.778Z","updated_at":"2025-07-25T03:32:50.455Z","avatar_url":"https://github.com/mborik.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Support for Z80 macro-assemblers in Visual Studio Code\n\nThe **Z80 Macro-Assembler** extension for Visual Studio Code provides the following features inside VS Code:\n\n* syntax highlighting for Z80 assembly sources of well known Z80 macro-assemblers, for example:\n  - [SjASM](http://www.xl2s.tk/) or [SjASMPlus](https://github.com/z00m128/sjasmplus)\n  - [Macroassembler AS](http://john.ccac.rwth-aachen.de:8000/as/)\n  - [Pasmo](http://pasmo.speccy.org/)\n  - [rasm](http://www.roudoudou.com/rasm/)\n  - [tniASM](http://www.tni.nl/products/tniasm.html) (v0.x series)\n* [problem matchers](#problem-matchers) for **SjASMPlus**, **Macroassembler AS**, **Pasmo**, **rasm** and **tniASM** compilation output\n* label or symbol [defintion documentation](#definitions), suggestions on hover or typing\n* macro documentation and argument definition suggestions\n* semi-automatic [completition](#completion) with formatting\n* [renaming](#renaming) of labels or symbols\n* [formatting](#formatter) of block or whole document (experimental feature)\n* snippets for macros and source control keywords\n\n## ⚙️ Settings\n\nThese few options allows you to configure extension's behavior but primarily your code-formatting preferences and code completion:\n\n- `z80-macroasm.files.exclude` - Choose files or directories to exclude _(e.g `'**/*.{lst}'`)_.\n- `z80-macroasm.files.include` - Files to include and work with. If you, or your macro-assembler using a different conventions of source file extensions then change it here.\n  \u003e default: `\"**/*.{a80,asm,inc,s}\"`\n- `z80-macroasm.seekSymbolsThroughWorkspace` - If true, extension will crawl through all your workspace files to document all symbols. Otherwise, only includes are taken into account.\n  \u003e default: `false`\n- `z80-macroasm.suggestOnInstructions` - Extension will suggest also basic instruction mnemonics for the auto-completion, not only instruction arguments.\n  \u003e default: `false`\n- `z80-macroasm.suggestCommitWithCustomKeys` - Extension will commit suggesttions with extension's custom keys (enter, tab, or comma). Otherwise, only predefined shortcut will commit suggestion.\n  \u003e default: `false`\n\n### Formatter:\n- `z80-macroasm.format.enabled` - Turn on the experimental feature of format on-type or on-save.\n  \u003e default: `false`\n- `z80-macroasm.format.baseIndent` - How many tabstops you prefer before the instructions or keywords.\n  \u003e default: `2`\n- `z80-macroasm.format.controlIndent` - How many tabstops you prefer before the control structure keywords, selections, modules, or blocks.\n  \u003e default: `1`\n- `z80-macroasm.format.whitespaceAfterInstruction` - Which type of whitespace you want to put after the instruction - `\"tab\"`, `\"single-space\"` or `\"auto\"` which autodetect file's tabstop type and width.\n  \u003e default: `\"auto\"`\n- `z80-macroasm.format.spaceAfterArgument` - If you want to put a single space character after comma (instruction's argument).\n  \u003e default: `false`\n- `z80-macroasm.format.spaceAfterInstruction` - If you want to put a single space character after instruction (before colon separator).\n  \u003e default: `true`\n- `z80-macroasm.format.spacesAroundOperators` - If you want to wrap an operators with spaces.\n  \u003e default: `false`\n- `z80-macroasm.format.uppercaseKeywords` - If true, uppercase all keywords, instructions and registers. False means all lowercased and `\"auto\"` tries to auto-detect your code-style while typing.\n  \u003e default: `\"auto\"`\n- `z80-macroasm.format.bracketType` - Define which type of brackets around the instruction's arguments (pointers) you prefer: `(round)` or `[square]`.\n  \u003e default: `\"no-change\"`\n- `z80-macroasm.format.colonAfterLabels` - Put colon after each label or symbol (true or false, `\"no-change\"` keeps it untouched).\n- `z80-macroasm.format.hexaNumberStyle` - Define which hexadecimal number format you prefer to reformat:\n  \u003e+ **\"no-change\"** - no reformat happen (default)\n  \u003e+ **\"hash\"**: `#1fff` | `#B45D`\n  \u003e+ **\"motorola\"**: `$1fff` | `$B45D`\n  \u003e+ **\"intel\"**: `1fffh` | `0B45Dh`\n  \u003e+ **\"intel-uppercase\"**: `1fffH` | `0B45DH`\n  \u003e+ **\"c-style\"**: `0x1fff` | `0xB45D`\n- `z80-macroasm.format.hexaNumberCase` - When reformatting of hexadecimal numbers was enabled, whether it's to be additional case processing applied when `true` means uppercased, `false` lowercased.\n  \u003e default: `\"no-change\"`\n- `z80-macroasm.format.splitInstructionsByColon` - Split colon separated instructions to lines.\n  \u003e default: `true`\n\nThese keys/values can be used in your workspace or global `settings.json`.\n[See example \u0026raquo;\u0026raquo;](https://github.com/mborik/z80-macroasm-vscode/wiki/settings.json)\n\n\n## 🚨 Problem matchers\n\nThere are some predefined problem matchers to handle reported errors from compilation output:\n- `errmatcher-as` for **Macroassembler AS**\n- `errmatcher-sjasmplus` for **SjASMPlus**\n- `errmatcher-sjasm` for **SjASM**\n- `errmatcher-pasmo` for **Pasmo**\n- `errmatcher-rasm` for **rasm**\n- `errmatcher-tniasm` and `errmatcher-tniasm-preprocessor` for **tniASM**\n\nThese values can be used in `.vscode/tasks.json` of your project's build task.\n[See example \u0026raquo;\u0026raquo;](https://github.com/mborik/z80-macroasm-vscode/wiki/tasks.json)\n\n\n## 💡 IntelliSense showcase\n\n### Symbol suggestions:\n- provide symbols or labels\n  - in current file in \"Go to Symbol in File...\" [`Ctrl+Shift+O`, `Cmd+Shift+O`]\n  - in all includes in \"Go to Symbol in Workspace...\" [`Ctrl+T`, `Cmd+T`]\n  - in Outline side-bar\n\n### Definitions:\n\u003e ![Definitions](images/z80-macroasm-definition.png)\n\n- Generated map of every symbol defined considers also modules or temporal labels:\n\u003e ![Peek Definition demo](images/z80-macroasm-definition-peek.gif)\n\n- Show symbol's value or specific definiton on hover:\n\u003e ![Hover over symbol demo](images/z80-macroasm-hover.gif)\n\n### Completion:\n\u003e ![Completion](images/z80-macroasm-completion.png)\n\n- Inteligent completion of directives, pseudo-instructions, Z80 instructions, registers, labels or symbols:\n\u003e ![Completion demo](images/z80-macroasm-completion-demo.gif)\n\n### Renaming:\n- Allow to rename labels, local labels, module names or macro indetifiers in InteliSense meaning.\n\u003e ![Renaming demo](images/z80-macroasm-rename.gif)\n\n\n## ⌨️ Credits\n\n**Martin Bórik** is leading the development of this extension with some inspirations from these VS Code extensions:\n- [`z80asm-vscode`](https://github.com/Imanolea/z80asm-vscode) by **Imanol Barriuso**\n- [`vscode-pasmo`](https://github.com/BouKiCHi/vscode-pasmo) by **BouKiCHi**\n- [`rgbds-vscode`](https://github.com/DonaldHays/rgbds-vscode) by **Donald Hays**\n\n#### Contributors:\n- [Romain Giot](https://github.com/rgiot)\n- [Néstor Sancho](https://github.com/theNestruo)\n- [Tomaz Kragelj](https://github.com/tomaz)\n- [Alexander Kovalenko](https://github.com/alexanderk23)\n- [Alexander Kolnogorov](https://github.com/kolnogorov)\n\n## 📋 License\n\nThe Z80 Assembly extension is subject to [these license terms](LICENSE).\n\nThe source code to this extension is available on [github](https://github.com/mborik/z80-macroasm-vscode) and licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmborik%2Fz80-macroasm-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmborik%2Fz80-macroasm-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmborik%2Fz80-macroasm-vscode/lists"}