Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite using sublime-syntax format #8

Closed
50 tasks done
13xforever opened this issue Oct 17, 2017 · 4 comments
Closed
50 tasks done

Rewrite using sublime-syntax format #8

13xforever opened this issue Oct 17, 2017 · 4 comments
Assignees
Milestone

Comments

@13xforever
Copy link
Owner

13xforever commented Oct 17, 2017

Sublime Text 3 has been released, and with it comes support for a new, more robust syntax highlighting definitions.

There's also a new documentation on recommended scope naming conventions.

This is really exciting, as it comes with more advanced features such as context stack and syntax testing facility. This allows for more modular and reusable syntax definition with less complexity and more breakage control.

Current plan includes:

  • Complete rewrite of the syntax definition, following more closely to NASM docs
    • General syntax
      • Pseudo-Instructions
      • Constants
      • Expressions
      • Labels
      • seg, wrt, etc.
    • Preprocessor
      • Single-Line Macros
      • String Manipulation in Macros
      • Multi-Line Macros: %macro
      • Conditional Assembly
      • Preprocessor Loops: %rep
      • Source Files and Dependencies
      • The Context Stack
      • Stack Relative Preprocessor Directives
      • User-Defined Errors: %error, %warning, %fatal
      • Other Preprocessor Directives
      • Standard Macros
    • Standard Macro Packages
      • altreg: Alternate Register Names
      • smartalign: Smart ALIGN Macro
      • fp: Floating-point macros
      • ifunc: Integer functions
    • Assembler Directives
      • BITS: Specifying Target Processor Mode
      • DEFAULT: Change the assembler defaults
      • SECTION or SEGMENT: Changing and Defining Sections
      • ABSOLUTE: Defining Absolute Labels
      • EXTERN: Importing Symbols from Other Modules
      • GLOBAL: Exporting Symbols to Other Modules
      • COMMON: Defining Common Data Areas
      • CPU: Defining CPU Dependencies
      • FLOAT: Handling of floating-point constants
      • [WARNING]: Enable or disable warnings
    • Format-specific Directives
      • bin
      • ith
      • srec
      • obj
      • win32
      • win64
      • coff
      • macho32
      • elfs
      • aout
      • aoutb
      • as86
      • rdf
      • dbg

Relevant branch: sublime-syntax

@13xforever 13xforever self-assigned this Oct 17, 2017
@13xforever 13xforever added this to the v3 milestone Oct 17, 2017
@13xforever
Copy link
Owner Author

13xforever commented Nov 17, 2017

And we're mostly done with the preprocessor stuff (still need to fix the illegal declarations for %assign)

@13xforever
Copy link
Owner Author

The bad news is there's no way to autoconvert sublime-syntax back to tmLanguage. Well, this sucks.

@13xforever
Copy link
Owner Author

As of 7acaea9 I deem this rewrite to be feature-complete

@13xforever
Copy link
Owner Author

Moved additional tasks to separate issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant