dialog-ide 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/LICENSE +201 -0
  3. package/README.md +211 -0
  4. package/THIRD_PARTY_LICENSES.md +157 -0
  5. package/bin/darwin-arm64/aambundle +0 -0
  6. package/bin/darwin-arm64/dgdebug +0 -0
  7. package/bin/darwin-arm64/dialogc +0 -0
  8. package/bin/dialog-lib/stddebug.dg +112 -0
  9. package/bin/dialog-lib/stdlib.dg +6730 -0
  10. package/bin/dialog-lib/unit.dg +187 -0
  11. package/dist/cli/commands/run-skein.d.ts +17 -0
  12. package/dist/cli/commands/run-skein.d.ts.map +1 -0
  13. package/dist/cli/commands/run-skein.js +105 -0
  14. package/dist/cli/commands/run-skein.js.map +1 -0
  15. package/dist/cli/commands/sources.d.ts +12 -0
  16. package/dist/cli/commands/sources.d.ts.map +1 -0
  17. package/dist/cli/commands/sources.js +42 -0
  18. package/dist/cli/commands/sources.js.map +1 -0
  19. package/dist/cli/commands/test.d.ts +9 -0
  20. package/dist/cli/commands/test.d.ts.map +1 -0
  21. package/dist/cli/commands/test.js +41 -0
  22. package/dist/cli/commands/test.js.map +1 -0
  23. package/dist/cli/context.d.ts +9 -0
  24. package/dist/cli/context.d.ts.map +1 -0
  25. package/dist/cli/context.js +78 -0
  26. package/dist/cli/context.js.map +1 -0
  27. package/dist/cli.d.ts +3 -0
  28. package/dist/cli.d.ts.map +1 -0
  29. package/dist/cli.js +32 -0
  30. package/dist/cli.js.map +1 -0
  31. package/dist/dialog-cover-resize.d.ts +2 -0
  32. package/dist/dialog-cover-resize.d.ts.map +1 -0
  33. package/dist/dialog-cover-resize.js +46 -0
  34. package/dist/dialog-cover-resize.js.map +1 -0
  35. package/dist/dialog-export.d.ts +23 -0
  36. package/dist/dialog-export.d.ts.map +1 -0
  37. package/dist/dialog-export.js +133 -0
  38. package/dist/dialog-export.js.map +1 -0
  39. package/dist/dialog-feelies.d.ts +4 -0
  40. package/dist/dialog-feelies.d.ts.map +1 -0
  41. package/dist/dialog-feelies.js +62 -0
  42. package/dist/dialog-feelies.js.map +1 -0
  43. package/dist/dialog-outline.d.ts +19 -0
  44. package/dist/dialog-outline.d.ts.map +1 -0
  45. package/dist/dialog-outline.js +122 -0
  46. package/dist/dialog-outline.js.map +1 -0
  47. package/dist/dialog-project-init.d.ts +5 -0
  48. package/dist/dialog-project-init.d.ts.map +1 -0
  49. package/dist/dialog-project-init.js +107 -0
  50. package/dist/dialog-project-init.js.map +1 -0
  51. package/dist/dialog-source-coverage.d.ts +9 -0
  52. package/dist/dialog-source-coverage.d.ts.map +1 -0
  53. package/dist/dialog-source-coverage.js +61 -0
  54. package/dist/dialog-source-coverage.js.map +1 -0
  55. package/dist/dialog-source-decoration-provider.d.ts +11 -0
  56. package/dist/dialog-source-decoration-provider.d.ts.map +1 -0
  57. package/dist/dialog-source-decoration-provider.js +79 -0
  58. package/dist/dialog-source-decoration-provider.js.map +1 -0
  59. package/dist/dialog-symbol-index.d.ts +19 -0
  60. package/dist/dialog-symbol-index.d.ts.map +1 -0
  61. package/dist/dialog-symbol-index.js +107 -0
  62. package/dist/dialog-symbol-index.js.map +1 -0
  63. package/dist/dialog-symbol-provider.d.ts +5 -0
  64. package/dist/dialog-symbol-provider.d.ts.map +1 -0
  65. package/dist/dialog-symbol-provider.js +56 -0
  66. package/dist/dialog-symbol-provider.js.map +1 -0
  67. package/dist/dialog-web-export.d.ts +25 -0
  68. package/dist/dialog-web-export.d.ts.map +1 -0
  69. package/dist/dialog-web-export.js +283 -0
  70. package/dist/dialog-web-export.js.map +1 -0
  71. package/dist/dialog-workspace-symbol-provider.d.ts +16 -0
  72. package/dist/dialog-workspace-symbol-provider.d.ts.map +1 -0
  73. package/dist/dialog-workspace-symbol-provider.js +107 -0
  74. package/dist/dialog-workspace-symbol-provider.js.map +1 -0
  75. package/dist/dialog-workspace-watcher.d.ts +22 -0
  76. package/dist/dialog-workspace-watcher.d.ts.map +1 -0
  77. package/dist/dialog-workspace-watcher.js +102 -0
  78. package/dist/dialog-workspace-watcher.js.map +1 -0
  79. package/dist/dialoged/skein/compile-error.d.ts +10 -0
  80. package/dist/dialoged/skein/compile-error.d.ts.map +1 -0
  81. package/dist/dialoged/skein/compile-error.js +28 -0
  82. package/dist/dialoged/skein/compile-error.js.map +1 -0
  83. package/dist/dialoged/skein/dynamic.d.ts +14 -0
  84. package/dist/dialoged/skein/dynamic.d.ts.map +1 -0
  85. package/dist/dialoged/skein/dynamic.js +176 -0
  86. package/dist/dialoged/skein/dynamic.js.map +1 -0
  87. package/dist/dialoged/skein/frotz-build.d.ts +10 -0
  88. package/dist/dialoged/skein/frotz-build.d.ts.map +1 -0
  89. package/dist/dialoged/skein/frotz-build.js +70 -0
  90. package/dist/dialoged/skein/frotz-build.js.map +1 -0
  91. package/dist/dialoged/skein/index.d.ts +15 -0
  92. package/dist/dialoged/skein/index.d.ts.map +1 -0
  93. package/dist/dialoged/skein/index.js +31 -0
  94. package/dist/dialoged/skein/index.js.map +1 -0
  95. package/dist/dialoged/skein/io.d.ts +15 -0
  96. package/dist/dialoged/skein/io.d.ts.map +1 -0
  97. package/dist/dialoged/skein/io.js +53 -0
  98. package/dist/dialoged/skein/io.js.map +1 -0
  99. package/dist/dialoged/skein/persistence.d.ts +13 -0
  100. package/dist/dialoged/skein/persistence.d.ts.map +1 -0
  101. package/dist/dialoged/skein/persistence.js +228 -0
  102. package/dist/dialoged/skein/persistence.js.map +1 -0
  103. package/dist/dialoged/skein/process.d.ts +38 -0
  104. package/dist/dialoged/skein/process.d.ts.map +1 -0
  105. package/dist/dialoged/skein/process.js +189 -0
  106. package/dist/dialoged/skein/process.js.map +1 -0
  107. package/dist/dialoged/skein/progress.d.ts +17 -0
  108. package/dist/dialoged/skein/progress.d.ts.map +1 -0
  109. package/dist/dialoged/skein/progress.js +9 -0
  110. package/dist/dialoged/skein/progress.js.map +1 -0
  111. package/dist/dialoged/skein/project.d.ts +44 -0
  112. package/dist/dialoged/skein/project.d.ts.map +1 -0
  113. package/dist/dialoged/skein/project.js +223 -0
  114. package/dist/dialoged/skein/project.js.map +1 -0
  115. package/dist/dialoged/skein/search.d.ts +15 -0
  116. package/dist/dialoged/skein/search.d.ts.map +1 -0
  117. package/dist/dialoged/skein/search.js +99 -0
  118. package/dist/dialoged/skein/search.js.map +1 -0
  119. package/dist/dialoged/skein/service.d.ts +91 -0
  120. package/dist/dialoged/skein/service.d.ts.map +1 -0
  121. package/dist/dialoged/skein/service.js +1097 -0
  122. package/dist/dialoged/skein/service.js.map +1 -0
  123. package/dist/dialoged/skein/session.d.ts +96 -0
  124. package/dist/dialoged/skein/session.d.ts.map +1 -0
  125. package/dist/dialoged/skein/session.js +690 -0
  126. package/dist/dialoged/skein/session.js.map +1 -0
  127. package/dist/dialoged/skein/syntax.d.ts +5 -0
  128. package/dist/dialoged/skein/syntax.d.ts.map +1 -0
  129. package/dist/dialoged/skein/syntax.js +150 -0
  130. package/dist/dialoged/skein/syntax.js.map +1 -0
  131. package/dist/dialoged/skein/trace.d.ts +31 -0
  132. package/dist/dialoged/skein/trace.d.ts.map +1 -0
  133. package/dist/dialoged/skein/trace.js +172 -0
  134. package/dist/dialoged/skein/trace.js.map +1 -0
  135. package/dist/dialoged/skein/tree.d.ts +114 -0
  136. package/dist/dialoged/skein/tree.d.ts.map +1 -0
  137. package/dist/dialoged/skein/tree.js +701 -0
  138. package/dist/dialoged/skein/tree.js.map +1 -0
  139. package/dist/dialoged/skein/ui/ansi.d.ts +4 -0
  140. package/dist/dialoged/skein/ui/ansi.d.ts.map +1 -0
  141. package/dist/dialoged/skein/ui/ansi.js +215 -0
  142. package/dist/dialoged/skein/ui/ansi.js.map +1 -0
  143. package/dist/dialoged/skein/ui/diff.d.ts +7 -0
  144. package/dist/dialoged/skein/ui/diff.d.ts.map +1 -0
  145. package/dist/dialoged/skein/ui/diff.js +17 -0
  146. package/dist/dialoged/skein/ui/diff.js.map +1 -0
  147. package/dist/dialoged/skein/ui/knot-menu.d.ts +5 -0
  148. package/dist/dialoged/skein/ui/knot-menu.d.ts.map +1 -0
  149. package/dist/dialoged/skein/ui/knot-menu.js +89 -0
  150. package/dist/dialoged/skein/ui/knot-menu.js.map +1 -0
  151. package/dist/dialoged/skein/ui/marker-colors.d.ts +5 -0
  152. package/dist/dialoged/skein/ui/marker-colors.d.ts.map +1 -0
  153. package/dist/dialoged/skein/ui/marker-colors.js +18 -0
  154. package/dist/dialoged/skein/ui/marker-colors.js.map +1 -0
  155. package/dist/dialoged/skein/ui/render.d.ts +13 -0
  156. package/dist/dialoged/skein/ui/render.d.ts.map +1 -0
  157. package/dist/dialoged/skein/ui/render.js +332 -0
  158. package/dist/dialoged/skein/ui/render.js.map +1 -0
  159. package/dist/dialoged/skein/ui/traceRender.d.ts +11 -0
  160. package/dist/dialoged/skein/ui/traceRender.d.ts.map +1 -0
  161. package/dist/dialoged/skein/ui/traceRender.js +139 -0
  162. package/dist/dialoged/skein/ui/traceRender.js.map +1 -0
  163. package/dist/dialoged/skein/ui/tree-pane.d.ts +3 -0
  164. package/dist/dialoged/skein/ui/tree-pane.d.ts.map +1 -0
  165. package/dist/dialoged/skein/ui/tree-pane.js +135 -0
  166. package/dist/dialoged/skein/ui/tree-pane.js.map +1 -0
  167. package/dist/dialoged/skein/ui/webExportPage.d.ts +29 -0
  168. package/dist/dialoged/skein/ui/webExportPage.d.ts.map +1 -0
  169. package/dist/dialoged/skein/ui/webExportPage.js +72 -0
  170. package/dist/dialoged/skein/ui/webExportPage.js.map +1 -0
  171. package/dist/extension.d.ts +4 -0
  172. package/dist/extension.d.ts.map +1 -0
  173. package/dist/extension.js +885 -0
  174. package/dist/extension.js.map +1 -0
  175. package/dist/session-runner.d.ts +23 -0
  176. package/dist/session-runner.d.ts.map +1 -0
  177. package/dist/session-runner.js +92 -0
  178. package/dist/session-runner.js.map +1 -0
  179. package/language-configuration.json +43 -0
  180. package/media/icon.png +0 -0
  181. package/media/icons/arrow-down-circle-solid.svg +3 -0
  182. package/media/icons/arrow-down-solid.svg +3 -0
  183. package/media/icons/arrow-path-solid.svg +3 -0
  184. package/media/icons/arrow-right-solid.svg +3 -0
  185. package/media/icons/arrow-up-on-square-stack-solid.svg +5 -0
  186. package/media/icons/arrow-up-solid.svg +3 -0
  187. package/media/icons/arrow-uturn-left.svg +3 -0
  188. package/media/icons/arrow-uturn-right.svg +3 -0
  189. package/media/icons/bookmark-solid.svg +3 -0
  190. package/media/icons/bug-ant-solid.svg +3 -0
  191. package/media/icons/check-badge-solid.svg +3 -0
  192. package/media/icons/check-circle-solid.svg +3 -0
  193. package/media/icons/chevron-double-down-solid.svg +4 -0
  194. package/media/icons/chevron-double-up-solid.svg +4 -0
  195. package/media/icons/command-line-solid.svg +3 -0
  196. package/media/icons/cpu-chip-solid.svg +4 -0
  197. package/media/icons/dg-file-dark.svg +6 -0
  198. package/media/icons/dg-file-light.svg +6 -0
  199. package/media/icons/ellipsis-vertical-solid.svg +3 -0
  200. package/media/icons/exclamation-triangle.svg +3 -0
  201. package/media/icons/folder-arrow-down-solid.svg +3 -0
  202. package/media/icons/globe-alt.svg +3 -0
  203. package/media/icons/lock-closed-solid.svg +3 -0
  204. package/media/icons/magnifying-glass-solid.svg +3 -0
  205. package/media/icons/pencil-solid.svg +4 -0
  206. package/media/icons/play-solid.svg +3 -0
  207. package/media/icons/plus-circle-solid.svg +3 -0
  208. package/media/icons/scissors-solid.svg +5 -0
  209. package/media/icons/tag-solid.svg +3 -0
  210. package/media/icons/trash-solid.svg +3 -0
  211. package/media/icons/x-circle-solid.svg +3 -0
  212. package/media/js/datastar.js +9 -0
  213. package/media/js/main.js +1109 -0
  214. package/media/js/skein-loader.js +10 -0
  215. package/media/js/trace-loader.js +4 -0
  216. package/media/js/trace.js +147 -0
  217. package/media/style.css +5783 -0
  218. package/package.json +231 -0
  219. package/resources/bundle/default-cover.png +0 -0
  220. package/resources/bundle/introduction-to-if.pdf +0 -0
  221. package/resources/bundle/play-if-card.pdf +1990 -1
  222. package/resources/bundle/play.css +432 -0
  223. package/resources/bundle/style.css +450 -0
  224. package/resources/dfrotz-skein-patch.dg +4 -0
  225. package/syntaxes/dialog.tmLanguage.json +490 -0
