Moved.stale.moves: def of ezx@1.11.0.0 Import: import ezx@1.11.0.0/src/ws/moved.bend as Moved Lines 181-191 of ezx@1.11.0.0/src/ws/moved.bend: https://jend.leeeet.dev/read.txt?path=ezx@1.11.0.0/src/ws/moved.bend&start_line=181&end_line=191 import Base import ezx@1.11.0.0/src/ledger/upgrade.bend as U # why a file stops a plain lock: the first move one of its lines names def stale.moves(ms: List<&2, Shift>, +at: String, +text: String) -> String: match ms: case []: "" case Shift{+name, +old, +new} <> tl: rest = stale.moves(tl, at, text) Bool.pick(String, String.eq(U.reimport.many([U.Swap{old, new}], text), text), rest, "ez: " ++ at ++ " imports workspace member " ++ name ++ " by " ++ old ++ ", the hash the lock records for it, and the member is " ++ new ++ " now; ez lock --upgrade --package " ++ name ++ " rewrites the import") Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.eq https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ledger/upgrade.bend&name=Swap https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ledger/upgrade.bend&name=reimport.many https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/ws/moved.bend&name=Shift