Skip to content

Commit a36c16b

Browse files
author
markw65
committed
Release 2.0.9
1 parent 671831d commit a36c16b

File tree

3 files changed

+39
-4
lines changed

3 files changed

+39
-4
lines changed

README.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ the [@markw65/prettier-plugin-monkeyc](https://www.npmjs.com/package/@markw65/pr
55

66
## Features
77

8+
- [Source to Source Optimizer](#source-to-source-optimizer)
9+
- [Various vscode support features for MonkeyC](#various-support-features-for-monkey-c)
10+
- [Monkey C Code Formatter](#monkey-c-code-formatter)
11+
12+
---
13+
814
### Source to Source Optimizer:
915

1016
Various constructs in Monkey-C have runtime costs, including `const` and `enum` declarations. This plugin can generate a copy of your program with all `const`s and `enum`s replaced with their values, and also constant fold simple expressions, reducing generated code size, and improving performance. In addition, it removes dead code, and can optionally strip code based on excludeAnnotations.
@@ -53,6 +59,18 @@ By default the optimizer will figure out the excludeAnnotations and sourcePaths
5359

5460
You can provide more control over the build via `tasks.json` and `launch.json`. You can add configurations with type `omonkeyc` similar to the corresponding `monkeyc` ones that Garmin provides, but you can override any of the build options (so eg, you can create a `Build and run Debug` launch config, and a `Build and run Release` launch config, and switch between them from the `Run and Debug` menu).
5561

62+
---
63+
64+
### Various support features for Monkey C
65+
66+
- `Goto Definition`, and `Peek Definition`
67+
- `Rename symbol`
68+
- `Goto References` and `Peek References`
69+
- `Outline Mode`, `Goto Symbol` (Cmd-Shift-O), and `Open symbol by name` (Cmd-T)
70+
- Shows parser issues in the `Problems` tab as you type, rather than when you compile
71+
72+
---
73+
5674
### Monkey C code formatter:
5775

5876
#### Input
@@ -87,7 +105,6 @@ This extension depends on the [VSCode Prettier extension](https://marketplace.vi
87105

88106
- [A type checker bug](https://forums.garmin.com/developer/connect-iq/i/bug-reports/inconsistent-type-checker-errors) makes it hard to know exactly how to replace an enum with the corresponding number without causing type checker errors. As a result, type checking is off by default for optimized builds (but can be enabled explicitly in configured tasks or launch configs).
89107
- Some of the constants in <sdk>/bin/api.mir are incorrect. In particular, all of the enums/constants that should be negative have the corresponding positive value. I've built a list of exceptions that need fixing which I believe is complete, but its hard to be sure.
90-
- The optimizer will only re-generate the optimized source if the original source code has changed since the last time it was built. If you change options, but not the source code, you'll need to delete bin/optimized to ensure things are rebuilt.
91108

92109
## Release Notes
93110

@@ -191,4 +208,22 @@ Upgrade to @markw65/monkeyc-optimizer:1.0.8 to fix more issues found via open so
191208

192209
- add full support for optimizing barrels
193210

211+
#### 2.0.9
212+
213+
- Bump to @markw65/monkeyc-optimizer@1.0.11
214+
- Properly handle extension disposables
215+
- prevents potential issues when the extension is repeatedly enabled/disabled, or different workspaces are loaded/unloaded.
216+
- Switch to typescript
217+
- The project was getting too complex to manage. typescript helps a little.
218+
- Implement a definition provider
219+
- Supports `Goto Definition`, and `Peek Definition`
220+
- Add a rename provider
221+
- Supports `Rename symbol`
222+
- Add a reference provider
223+
- Supports `Goto References` and `Peek References`
224+
- Report parser errors
225+
- Shows parser issues in the `Problems` tab as you type, rather than when you compile
226+
- Add Document and Workspace Symbol Providers
227+
- Supports `Outline Mode`, `Goto Symbol` (Cmd-Shift-O), and `Open symbol by name` (Cmd-T)
228+
194229
---

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"name": "prettier-extension-monkeyc",
55
"displayName": "Prettier-Extension-MonkeyC",
66
"description": "A Monkey C source transformation extension",
7-
"version": "2.0.8",
7+
"version": "2.0.9",
88
"engines": {
99
"vscode": "^1.65.0"
1010
},

0 commit comments

Comments
 (0)