def push

bolt@1.27.0.0 · src/lsp/path.bend:4

import bolt@1.27.0.0/src/lsp/path.bend as Path
import Base

4# a segment lands on the stack (reversed): `..` pops, `.` and `` do nothing
5def push(+seg: String, +acc: List<&2, String>) -> List<&2, String>:
6  Bool.pick(List<&2, String>, String.eq(seg, ".."), List.tail(&2, String, acc),
7    Bool.pick(List<&2, String>, Bool.or(String.eq(seg, "."), String.is_empty(seg)), acc, seg <> acc))

Uses (7)

Used by (1)