Releases: ironsheep/P2-vscode-extensions
v1.2.0
Highlighting Update, Bugfixes, and Catch up with Spin2 Language updates inclu. new DEBUG methods and constants
Syntax/Semantic Adjustments:
- NEW: add new Spin2/Pasm2/Debug methods & constants which were added since our last release
- NEW: directives that shouldn't be used in inline-pasm are now highlighted with bright red color
- BUGFIX: parser no longer expects pasm2 labels to be in the 1st column
- BUGFIX: added missing: four pasm if_ conditionals, one spin2 method name
- BUGFIX: parser now parses multiplying of constant values correctly
- BUGFIX: previously seen files no longer affect the semantic highlighting of the current file
- BUGFIX: symbol-names starting with PUB, PRI, CON, DAT, etc. are no longer confusing parser
- BUGFIX: RES and FIT coloring is working
- Known Issues w/v1.2.0
- debug() statements that don't use double-quoted strings currently are not parsed correctly
- Syntax highlight of DAT section sometimes fails... (although it is less often now...)
- Semantic highlight: the 'modification' attribute is being over-applied, should use more than := as test!!!!
- Occasional issues with highlighting of enum leading constant (#nnn should be recognized as number)
- I'm sure there are more issues...
v1.1.0
Minor update to fix incorrect highlighting
Semantic Adjustments:
- BUGFIX: correct highlighting of debug() functions in DAT section pasm code
Known Issues w/v1.1.0
- debug() statements that don't use double-quoted strings currently are not parsed correctly
- Syntax highlight of DAT section sometimes fails... RES and FIT not colored correctly
- Semantic highlight: the 'modification' attribute is being over-applied, should use more than := as test!!!!
- I'm sure there are more issues...
v1.0.1
Minor update to fix missing things
Syntax Adjustments:
- BUGFIX: add missing
recv
symbol support
Known Issues w/v1.0.1
- debug() statements that don't use double-quoted strings currently are not parsed correctly
- Syntax highlight of DAT section sometimes fails... RES and FIT not colored correctly
- Semantic highlight: the 'modification' attribute is being over-applied, should use more than := as test!!!!
- I'm sure there are more issues...
v1.0.0
The Official Release of Semantic Highlighting
In this release we clean things up a bit more, we deliver unknown-name highlighting in brighter red
NOTE: with this new unknown names coloring feature we were able to find two files that shouldn't compile due to undefined symbols but actually do compile. The findings are being reported to Chip. The author of the files confirmed that the two files are missing symbols.
Semantic Adjustments:
- NEW FEATURE! Unknown names in the file are now highlighted with noticeable bright red
- BUGFIX: pasm - repaired variable/label highlight when short names
- BUGFIX: by default the compiler treats the first lines in the file as being in CON, this highlighter does now as well.
- BUGFIX: recognize round(), float(), and trunc() in DAT, CON and PUB/PRI
- BUGFIX: built-in constants should now be colored correctly
Syntax Adjustments:
- BUGFIX: adjusted built-in symbol recognition, now independent of case
- BUGFIX: added missing, newly added to PNut,
DEBUG_*
variables
Known Issues w/v1.0.0:
- debug() statements that don't use double-quoted strings currently can't be parsed
- Syntax highlight of DAT section sometimes fails... RES and FIT not colored correctly
- Semantic highlight: the 'modification' attribute is being over-applied, should use more than := as test!!!!
- I'm sure there are more issues...
v0.3.4
5th Release of Semantic Highlighting
This adds quoted-string avoidance when looking for names and their use.
Theme Adjustments:
- Darkened storage type color slightly.
Semantic Adjustments:
- BUGFIX Spin: now ignores contents of strings
- BUGFIX Spin: debug() statements should now be parsing correctly
Syntax Adjustments:
- BUGFIX removed invalid instruction
pinc
(older form of pinclear, no longer legal) - BUGFIX added recognition of
BYTE|WORD|LONG
within spin statements
- Known Issues w/v0.3.4
- Pasm: doesn't recognize round(), float(), and trunc() as pasm operand
- Incorrectly colors built-in constants (should be own color)
- Syntax highlight of DAT section sometimes fails... RES and FIT not colored correctly
- Semantic highlight: the 'modification' attribute is being over-applied
- Semantic highlight: the 'modification' attribute should use more than := as test!!!!
- I'm sure there are more issues...
v0.3.3
4th Release of Semantic Highlighting
This represents a noticeable cleanup of parsing most existing code.
What’s new
Theme Adjustments:
- Removed Spin2 Cluso99 theme (by request)
- Added Spin2 Ironsheep Syntax theme (primarily for extension developer use, disables Semantic highlighting)
Note: Should you wish, you can switch between the two ironsheep themes to show code with or without semantic highlighting
Semantic Adjustments:
- Update: VAR declarations - parses all examples in spin2 doc
- Update: CON declarations - parses all examples in spin2 doc
- Update: parses all examples shipped with PNut (less Spin2_interpreter.spin2)
- Update: now parses most of the P2 OBEX cleanly… still more to do tho'
- NEW: if variables are used but not (yet?) defined they’ll be shown in RED
- BUGFIX: no longer marking vars within { } single line comments
- BUGFIX: now handles multi-line enum declarations
- BUGFIX: now handles comma-delimited constant assignments
- BUGFIX: most if not all embedded assignment (e.g., until ((b := rxcheck()) >= 0)) now correct
- BUGFIX: most if not all shorter variable highlight is now working
- BUGFIX: multiple assignment LHS of := now highlighted correctly
Syntax Adjustments:
- BUGFIX improved variable index recognition - missing fewer of them now…
- ENHANCEMENT added floating-point number recognition
- BUGFIX improved number recognition - recognizes all number examples in spin2 doc
- BUGFIX add missing
clkfreq_, _clkfreq
constants - BUGFIX add missing
FVAR, FVARS
overrides - BUGFIX add missing
REG
,AND
operators - BUGFIX add missing spin built-ins
getms(), QSIN(), QCOS(), PINC()
- BUGFIX adjusted pub/pri to allow space before open paren
Known Issues w/v0.3.3:
- Pasm: doesn’t recognize round(), float(), and trunc() as pasm operand
- Spin: Badly handles strings (should be ignoring contents of them)
- Incorrectly colors built-in constants (should be own color)
- Fails to parse some debug() statements correctly
- Syntax highlight of DAT section sometimes fails… RES and FIT not colored correctly
- Semantic highlight: the ‘modification’ attribute is being over-applied
- Semantic highlight: the ‘modification’ attribute should use more than := as test!!!!
- I’m sure there are more issues…
v0.3.2
3rd Release of Semantic Highlighting
This represents an overall improvement in parsing when there is less whitespace between things
What’s new
Semantic Fixes:
- BUGFIX spin is not case-sensitive… adjust so highlighting is also not!
- Decision: not fixing: Does not handle the .label (local-scoped pasm labels) properly
- works well enough to highlight properly
Syntax Fixes:
- BUGFIX add missing
posx
andnegx
spin2 constants
Known Issues w/v0.3.2
- Spin: Badly handles single line { comment }: see’s names in them, no good
- Spin: Badly handles strings (should be ignoring contents of them)
- Spin: Badly handles marking multiple vars LHS of assignment
- Incorrectly colors built-in constants (should be own color)
- Fails to parse some debug() statements correctly
- Does NOT handle multi-line enum declarations
- Does NOT handle comma-delimited constant assignment
- Fails to properly identify location of shorter variable name when is found within longer name earler in line…
- Syntax highlight of DAT section sometimes fails… RES and FIT not colored correctly
- Semantic highlight: the ‘modification’ attribute is being over-applied
- Semantic highlight: the ‘modification’ attribute should use more than := as test!!!!
- I’m sure there are more issues…
v0.3.1
2nd Release of Semantic Highlighting
What's new:
-
Theme: Entire theme moved to pastel-like colors, less shocking, closer to commercial quality
-
Spin2: Added Semantic Highlighting support for PASM
Semantic Fixes:
- BUGFIX recognize comma separated var declarations (names after first name)
- BUGFIX Repaired identification of constant assignment from constant of external object
- BUGFIX cleaned up couple of minor OUTLINE issues (false detections, missing comments)
- BUGFIX recognize range-value symbols in case statement (e.g., SEG_TOP..SEG_BOTTOM:)
- BUGFIX repair recognizer for assignment LHS: (eg.,
byte[pColor][2] := {value}
) - BUGFIX identify storage types in method's local variable list
- BUGFIX recognize method calls to indexed objects
- BUGFIX recognize data init from external constant in DAT section
- BUGFIX correctly highlight symbol when NOT(!) used:
!maskBitsBGR
- BUGFIX correctly highlight address var of:
byte[@msgPwm][3] := frameASCII
Syntax Fixes:
- BUGFIX add recognition of 'FILE' include operator in DAT sections
- BUGFIX repair decimal number recognition (was falsely including [+|-] prefix)
Known Issues w/v0.3.1
- Spin: Badly handles strings (should be ignoring contents of them)
- Incorrectly colors built-in constants (should be own color)
- Fails to parse some debug() statements correctly
- Does NOT handle multi-line enum declarations
- Does NOT handle comma-delimited constant assignment
- Fails to properly identify the location of shorter variable name when is found within longer name earlier in line...
- Syntax highlight of DAT section sometimes fails... RES and FIT not colored correctly
- I'm sure there are more issues...
v0.3.0
Preview Release of Semantic Highlighting
Spin2: Initial Semantic Highlighting support (partial: Spin only, no Pasm)
Syntax Highlight BUGFIX: stop falsely recognizing 'or' within symbol name
Syntax Highlight BUGFIX: stop falsely recognizing numbers within symbol name
DECISION: we won't add FIXME/TODO highlighting as there is an extension for that!
Known Issues
Fails to parse debug() statements correctly
Misses some symbols in constant declarations
PASM code not processed at all (in DAT or in PRI/PUB inline)
Does NOT handle multi-line enum declarations
Does NOT handle comma-delimited constant assignment
Does NOT recognize range-value symbols in case statement
Does NOT recognize method calls to indexed objects
Fails to properly identify location of shorter variable name when is found within longer name earler in line...
I'm sure there are more issues...