Skip to content

Commit

Permalink
update docs for upcoming release
Browse files Browse the repository at this point in the history
  • Loading branch information
ironsheep committed Oct 28, 2023
1 parent cd9da27 commit 1199f61
Show file tree
Hide file tree
Showing 5 changed files with 441 additions and 29 deletions.
22 changes: 10 additions & 12 deletions spin2/.vscodeignore
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
.gitignore
.vscode/**
.history/**
.devcontainer/**
scripts/**
server/**
!server/out/server.js
client/**
!client/out/extension.js
EarlyTesting/**
EarlyTesting.md
**/*.ts
**/*.map
.gitignore
**/*.lst
**/tsconfig.json
**/tsconfig.base.json
contributing.md
.travis.yml
client/node_modules/**
client/testFixture/**
client/out/test/**
client/src/test/*OFFLINE
TEST_LANG_SERVER/**
!client/node_modules/vscode-jsonrpc/**
!client/node_modules/vscode-languageclient/**
!client/node_modules/vscode-languageserver-protocol/**
!client/node_modules/vscode-languageserver-types/**
!client/node_modules/{minimatch,brace-expansion,concat-map,balanced-match}/**
!client/node_modules/{semver,lru-cache,yallist}/**
DOCs/**
!spin2.language-configuration.json
!spin1.language-configuration.json
syntaxes/*
Expand All @@ -31,7 +29,7 @@ themes/*
!themes/isp-spin-dark-bg-theme.json
!themes/isp-spin-light-bg-theme.json
!themes/isp-spin-syntax-theme.json
!images/*
!images/**
!README.md
!CHANGELOG.md
!LICENSE
Expand Down
20 changes: 18 additions & 2 deletions spin2/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,32 @@ Work to appear in upcoming releases:

Possible next additions:

- Awaken go to Definition feature
- Awaken code-folding feature
- ... more features comming too
- Investigate and possibly add unique coloring for method pointers
- Add spin2 instruction templates as Snippets (_for instructions with two or more parameters_)
- Add new-file templates as Snippets
- Add additional Snippets as the community identifies them

## [2.0.0] 2023-08-??
## [2.1.0] 2023-10-27

Formal release of Language-server-based P1 and P2 Spin Extension for VScode


- Files included by current file are parsed and references to the included objects are validated
- Documentation from the included object files is shown for Hover Text and Signature help
- Live parsing on file change allowing changes in one editor window to affect another editor window (e.g., You have a toplevel spin file open and and object spin file open in 2nd window. Changes in object file can immediately affect the toplevel file.)
- Display of errors found during parse are listed for each file parsed (and with **Error Lens** errors show on affected line)
- What a file is parsed and errors are found the file entry in the left panel file browser turns light red to highlight that file contains errors
- Many improvements in parsing / highlighting for both P1 and P2


## [2.0.0 - 2.0.4] 2023 Oct 22-26

Convert to Spin and Spin2 Language Server as separate Process (P1 and P2)

- BUGFIX: Outline now recognizes global labels on DAT declaration line
- Initial builds for alpha testing with key users.

## [1.9.13] 2023-08-03

Expand Down
17 changes: 11 additions & 6 deletions spin2/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# VSCode support for the Parallax Propeller 1 & 2 Multicore MCU's

Spin/Spin22 Language Server based VSCode Extension
Spin/Spin2 Language-Server based VSCode Extension

## P1 and P2 Syntax highlighting and Code Navigation for VSCode
## P1 and P2 Syntax/Semantic Highlighting and Code Navigation for VSCode

This Extension is continually in development. Things may, occasionally, not work correctly. See _Support_, below, for how to report issues.

## ABOUT

This extension provides support for P1 (spin and pasm) along with P2 (Spin2 and Pasm2), the primary languages for programming P1 [Parallax Propeller 1 or P8X32A](https://www.parallax.com/propeller-1/) and the P2 [Parallax Propeller2 or P2X8C4M64P](https://propeller.parallax.com/p2.html)

We've moved to a **Language Server based extension** so that we can awaken **multi-file behaviors** such as show help from included file in top-level file when hovering or showing signature help. This also applies to upoming features such as go to definition.

All features provided by this extension support both the Parallax Propeller 1 and Propeller 2 languages: Spin and Pasm.

## Feature: Syntax Highlighting

Both Spin and Pasm are now completely supported for the P1 while Spin2 and Pasm2 are completely supported for the P2 - including streamer and smartpins constants
Expand Down Expand Up @@ -65,13 +69,15 @@ Hovers show information about the symbol/object that's below the mouse cursor. T

- Hover over **User** variables, constants, methods, pasm labels and objects to display pop-up information about the item including comments within the code for the item.
- Hover for **Built-in Spin/Spin2** method names, variables, constants and smart-pin constants to display pop-up documentation about the built-in item.
- Hover text for methods and constants from included objects are brought in from the external included object.

## Feature: Help With Method Signatures

Help With Method Signatures displays information about the method that is being called as you are typing the code that is invoking the method. This works for **Spin/Spin2 built-in methods** as well as **your own PUB and PRI methods** in the same file.

- Documentation is shown for each parameter as you are entering the parameter value being passed to the method.
- If your own methods are not yet documented, the this signature help still supports entry of the parameter values as well as reminds you how to add your own documentation for your PUB and PRI methods.
- When the method being entered is from an included object the help text is brought in from the external included object.

## Feature: Generate "Object public interface" documentation

Expand Down Expand Up @@ -169,7 +175,6 @@ PRI pullUpValueForEnum(ePullupRqst) : pullup
We are working on fixes to the following issues we've seen during our testing. However, they are not major enough to prevent this release.

- The spin2 line-continuation syntax is not yet supported
- The spin2 object-instance override of constants is not yet fully highlighted correctly
- We are still working through validating the P1 support against the full P1 obex - this is a work in progress
- Some line comments are not properly colored
- Occasionally [byte|word|long] storage types are not properly colored
Expand All @@ -181,16 +186,16 @@ _The above appear to be mostly syntax recognizer issues_
There are some things that currently are limitations which we may or may not address in the future:

- P2 Signature help is not available for send() method pointer - as it has variant forms of paramaters
- P1 and P2 Signature help is not available for lookup(), lookupz(), lookdown(), lookupdownz() - as these have non-standard signature patterns not supported. Within the parens are found a ':' followed by one or more ','s.
- P1 and P2 Signature help is not available for lookup(), lookupz(), lookdown(), lookupdownz() as these have non-standard signature patterns not supported. Within the parens are found a ':' followed by one or more ','s.

## Reporting Issues

An active list of issues is maintained at github. [P2-vscode-extensions/Issues](https://github.com/ironsheep/P2-vscode-extensions/issues). When you want to report something missing, not working right, or even request a new feature please submit an issue. By doing so you will be able to track progress against the request and learn of the new version containing your fix/enhancement when it is available.
An active list of issues is maintained at github. [P2-vscode-langserv-extension/Issues](https://github.com/ironsheep/P2-vscode-langserv-extension/issues). When you want to report something missing, not working right, or even request a new feature please submit an issue. By doing so you will be able to track progress against the request and learn of the new version containing your fix/enhancement when it is available.

---

> If you like my work and/or this has helped you in some way then feel free to help me out for a couple of :coffee:'s or :pizza: slices or support my work by contributing at Patreon!
>
> [![coffee](https://www.buymeacoffee.com/assets/img/custom_images/black_img.png)](https://www.buymeacoffee.com/ironsheep)    -OR-    [![Patreon](./DOCs/images/patreon.png)](https://www.patreon.com/IronSheep?fan_landing=true)[Patreon.com/IronSheep](https://www.patreon.com/IronSheep?fan_landing=true)
> [![coffee](https://www.buymeacoffee.com/assets/img/custom_images/black_img.png)](https://www.buymeacoffee.com/ironsheep)    -OR-    [![Patreon](./images/patreon.png)](https://www.patreon.com/IronSheep?fan_landing=true)[Patreon.com/IronSheep](https://www.patreon.com/IronSheep?fan_landing=true)
---
Loading

0 comments on commit 1199f61

Please sign in to comment.