package/package.json ADDED
@@ -0,0 +1,231 @@
1
+ {
2
+ "name": "dialog-ide",
3
+ "displayName": "Dialog IDE",
4
+ "version": "0.5.0",
5
+ "description": "VS Code extension for creating interactive fiction using the Dialog programming language",
6
+ "publisher": "hlship",
7
+ "icon": "media/icon.png",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/hlship/dialog-ide.git"
11
+ },
12
+ "engines": {
13
+ "vscode": "^1.85.0"
14
+ },
15
+ "categories": [
16
+ "Programming Languages",
17
+ "Debuggers"
18
+ ],
19
+ "main": "./dist/extension.js",
20
+ "bin": {
21
+ "dgbuild": "./dist/cli.js"
22
+ },
23
+ "activationEvents": [],
24
+ "contributes": {
25
+ "languages": [
26
+ {
27
+ "id": "dialog",
28
+ "aliases": [
29
+ "Dialog",
30
+ "dialog"
31
+ ],
32
+ "extensions": [
33
+ ".dg"
34
+ ],
35
+ "configuration": "./language-configuration.json",
36
+ "icon": {
37
+ "light": "./media/icons/dg-file-light.svg",
38
+ "dark": "./media/icons/dg-file-dark.svg"
39
+ }
40
+ }
41
+ ],
42
+ "grammars": [
43
+ {
44
+ "language": "dialog",
45
+ "scopeName": "source.dg",
46
+ "path": "./syntaxes/dialog.tmLanguage.json"
47
+ }
48
+ ],
49
+ "commands": [
50
+ {
51
+ "command": "dialog-ide.openSkein",
52
+ "title": "Dialog IDE: Open Skein"
53
+ },
54
+ {
55
+ "command": "dialog-ide.runDefaultSkein",
56
+ "title": "Dialog IDE: Run Default Skein"
57
+ },
58
+ {
59
+ "command": "dialog-ide.runSkein",
60
+ "title": "Dialog IDE: Run Skein..."
61
+ },
62
+ {
63
+ "command": "dialog-ide.newSkein",
64
+ "title": "Dialog IDE: New Skein..."
65
+ },
66
+ {
67
+ "command": "dialog-ide.stopSkein",
68
+ "title": "Dialog IDE: Stop Skein"
69
+ },
70
+ {
71
+ "command": "dialog-ide.saveSkein",
72
+ "title": "Dialog IDE: Save Skein"
73
+ },
74
+ {
75
+ "command": "dialog-ide.debugInTerminal",
76
+ "title": "Dialog IDE: Debug in Terminal"
77
+ },
78
+ {
79
+ "command": "dialog-ide.runTests",
80
+ "title": "Dialog IDE: Run Tests"
81
+ },
82
+ {
83
+ "command": "dialog-ide.addSourceToProject",
84
+ "title": "Dialog IDE: Add File to dialog.json..."
85
+ },
86
+ {
87
+ "command": "dialog-ide.initProject",
88
+ "title": "Dialog IDE: Initialize Dialog Project"
89
+ },
90
+ {
91
+ "command": "dialog-ide.configureExports",
92
+ "title": "Dialog IDE: Configure Exports..."
93
+ },
94
+ {
95
+ "command": "dialog-ide.exportProject",
96
+ "title": "Dialog IDE: Export Dialog Project..."
97
+ },
98
+ {
99
+ "command": "dialog-ide.exportWebPage",
100
+ "title": "Dialog IDE: Export Web Page..."
101
+ },
102
+ {
103
+ "command": "dialog-ide.addFeelie",
104
+ "title": "Dialog IDE: Add Feelie..."
105
+ },
106
+ {
107
+ "command": "dialog-ide.removeFeelie",
108
+ "title": "Dialog IDE: Remove Feelie..."
109
+ }
110
+ ],
111
+ "menus": {
112
+ "explorer/context": [
113
+ {
114
+ "command": "dialog-ide.addFeelie",
115
+ "when": "!explorerResourceIsFolder && resourceExtname != '.dg'",
116
+ "group": "dialog-ide@1"
117
+ }
118
+ ]
119
+ },
120
+ "configuration": {
121
+ "title": "Dialog IDE",
122
+ "properties": {
123
+ "dialog-ide.warnOnUncoveredSource": {
124
+ "type": "boolean",
125
+ "default": true,
126
+ "description": "Warn when a .dg file isn't covered by any source in dialog.json."
127
+ },
128
+ "dialog-ide.warnOnDuplicateSource": {
129
+ "type": "boolean",
130
+ "default": true,
131
+ "description": "Warn when dialog.json declares the same source file in more than one category."
132
+ }
133
+ }
134
+ },
135
+ "viewsContainers": {
136
+ "panel": [
137
+ {
138
+ "id": "dialogIdeTracePanel",
139
+ "title": "Trace",
140
+ "icon": "media/icons/bug-ant-solid.svg"
141
+ }
142
+ ]
143
+ },
144
+ "views": {
145
+ "dialogIdeTracePanel": [
146
+ {
147
+ "type": "webview",
148
+ "id": "dialogIdeTraceView",
149
+ "name": "Trace"
150
+ }
151
+ ]
152
+ },
153
+ "keybindings": [
154
+ {
155
+ "command": "workbench.action.showCommands",
156
+ "key": "ctrl+shift+a",
157
+ "mac": "cmd+shift+a",
158
+ "when": "activeWebviewPanelId == 'dialogIdeSkein'"
159
+ },
160
+ {
161
+ "command": "workbench.action.showCommands",
162
+ "key": "ctrl+shift+a",
163
+ "mac": "cmd+shift+a",
164
+ "when": "focusedView == 'dialogIdeTraceView'"
165
+ }
166
+ ]
167
+ },
168
+ "scripts": {
169
+ "vscode:prepublish": "npm run build",
170
+ "build": "npm run build:css && tsc",
171
+ "postbuild": "node -e \"require('fs').chmodSync('dist/cli.js', 0o755)\"",
172
+ "build:css": "tailwindcss -i styles/input.css -o media/style.css",
173
+ "watch:css": "tailwindcss -i styles/input.css -o media/style.css --watch",
174
+ "watch": "tsc -w",
175
+ "test": "jest",
176
+ "clean": "rm -rf dist",
177
+ "fetch-dialog-binaries": "node scripts/fetch-dialog-binaries.js"
178
+ },
179
+ "keywords": [
180
+ "dialog",
181
+ "interactive-fiction",
182
+ "skein-engine",
183
+ "ide"
184
+ ],
185
+ "author": "Howard Lewis Ship",
186
+ "license": "Apache-2.0",
187
+ "devDependencies": {
188
+ "@tailwindcss/cli": "^4.3.3",
189
+ "@types/jest": "^30.0.0",
190
+ "@types/node": "^20.0.0",
191
+ "@types/pngjs": "^6.0.5",
192
+ "@types/vscode": "^1.85.0",
193
+ "@types/yazl": "^3.3.1",
194
+ "@vscode/vsce": "^3.9.2",
195
+ "daisyui": "^5.7.16",
196
+ "jest": "^30.4.2",
197
+ "ts-jest": "^29.4.12",
198
+ "typescript": "^5.0.0"
199
+ },
200
+ "files": [
201
+ "dist/**/*",
202
+ "media/**/*",
203
+ "syntaxes/**/*",
204
+ "resources/**/*",
205
+ "bin/**/*",
206
+ "language-configuration.json",
207
+ "README.md",
208
+ "CHANGELOG.md",
209
+ "LICENSE",
210
+ "THIRD_PARTY_LICENSES.md",
211
+ "node_modules/diff/**/*",
212
+ "node_modules/immutable/**/*",
213
+ "node_modules/jsonc-parser/**/*",
214
+ "node_modules/vscode-oniguruma/**/*",
215
+ "node_modules/vscode-textmate/**/*",
216
+ "node_modules/pngjs/**/*",
217
+ "node_modules/yazl/**/*",
218
+ "node_modules/buffer-crc32/**/*",
219
+ "node_modules/commander/**/*"
220
+ ],
221
+ "dependencies": {
222
+ "commander": "^12.1.0",
223
+ "diff": "^9.0.0",
224
+ "immutable": "^5.1.9",
225
+ "jsonc-parser": "^3.3.1",
226
+ "pngjs": "^7.0.0",
227
+ "vscode-oniguruma": "^2.0.1",
228
+ "vscode-textmate": "^9.3.2",
229
+ "yazl": "^3.3.1"
230
+ }
231
+ }