Last active
July 25, 2025 09:12
-
-
Save LCamel/8d1cf08fc8cd725f51613904f7de52b6 to your computer and use it in GitHub Desktop.
editTexts 的 callback 中, 即便晚了 10 秒再去 readSource, 讀到的也是舊的. 但隨後的 didChange 去讀就能讀到新的.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Jul 25 16:53:05 json: decoding request | |
Jul 25 16:53:05 JSON content: {"filePath":"/workspaces/gcl-all/gcl-vscode/example/gcd.gcl"} | |
Jul 25 16:53:05 json: decoding succeeded | |
Jul 25 16:53:05 Reload handler >>>> /workspaces/gcl-all/gcl-vscode/example/gcd.gcl | |
Jul 25 16:53:05 load: start | |
Jul 25 16:53:05 ask file state ref | |
Jul 25 16:53:05 ask file state map | |
Jul 25 16:53:05 lookup file state map | |
Jul 25 16:53:05 found | |
Jul 25 16:53:05 readSource: version: 3 | |
Jul 25 16:53:05 source read | |
Jul 25 16:53:05 | |
Jul 25 16:53:05 =================================================== | |
Jul 25 16:53:05 con A, B : Int { A > 0 ∧ B > 0} | |
Jul 25 16:53:05 var gcd : Int -> Int -> Int | |
Jul 25 16:53:05 var x, y : Int | |
Jul 25 16:53:05 | |
Jul 25 16:53:05 x, y := A, B | |
Jul 25 16:53:05 | |
Jul 25 16:53:05 { gcd x y = gcd A B ∧ x > 0 ∧ y > 0, | |
Jul 25 16:53:05 bnd: x + y } | |
Jul 25 16:53:05 do x < y -> y := y - x | |
Jul 25 16:53:05 | x > y -> x := x - y | |
Jul 25 16:53:05 od | |
Jul 25 16:53:05 ? | |
Jul 25 16:53:05 { x = gcd A B } | |
Jul 25 16:53:05 | |
Jul 25 16:53:05 =================================================== | |
Jul 25 16:53:05 source parsed | |
Jul 25 16:53:05 should dig holes | |
Jul 25 16:53:05 < DigHoles [/workspaces/gcl-all/gcl-vscode/example/gcd.gcl [192-193] 12:1-2] | |
Jul 25 16:53:05 load: end | |
Jul 25 16:53:05 Reload handler <<<< /workspaces/gcl-all/gcl-vscode/example/gcd.gcl | |
Jul 25 16:53:05 holes digged | |
Jul 25 16:53:15 load: start | |
Jul 25 16:53:15 ask file state ref | |
Jul 25 16:53:15 ask file state map | |
Jul 25 16:53:15 lookup file state map | |
Jul 25 16:53:15 found | |
Jul 25 16:53:15 readSource: version: 3 | |
Jul 25 16:53:15 source read | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 =================================================== | |
Jul 25 16:53:15 con A, B : Int { A > 0 ∧ B > 0} | |
Jul 25 16:53:15 var gcd : Int -> Int -> Int | |
Jul 25 16:53:15 var x, y : Int | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 x, y := A, B | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 { gcd x y = gcd A B ∧ x > 0 ∧ y > 0, | |
Jul 25 16:53:15 bnd: x + y } | |
Jul 25 16:53:15 do x < y -> y := y - x | |
Jul 25 16:53:15 | x > y -> x := x - y | |
Jul 25 16:53:15 od | |
Jul 25 16:53:15 ? | |
Jul 25 16:53:15 { x = gcd A B } | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 =================================================== | |
Jul 25 16:53:15 source parsed | |
Jul 25 16:53:15 should dig holes | |
Jul 25 16:53:15 < DigHoles [/workspaces/gcl-all/gcl-vscode/example/gcd.gcl [192-193] 12:1-2] | |
Jul 25 16:53:15 load: end | |
Jul 25 16:53:15 STextDocumentDidChange start | |
Jul 25 16:53:15 readSource: version: 4 | |
Jul 25 16:53:15 ======== >>>> OnDidChangeTextDocument: source ======== | |
Jul 25 16:53:15 con A, B : Int { A > 0 ∧ B > 0} | |
Jul 25 16:53:15 var gcd : Int -> Int -> Int | |
Jul 25 16:53:15 var x, y : Int | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 x, y := A, B | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 { gcd x y = gcd A B ∧ x > 0 ∧ y > 0, | |
Jul 25 16:53:15 bnd: x + y } | |
Jul 25 16:53:15 do x < y -> y := y - x | |
Jul 25 16:53:15 | x > y -> x := x - y | |
Jul 25 16:53:15 od | |
Jul 25 16:53:15 [! | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 !] | |
Jul 25 16:53:15 { x = gcd A B } | |
Jul 25 16:53:15 ======== <<<< OnDidChangeTextDocument: source ======== | |
Jul 25 16:53:15 ask file state ref | |
Jul 25 16:53:15 ask file state map | |
Jul 25 16:53:15 lookup file state map | |
Jul 25 16:53:15 found | |
Jul 25 16:53:15 ====== /workspaces/gcl-all/gcl-vscode/example/gcd.gcl ====== | |
Jul 25 16:53:15 | |
Jul 25 16:53:15 ask file state ref | |
Jul 25 16:53:15 ask file state map | |
Jul 25 16:53:15 lookup file state map | |
Jul 25 16:53:15 found | |
Jul 25 16:53:15 loaded | |
Jul 25 16:53:15 [] | |
Jul 25 16:53:15 ======================= | |
Jul 25 16:53:15 didChange: fileState modified | |
Jul 25 16:53:15 ask file state ref | |
Jul 25 16:53:15 ask file state map | |
Jul 25 16:53:15 lookup file state map | |
Jul 25 16:53:15 found | |
Jul 25 16:53:15 didChange: upate notification sent | |
Jul 25 16:53:15 STextDocumentDidChange end | |
Jul 25 16:53:15 semantic token: start | |
Jul 25 16:53:15 ask file state ref | |
Jul 25 16:53:15 ask file state map | |
Jul 25 16:53:15 lookup file state map | |
Jul 25 16:53:15 found | |
Jul 25 16:53:15 holes digged | |
Jul 25 16:53:25 load: start | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found | |
Jul 25 16:53:25 readSource: version: 4 | |
Jul 25 16:53:25 source read | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 =================================================== | |
Jul 25 16:53:25 con A, B : Int { A > 0 ∧ B > 0} | |
Jul 25 16:53:25 var gcd : Int -> Int -> Int | |
Jul 25 16:53:25 var x, y : Int | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 x, y := A, B | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 { gcd x y = gcd A B ∧ x > 0 ∧ y > 0, | |
Jul 25 16:53:25 bnd: x + y } | |
Jul 25 16:53:25 do x < y -> y := y - x | |
Jul 25 16:53:25 | x > y -> x := x - y | |
Jul 25 16:53:25 od | |
Jul 25 16:53:25 [! | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 !] | |
Jul 25 16:53:25 { x = gcd A B } | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 =================================================== | |
Jul 25 16:53:25 source parsed | |
Jul 25 16:53:25 all holes digged | |
Jul 25 16:53:25 abstract program generated | |
Jul 25 16:53:25 program elaborated | |
Jul 25 16:53:25 fileState created | |
Jul 25 16:53:25 fileState updated | |
Jul 25 16:53:25 load: success | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found | |
Jul 25 16:53:25 load: update notification sent | |
Jul 25 16:53:25 load: end | |
Jul 25 16:53:25 STextDocumentDidChange start | |
Jul 25 16:53:25 readSource: version: 5 | |
Jul 25 16:53:25 ======== >>>> OnDidChangeTextDocument: source ======== | |
Jul 25 16:53:25 con A, B : Int { A > 0 ∧ B > 0} | |
Jul 25 16:53:25 var gcd : Int -> Int -> Int | |
Jul 25 16:53:25 var x, y : Int | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 x, y := A, B | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 { gcd x y = gcd A B ∧ x > 0 ∧ y > 0, | |
Jul 25 16:53:25 bnd: x + y } | |
Jul 25 16:53:25 do x < y -> y := y - x | |
Jul 25 16:53:25 | x > y -> x := x - y | |
Jul 25 16:53:25 od | |
Jul 25 16:53:25 [! | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 !]! | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 !] | |
Jul 25 16:53:25 { x = gcd A B } | |
Jul 25 16:53:25 ======== <<<< OnDidChangeTextDocument: source ======== | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found | |
Jul 25 16:53:25 ====== /workspaces/gcl-all/gcl-vscode/example/gcd.gcl ====== | |
Jul 25 16:53:25 | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found | |
Jul 25 16:53:25 loaded | |
Jul 25 16:53:25 [(4,/workspaces/gcl-all/gcl-vscode/example/gcd.gcl [-1--1] 12:1-16:3)] | |
Jul 25 16:53:25 ======================= | |
Jul 25 16:53:25 didChange: fileState modified | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found | |
Jul 25 16:53:25 didChange: upate notification sent | |
Jul 25 16:53:25 STextDocumentDidChange end | |
Jul 25 16:53:25 semantic token: start | |
Jul 25 16:53:25 ask file state ref | |
Jul 25 16:53:25 ask file state map | |
Jul 25 16:53:25 lookup file state map | |
Jul 25 16:53:25 found |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment