Cli.code_width_by: def of cli@0.2.0.0 Import: import cli@0.2.0.0/cli.bend as Cli Lines 851-862 of cli@0.2.0.0/cli.bend: https://jend.leeeet.dev/read.txt?path=cli@0.2.0.0/cli.bend&start_line=851&end_line=862 import Base # A code point's own width: controls, marks, 200B-200F and tag characters # (E0000-E007F) are 0, East Asian Wide and Fullwidth are 2, the rest 1. def code_width_by(small: Bool, +code: U32) -> Nat: match small: case True{}: Bool.pick(Nat, Bool.or(U32.is_le(code, 31), Bool.and(U32.is_ge(code, 127), U32.is_le(code, 159))), 0n, 1n) case False{}: Bool.pick(Nat, Bool.or(unicode_is_zero_mark(code), Bool.or(Bool.and(U32.is_ge(code, 8203), U32.is_le(code, 8207)), Bool.and(U32.is_ge(code, 917504), U32.is_le(code, 917631)))), 0n, Bool.pick(Nat, unicode_is_wide(code), 2n, 1n)) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_ge https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_le https://jend.leeeet.dev/definition.txt?path=cli@0.2.0.0/cli.bend&name=unicode_is_wide https://jend.leeeet.dev/definition.txt?path=cli@0.2.0.0/cli.bend&name=unicode_is_zero_mark