From 67d63dc59a78f8a00b98f4490f6f935a94527179 Mon Sep 17 00:00:00 2001 From: Daniel Harvey Date: Tue, 30 Jul 2024 23:17:54 +0100 Subject: [PATCH] Woof --- lsp-log.txt | 1122 ++++++++++++++++++++++++++++++++- wasm-calc11/demo/draw.calc | 1 + wasm-calc11/src/Calc/Lsp.hs | 99 ++- wasm-calc11/wasm-calc11.cabal | 2 + 4 files changed, 1191 insertions(+), 33 deletions(-) diff --git a/lsp-log.txt b/lsp-log.txt index 5b35e6df..c78ec682 100644 --- a/lsp-log.txt +++ b/lsp-log.txt @@ -16,4 +16,1124 @@ workspaceFolders [] TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} workspaceFolders [] TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} -workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] \ No newline at end of file +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [] +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nh\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 6}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nho\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 7}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nhor\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 8}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nhors\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 9}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nhorse\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 11}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\nhorse\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 12}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 14}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 15}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 16}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 17}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "h\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 18}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "ho\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 19}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hor\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 21}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "horse\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 22}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "horse\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 24}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hors\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 26}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hor\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 27}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hr\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 28}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "r\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 29}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 30}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 31}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 3}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "h\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "ho\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 6}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hor\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 7}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "hors\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 9}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "horse \nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 10}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}))]}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 56, _character = 1}, _end = Position {_line = 56, _character = 1}}, _rangeLength = Just 0, _text = "\n"})),TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 57, _character = 0}, _end = Position {_line = 57, _character = 0}}, _rangeLength = Just 0, _text = "\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 0}, _end = Position {_line = 58, _character = 0}}, _rangeLength = Just 0, _text = "h"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 7}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 1}, _end = Position {_line = 58, _character = 1}}, _rangeLength = Just 0, _text = "o"})),TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 2}, _end = Position {_line = 58, _character = 2}}, _rangeLength = Just 0, _text = "r"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 9}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 3}, _end = Position {_line = 58, _character = 3}}, _rangeLength = Just 0, _text = "s"})),TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 4}, _end = Position {_line = 58, _character = 4}}, _rangeLength = Just 0, _text = "e"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 10}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 5}, _end = Position {_line = 58, _character = 5}}, _rangeLength = Just 0, _text = "s"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 12}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 58, _character = 0}, _end = Position {_line = 59, _character = 0}}, _rangeLength = Just 7, _text = ""}))]}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 5, _character = 0}, _end = Position {_line = 5, _character = 0}}, _rangeLength = Just 0, _text = "\n"})),TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 6, _character = 0}}, _rangeLength = Just 0, _text = "\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 7, _character = 0}, _end = Position {_line = 7, _character = 0}}, _rangeLength = Just 0, _text = "d"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 6}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 7, _character = 1}, _end = Position {_line = 7, _character = 1}}, _rangeLength = Just 0, _text = "o"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 8}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 7, _character = 2}, _end = Position {_line = 7, _character = 2}}, _rangeLength = Just 0, _text = "g"})),TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 7, _character = 3}, _end = Position {_line = 7, _character = 3}}, _rangeLength = Just 0, _text = "s"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 9}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 7, _character = 4}, _end = Position {_line = 8, _character = 0}}, _rangeLength = Just 1, _text = "\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 10}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 7, _character = 0}}, _rangeLength = Just 1, _text = ""}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 11}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 7, _character = 0}}, _rangeLength = Just 5, _text = ""}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 12}, _contentChanges = [TextDocumentContentChangeEvent (InL (TextDocumentContentChangePartial {_range = Range {_start = Position {_line = 6, _character = 0}, _end = Position {_line = 7, _character = 0}}, _rangeLength = Just 1, _text = ""}))]}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 3}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\n\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\ns\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 6}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nsd\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 9}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nsdsdf\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 10}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nsdsd\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 11}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nsds\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 12}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nsd\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 13}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\ns\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 14}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\n\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 15}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\n\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 18}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 19}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 20}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 21}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\ns\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 23}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nsdf\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 26}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nsdfsdf\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 27}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nsdfsd\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 28}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nsdfsd\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 29}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "sdfsd\n\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 30}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "\nglobal mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 31}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidSave +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidSave, _params = DidSaveTextDocumentParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _text = Nothing}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 33}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\ns\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 35}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\nsdf\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 36}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\nsd\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 37}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\ns\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 38}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidSave +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidSave, _params = DidSaveTextDocumentParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _text = Nothing}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 10, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 5, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 9}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 8}, _workDoneToken = Nothing}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 5}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 5}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 5}, _workDoneToken = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 5, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 5}, _workDoneToken = Nothing}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 3}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\ns\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 7}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsdf\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 10}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsdfsdf\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 11}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsdfsd\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 12}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsdfs\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 13}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsdf\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 14}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nsd\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 15}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\ns\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 16}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 17}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 18}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 19}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 20}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidSave +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidSave, _params = DidSaveTextDocumentParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _text = Nothing}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 22}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 24}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 26}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 28}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 29}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 30}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\ns\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 32}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nsdf\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 34}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nsdfsd\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 35}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nsdfsdf\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 36}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\nsdfsdf\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 37}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\n\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 3}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 1 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 4}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 2 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 5}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 3 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 6}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 4 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 7}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 5 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 8}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\na\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 6 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 11}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\naerg\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 7 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 15}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\naergaerg\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 8 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 16}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\naergaerg\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 9 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 17}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\naergaerg\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 10 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 18}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 11 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 19}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 12 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 20}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 13 +textDocumentDidSave +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidSave, _params = DidSaveTextDocumentParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _text = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 9}, _workDoneToken = Nothing}} +Hover {_contents = InL (MarkupContent {_kind = MarkupKind_Markdown, _value = "Poo poo"}), _range = Just (Range {_start = Position {_line = 7, _character = 9}, _end = Position {_line = 7, _character = 9}})} +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 22}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if valuen > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 14 +textDocumentDidChange +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidChange, _params = DidChangeTextDocumentParams {_textDocument = VersionedTextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _version = 23}, _contentChanges = [TextDocumentContentChangeEvent (InR (TextDocumentContentChangeWholeDocument {_text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}))]}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 15 +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 23, _character = 16}, _workDoneToken = Nothing}} +Hover {_contents = InL (MarkupContent {_kind = MarkupKind_Markdown, _value = "Poo poo"}), _range = Just (Range {_start = Position {_line = 23, _character = 16}, _end = Position {_line = 23, _character = 16}})} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 9}, _workDoneToken = Nothing}} +Hover {_contents = InL (MarkupContent {_kind = MarkupKind_Markdown, _value = "Poo poo"}), _range = Just (Range {_start = Position {_line = 11, _character = 9}, _end = Position {_line = 11, _character = 9}})} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 8}, _workDoneToken = Nothing}} +Hover {_contents = InL (MarkupContent {_kind = MarkupKind_Markdown, _value = "Poo poo"}), _range = Just (Range {_start = Position {_line = 11, _character = 8}, _end = Position {_line = 11, _character = 8}})} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 2}, _workDoneToken = Nothing}} +Found the virtual file: "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n" +Hover {_contents = InL (MarkupContent {_kind = MarkupKind_Markdown, _value = "Poo poo"}), _range = Just (Range {_start = Position {_line = 15, _character = 2}, _end = Position {_line = 15, _character = 2}})} +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 2}, _workDoneToken = Nothing}} +Found the virtual file: "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n" +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 2}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 2}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 14, _character = 2}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 5, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 15, _character = 2}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 5}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 5}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 4, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 6}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 1 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 2 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 3 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 4 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 5 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 6 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 7 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 8 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 9 +textDocumentDidSave +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidSave, _params = DidSaveTextDocumentParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _text = Nothing}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 19, _character = 26}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 10 +Processing DidChangeTextDocument for: NormalizedUri (-7880369104437011469) "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc" +Found the virtual file: 11 +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_Initialized, _params = InitializedParams} +workspaceFolders [WorkspaceFolder {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}, _name = "/Users/danielharvey/Git/wasm-calc/wasm-calc11/demo"}] +textDocumentDidOpen +TNotificationMessage {_jsonrpc = "2.0", _method = SMethod_TextDocumentDidOpen, _params = DidOpenTextDocumentParams {_textDocument = TextDocumentItem {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}, _languageId = LanguageKind_Custom "calc", _version = 0, _text = "global mut index: Int64 = 1\n\nimport imports.draw as draw(\n x: Int64, y: Int64, r: Int64, g: Int64, b: Int64\n) -> Void\n\nfunction min(floor: Int64, value: Int64) -> Int64 {\n if value > floor then value else floor\n}\n\nfunction max(ceiling: Int64, value: Int64) -> Int64 { \n if value < ceiling then value else ceiling\n}\n\nfunction clamp(\n floor: Int64, ceiling: Int64, value: Int64\n) -> Int64 { min(floor, max(ceiling, value))}\n\nfunction drawBounded(\n x: Int64, y: Int64, color: (Int64,Int64,Int64)\n) -> (Int64,Int64,Int64) { \n let maxWidth: Int64 = 600; \n let maxHeight: Int64 = 600; \n let (r,g,b) = color; \n draw(\n clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b\n ); \n (r,g,b)\n}\n\nfunction cycle(color: (Int64,Int64,Int64)) -> (Int64,\nInt64,\nInt64) { let (r,g,b) = color; (g,b,r)}\n\nfunction initial(index: Int64) -> (Int64,Int64,Int64) { \n let r = clamp(0, 255, index * 2); \n let g = clamp(0, 255, 255 - r); \n let b = clamp(0, 255, r * 3); \n (r,g,b)\n}\n\nexport function test() -> Void { \n let color = drawBounded(\n index * 2, index * 3, initial(index)\n ); \n let color2 = drawBounded(\n 100 - index, index * 3, cycle(color)\n ); \n let color3 = drawBounded(\n 10 + index * 3, 50 - index * 2, cycle(color2)\n ); \n drawBounded(index * 4, 200 - index * 3, cycle(color3)); \n if index < 200 then\n set(index, index + 1)\n else\n set(index, 0)\n}\n\n"}}} +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 7, _character = 5}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + + +textDocumentDidHover +TRequestMessage {_jsonrpc = "2.0", _id = IdInt 3, _method = SMethod_TextDocumentHover, _params = HoverParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/danielharvey/Git/wasm-calc/wasm-calc11/demo/draw.calc"}}, _position = Position {_line = 11, _character = 5}, _workDoneToken = Nothing}} +global mut index: Int64 = 1 + +import imports.draw as draw( + x: Int64, y: Int64, r: Int64, g: Int64, b: Int64 +) -> Void + +function min(floor: Int64, value: Int64) -> Int64 { + if value > floor then value else floor +} + +function max(ceiling: Int64, value: Int64) -> Int64 { + if value < ceiling then value else ceiling +} + +function clamp( + floor: Int64, ceiling: Int64, value: Int64 +) -> Int64 { min(floor, max(ceiling, value))} + +function drawBounded( + x: Int64, y: Int64, color: (Int64,Int64,Int64) +) -> (Int64,Int64,Int64) { + let maxWidth: Int64 = 600; + let maxHeight: Int64 = 600; + let (r,g,b) = color; + draw( + clamp(0, maxWidth, x), clamp(0, maxHeight, y), r, g, b + ); + (r,g,b) +} + +function cycle(color: (Int64,Int64,Int64)) -> (Int64, +Int64, +Int64) { let (r,g,b) = color; (g,b,r)} + +function initial(index: Int64) -> (Int64,Int64,Int64) { + let r = clamp(0, 255, index * 2); + let g = clamp(0, 255, 255 - r); + let b = clamp(0, 255, r * 3); + (r,g,b) +} + +export function test() -> Void { + let color = drawBounded( + index * 2, index * 3, initial(index) + ); + let color2 = drawBounded( + 100 - index, index * 3, cycle(color) + ); + let color3 = drawBounded( + 10 + index * 3, 50 - index * 2, cycle(color2) + ); + drawBounded(index * 4, 200 - index * 3, cycle(color3)); + if index < 200 then + set(index, index + 1) + else + set(index, 0) +} + diff --git a/wasm-calc11/demo/draw.calc b/wasm-calc11/demo/draw.calc index 22dcf989..1dcbd576 100644 --- a/wasm-calc11/demo/draw.calc +++ b/wasm-calc11/demo/draw.calc @@ -55,3 +55,4 @@ export function test() -> Void { else set(index, 0) } + diff --git a/wasm-calc11/src/Calc/Lsp.hs b/wasm-calc11/src/Calc/Lsp.hs index 9edd5870..49433aa9 100644 --- a/wasm-calc11/src/Calc/Lsp.hs +++ b/wasm-calc11/src/Calc/Lsp.hs @@ -5,68 +5,103 @@ module Calc.Lsp (lsp) where +import Data.Text.Utf16.Rope.Mixed as TextRope +import qualified Data.Text as T +import Control.Lens hiding (Iso) +import qualified Language.LSP.VFS as LSP import Data.Maybe import Control.Monad.IO.Class import Language.LSP.Protocol.Message -import Language.LSP.Protocol.Types -import Language.LSP.Server +import qualified Language.LSP.Protocol.Types as LSP +import qualified Language.LSP.Server as LSP +import Language.LSP.Protocol.Lens qualified as LSP doLog :: (MonadIO m) => String -> m () doLog = liftIO . appendFile "/Users/danielharvey/git/wasm-calc/lsp-log.txt" . (<>) "\n" -handlers :: Handlers (LspM ()) +handlers :: LSP.Handlers (LSP.LspM ()) handlers = mconcat - [ notificationHandler SMethod_Initialized $ \notification -> do + [ LSP.notificationHandler SMethod_Initialized $ \notification -> do doLog (show notification) - workspaceFolders <- fromMaybe [] <$> getWorkspaceFolders + workspaceFolders <- fromMaybe [] <$> LSP.getWorkspaceFolders doLog ("workspaceFolders " <> show workspaceFolders) - {- - let opts = - TextDocumentRegistrationOptions - ( InL $ - DocumentSelector - [ DocumentFilter (InL $ TextDocumentFilter (InR $ InR $ - TextDocumentFilterPattern Nothing Nothing "*.calc")) - ] - ) - _ <- registerCapability mempty SMethod_TextDocumentDidOpen opts $ \req -> do - doLog "textDocumentDidOpen register response" - doLog (show req) -} pure (), - notificationHandler SMethod_TextDocumentDidOpen $ \notification -> do + LSP.notificationHandler SMethod_TextDocumentDidOpen $ \notification -> do doLog "textDocumentDidOpen" doLog (show notification) pure (), - notificationHandler SMethod_TextDocumentDidChange $ \notification -> do - doLog "textDocumentDidChange" + LSP.notificationHandler SMethod_TextDocumentDidChange $ \notification -> do + -- doLog "textDocumentDidChange" + -- doLog (show notification) + let doc = + notification + ^. LSP.params + . LSP.textDocument + . LSP.uri + . to LSP.toNormalizedUri + doLog ("Processing DidChangeTextDocument for: " <> show doc) + let TNotificationMessage _ _ + (LSP.DidChangeTextDocumentParams + (LSP.VersionedTextDocumentIdentifier textDocumentIdentifier _) _) = notification + file <- findFile textDocumentIdentifier + doLog (show file) + pure (), + LSP.notificationHandler SMethod_TextDocumentDidSave $ \notification -> do + doLog "textDocumentDidSave" doLog (show notification) - pure () + pure (), + LSP.requestHandler SMethod_TextDocumentHover $ \req responder -> do + doLog "textDocumentDidHover" + doLog (show req) + let TRequestMessage _ _ _ (LSP.HoverParams (LSP.TextDocumentIdentifier doc) pos _workDone) = req + file <- findFile doc + doLog (T.unpack file) + + let LSP.Position _l _c' = pos + rsp = LSP.Hover (LSP.InL ms) (Just range) + ms = LSP.mkMarkdown "Poo poo" + range = LSP.Range pos pos + responder (Right $ LSP.InL rsp) ] +findFile :: LSP.Uri -> LSP.LspM config T.Text +findFile doc = do + let uri = LSP.toNormalizedUri doc + mdoc <- LSP.getVirtualFile uri + case mdoc of + Just (LSP.VirtualFile _ _ str) -> do + pure (TextRope.toText str) + Nothing -> do + error ("Didn't find anything in the VFS for: " <> show doc) + + lsp :: IO Int lsp = - runServer $ - ServerDefinition + LSP.runServer $ + LSP.ServerDefinition { parseConfig = const $ const $ Right (), onConfigChange = const $ pure (), defaultConfig = (), configSection = "demo", doInitialize = \env _req -> pure $ Right env, staticHandlers = \_caps -> handlers, - interpretHandler = \env -> Iso (runLspT env) liftIO, - options = defaultOptions - { optTextDocumentSync = Just syncOptions - , optServerInfo = Just $ ServerInfo "Calc Language Server" Nothing + interpretHandler = \env -> LSP.Iso (LSP.runLspT env) liftIO, + options = LSP.defaultOptions + { LSP.optTextDocumentSync = Just syncOptions + , LSP.optServerInfo = Just $ LSP.ServerInfo "Calc Language Server" Nothing } } where - syncOptions = TextDocumentSyncOptions + syncOptions = LSP.TextDocumentSyncOptions (Just True) -- open/close notifications - (Just TextDocumentSyncKind_Full) -- changes - (Just False) -- will save - (Just False) -- will save (wait until requests are sent to server) - (Just $ InR $ SaveOptions $ Just False) -- save + (Just LSP.TextDocumentSyncKind_Full) -- changes + Nothing -- will save + Nothing -- will save (wait until requests are sent to server) + (Just $ LSP.InR $ LSP.SaveOptions $ Just False) -- save + + + diff --git a/wasm-calc11/wasm-calc11.cabal b/wasm-calc11/wasm-calc11.cabal index bfa6ef49..4d7d7dd8 100644 --- a/wasm-calc11/wasm-calc11.cabal +++ b/wasm-calc11/wasm-calc11.cabal @@ -39,6 +39,7 @@ common shared , file-embed , hashable , haskeline + , lens , lsp , megaparsec , mtl @@ -48,6 +49,7 @@ common shared , process , string-conversions , text + , text-rope , unix , unordered-containers , wasm