Skip to content

Turbo Macro Pro X support improvements#113

Closed
laplace7 wants to merge 29 commits intorolandshacks:masterfrom
laplace7:tmpx_improvements
Closed

Turbo Macro Pro X support improvements#113
laplace7 wants to merge 29 commits intorolandshacks:masterfrom
laplace7:tmpx_improvements

Conversation

@laplace7
Copy link
Copy Markdown

@laplace7 laplace7 commented Apr 21, 2026

This PR extends the branch from PR #99

  • Added schema for file project-config.json. That way code completion
    and documentation is available when users edits the file in vscode.
  • Improved tmpx build support:
    • respect project property "main" for main source file
    • added property "cwd" for the current working directory,
      where tmpx is executed. This is necessary so that
      .includes relative to the main.asm file work correctly.
  • Added Turbo Macro Pro specific files:
    • grammar
    • language
    • snippets
  • Added TMP 06 Compatibility settings:
    • Max Code Line Length
    • Max Comment Line Length
  • The languageId for assembly source files is now "tmpx" if
    the toolkit is "tmpx".
  • Added a simple tmpx code formatter.
    It only indents code lines that have no leading label.
    Comment lines (starting with a semi-colon) are not changed.
  • Removed acme, tmpx, kick from generic asm grammar as there are specific grammars already!
  • Removed duplicate command vs64.createProjectTmpx
  • Resolve all lables in all source files
  • Add problem matcher for llvm toolkit
  • Add problem matcher for cc65 toolkit
  • Modernize tmpx example (move code in folder src)

Llamato and others added 28 commits May 2, 2025 19:14
These are constants for representing PETSCII codes that can't be typed on PC
To avoid seeing all label uses as macro calls in instructions, such as `lda#const`, macros can only be invoked at the start of a line or after a label (maybe other cases?).

The loose detection of acme macros (`+...`) impacts operator usage; acme also should only be identifying macro calls before instructions.
It's hard to choose what scopes to use, out-of-the-box syntax colours for assembly are pretty poor for assembly in VSCode.
* Added schema for file project-config.json. That way code completion
  and documentation is available when users edits the file in vscode.
* Improved tmpx build support:
    - respect project property "main" for main source file
    - added property "cwd" for the current working directory,
      where tmpx is executed. This is necessary so that
      .includes relative to the main.asm file work correctly.
* Added Turbo Macro Pro specific files:
    - grammar
    - language
    - snippets
* Added TMP 06 Compatibility settings:
    - Max Code Line Length
    - Max Comment Line Length
* The languageId for assembly source files is now "tmpx" if
  the toolkit is "tmpx".
* Added a simple tmpx code formatter.
  It only indents code lines that have no leading label.
@laplace7
Copy link
Copy Markdown
Author

laplace7 commented Apr 21, 2026

I have tested all examples (acme, basic, basic_tsb, cc65, kick, llvm, oscar64, tmpx) under Linux Mint

  • opened the project, build and run it
  • confirmed that syntax highlighting works
  • confirmed that symbol references work
  • cc65, llvm, oscar64: symbol references do NOT seem to work in .c-files
  • entered a syntax error into the source file, saved the file, and confirmed that problem marker is displayed
  • removed the syntax error, build and run it
  • set break point, debug the program, single step through the program
  • basic_tsb: I have NOT tested debugging it, as I do not have Simon's BASIC!
  • tmpx: does NOT seem to have debug support yet!

I have added problem matches for llvm, cc65, tmpx as no problems were shown

@laplace7
Copy link
Copy Markdown
Author

laplace7 commented Apr 21, 2026

Closed PR. I have created a new PR #113 instead!
EDIT: This was the wrong PR.

@laplace7 laplace7 changed the title Tmpx support improvements Turbo Macro Pro X support improvements Apr 21, 2026
@rolandshacks
Copy link
Copy Markdown
Owner

Hi. While this all is impressive effort - the size of those PRs are a real challenge given the limited time for me to review.
Suggestion for step #1: would it be possible to create a PR that would just add the language grammar and syntax highlighting, not patching any logic?

@rolandshacks
Copy link
Copy Markdown
Owner

FYI: I currently doing some major refactoring which will soon come with 2.7.2+. Maybe that would be a better baseline for functional changes.

@laplace7
Copy link
Copy Markdown
Author

That sounds good.
I will wait after the refactoring and will then create smaller PRs.
Closing this PR now.

@laplace7 laplace7 closed this Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants