~/bend-docscommunity

parse.bend checks

raw source on the hub · import 0x2a08fdaf2b3aa16ae55ed9f5bb4a08ba/parse.bend as Parse

8 imports
import Base
import ./books.bend as Books
import ./normalize.bend as Norm
import ./share.bend as Share
import ./complete.bend as Comp
import ./context.bend as Ctx
import ./route.bend as Route
import ./ref_token.bend as Tok

Types

type BookSt source · line 41 · raw

Data

type DigSt source · line 74 · raw

Data

type RangeKind source · line 152 · raw

Data

type ParseErr source · line 159 · raw

Data

type Parsed source · line 168 · raw

Data

type DecSt source · line 872 · raw

Data

Single recursive decoder — Maybe results passed as DecSt fields (no computed match)

type CutSt source · line 938 · raw

Data

type TrPh source · line 1011 · raw

Data

type ShPh source · line 1150 · raw

Data

type FaPh source · line 1268 · raw

Data

type PlfPh source · line 1509 · raw

Data

After --linkify: optional --src <tag> / --rewrite-existing (rewrite ignored on single-ref path).

Definitions

def char1 source · line 10 · raw

@+c:Char -> String

def is_book_stop_flags source · line 13 · raw

@+has_letter:Bool -> @is_d:Bool -> @is_a:Bool -> @is_s:Bool -> Bool

def is_book_stop source · line 28 · raw

@+has_letter:Bool -> @+c:Char -> Bool

def next_has_letter_go source · line 31 · raw

@has_letter:Bool -> @is_a:Bool -> Bool

def next_has_letter source · line 38 · raw

@+has_letter:Bool -> @+c:Char -> Bool

def take_book_go source · line 46 · raw

@fuel:Nat -> @st:BookSt -> @rest:String -> @acc:String -> @+has_letter:Bool -> Pair(String, String)

def take_book source · line 71 · raw

@+s:String -> Pair(String, String)

def take_digits_go source · line 79 · raw

@fuel:Nat -> @st:DigSt -> @rest:String -> @acc:String -> Pair(String, String)

def take_digits source · line 104 · raw

@+s:String -> Pair(String, String)

def is_colon_or_dot source · line 107 · raw

@+c:Char -> Bool

def drop_head source · line 110 · raw

@s:String -> String

def drop_cv_sep_go source · line 117 · raw

@+s:String -> @drop:Bool -> String

def drop_cv_sep source · line 124 · raw

@+s:String -> String

def drop_dash_go source · line 131 · raw

@+s:String -> @drop:Bool -> String

def drop_dash source · line 138 · raw

@+s:String -> String

def is_dash_head source · line 145 · raw

@s:String -> Bool

def require_u32_nz source · line 181 · raw

@n:U32 -> @z:Bool -> Result<&1, &1, ParseErr, U32>

def require_u32_go source · line 188 · raw

@m:Maybe<&2, U32> -> Result<&1, &1, ParseErr, U32>

def require_u32 source · line 195 · raw

@s:String -> Result<&1, &1, ParseErr, U32>

def check_ch_le source · line 198 · raw

@+book:String -> @+ch:U32 -> @+max:U32 -> @ok:Bool -> Result<&1, &1, ParseErr, Unit>

def check_ch_go source · line 205 · raw

@+book:String -> @+ch:U32 -> @m:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Unit>

def check_ch source · line 212 · raw

@+book:String -> @+ch:U32 -> Result<&1, &1, ParseErr, Unit>

def check_vs_le source · line 215 · raw

@+book:String -> @+ch:U32 -> @+v:U32 -> @+max:U32 -> @ok:Bool -> Result<&1, &1, ParseErr, Unit>

def check_vs_go source · line 222 · raw

@+book:String -> @+ch:U32 -> @+v:U32 -> @m:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Unit>

def check_vs source · line 229 · raw

@+book:String -> @+ch:U32 -> @+v:U32 -> Result<&1, &1, ParseErr, Unit>

def fmt_osis_part source · line 232 · raw

@+book:String -> @+ch:U32 -> @v:Maybe<&2, U32> -> String

def fmt_same_canonical source · line 242 · raw

@+book:String -> @+ch:U32 -> @a:U32 -> @ev:Maybe<&2, U32> -> String

def fmt_canonical_same source · line 249 · raw

@+book:String -> @+ch:U32 -> @v:Maybe<&2, U32> -> @ev:Maybe<&2, U32> -> String

def fmt_canonical_cross source · line 256 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> String

def fmt_canonical source · line 259 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> @+kind:RangeKind -> String

def fmt_display_verse source · line 272 · raw

@+name:String -> @+ch:U32 -> @v:Maybe<&2, U32> -> String

def fmt_display_same2 source · line 282 · raw

@+name:String -> @+ch:U32 -> @a:U32 -> @ev:Maybe<&2, U32> -> String

def fmt_display_same source · line 295 · raw

@+name:String -> @+ch:U32 -> @v:Maybe<&2, U32> -> @ev:Maybe<&2, U32> -> String

def fmt_cv_part source · line 302 · raw

@+ch:U32 -> @v:Maybe<&2, U32> -> String

def fmt_display_cross_same source · line 309 · raw

@+name:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> String

def fmt_display_cross_diff source · line 315 · raw

@+nb:String -> @+neb:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> String

def fmt_display_cross_go source · line 321 · raw

@+same:Bool -> @+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> String

def fmt_display_cross source · line 328 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> String

def fmt_display_with source · line 331 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> @+kind:RangeKind -> String

def fmt_display source · line 347 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> @+kind:RangeKind -> String

def mk_parsed source · line 350 · raw

@+book:String -> @+end_book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> @+kind:RangeKind -> Parsed

def mk_same source · line 357 · raw

@+book:String -> @+ch:U32 -> @+v:Maybe<&2, U32> -> @+ech:U32 -> @+ev:Maybe<&2, U32> -> @+kind:RangeKind -> Parsed

def finish_ch_ok source · line 360 · raw

@+book:String -> @+ch:U32 -> @+ech:U32 -> @+kind:RangeKind -> @rev:Bool -> Result<&1, &1, ParseErr, Parsed>

def finish_ch_after source · line 367 · raw

@+book:String -> @+ch:U32 -> @+ech:U32 -> @+kind:RangeKind -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_ch_match source · line 374 · raw

@+book:String -> @+ch:U32 -> @+ech:U32 -> @+kind:RangeKind -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_ch source · line 381 · raw

@+book:String -> @+ch:U32 -> @+ech:U32 -> @+kind:RangeKind -> Result<&1, &1, ParseErr, Parsed>

def finish_vs_end_ok source · line 384 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @+en:U32 -> @rev:Bool -> Result<&1, &1, ParseErr, Parsed>

def finish_vs_end source · line 391 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @+en:U32 -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_vs_ev source · line 398 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Parsed>

def finish_vs_after_vn source · line 405 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_vs_match source · line 412 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_vs source · line 419 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Parsed>

def is_cv_sep_head source · line 422 · raw

@s:String -> Bool

def is_book_num_char source · line 429 · raw

@+c:Char -> Bool

def alpha_head_s source · line 435 · raw

@s:String -> Bool

def bookish_head source · line 442 · raw

@s:String -> Bool

def verse_ord_start source · line 449 · raw

@v:Maybe<&2, U32> -> U32

def verse_ord_end source · line 456 · raw

@v:Maybe<&2, U32> -> U32

def rev_same_book source · line 463 · raw

@+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @ch_lt:Bool -> @ch_eq:Bool -> Bool

def rev_orders source · line 474 · raw

@+so:U32 -> @+eo:U32 -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @book_lt:Bool -> @book_eq:Bool -> Bool

def rev_orders_m source · line 485 · raw

@+so:U32 -> @eo_m:Maybe<&2, U32> -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Bool>

def rev_books_m source · line 492 · raw

@so_m:Maybe<&2, U32> -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Bool>

def is_reversed_cross source · line 499 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+eb:String -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Bool>

def finish_cross_ok source · line 502 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @rev:Bool -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_after_rev source · line 509 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Bool> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_ev source · line 516 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_ec_ev source · line 523 · raw

@ev:Maybe<&2, U32> -> @+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_ec source · line 530 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_sc source · line 537 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_sv_m source · line 544 · raw

@sv:Maybe<&2, U32> -> @+sb:String -> @+eb:String -> @+sc:U32 -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross_sv source · line 551 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> @r:Result<&1, &1, ParseErr, Unit> -> Result<&1, &1, ParseErr, Parsed>

def finish_cross source · line 558 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+ev:Maybe<&2, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_end_verse_num source · line 561 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_end_verse_vs source · line 568 · raw

@empty_vs:Bool -> @+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+vs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_end_verse_rest source · line 575 · raw

@rest_empty:Bool -> @+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+vs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_end_verse_pair source · line 582 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_end_after_ch source · line 587 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+rest:String -> @empty:Bool -> @sep:Bool -> Result<&1, &1, ParseErr, Parsed>

def parse_end_ch_num source · line 598 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+rest0:String -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_end_tail_ch source · line 605 · raw

@empty:Bool -> @+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ch_s:String -> @+rest0:String -> Result<&1, &1, ParseErr, Parsed>

def parse_end_tail_pair source · line 612 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_end_tail source · line 617 · raw

@+sb:String -> @+eb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+tail:String -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_second_book_code source · line 620 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+rest:String -> @m:Maybe<&2, String> -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_second_book_pair source · line 627 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_second_book source · line 632 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_cv_verse source · line 635 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_cv_vs source · line 642 · raw

@empty_vs:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+vs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_cv_rest source · line 649 · raw

@rest_empty:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @+vs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_cv_pair source · line 656 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+ec:U32 -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_cross_cv_ech source · line 661 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+rest_after_sep:String -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_after_verse_ev source · line 668 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_chapter_range_num source · line 675 · raw

@+book:String -> @+ch:U32 -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_range_digits_same source · line 682 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+digs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_digits_allow source · line 689 · raw

@allow:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+digs:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_digits_sep source · line 696 · raw

@sep:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+digs:String -> @+rest2:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_digits_rest source · line 703 · raw

@rest_empty:Bool -> @+allow_same_ch_digits:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+digs:String -> @+rest2:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_after_digs source · line 710 · raw

@digs_empty:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+allow_same_ch_digits:Bool -> @+digs:String -> @+rest2:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_after_dash_pair source · line 717 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+allow_same_ch_digits:Bool -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_range_after_dash_go source · line 722 · raw

@bookish:Bool -> @+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+allow_same_ch_digits:Bool -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_range_after_dash source · line 729 · raw

@+sb:String -> @+sc:U32 -> @+sv:Maybe<&2, U32> -> @+allow_same_ch_digits:Bool -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_after_verse_num_go source · line 733 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @+rest:String -> @empty:Bool -> Result<&1, &1, ParseErr, Parsed>

def parse_after_verse_num_trim source · line 740 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @+r:String -> Result<&1, &1, ParseErr, Parsed>

def parse_after_verse_num source · line 743 · raw

@+book:String -> @+ch:U32 -> @+vn:U32 -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_verse_branch_num source · line 746 · raw

@+book:String -> @+ch:U32 -> @+rest2:String -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_verse_branch_pair source · line 753 · raw

@+book:String -> @+ch:U32 -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_verse_branch source · line 758 · raw

@+book:String -> @+ch:U32 -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_chapter_range_branch source · line 762 · raw

@+book:String -> @+ch:U32 -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_after_chapter_sep_go source · line 765 · raw

@+book:String -> @+ch:U32 -> @+rest:String -> @empty:Bool -> @dash:Bool -> Result<&1, &1, ParseErr, Parsed>

def parse_after_chapter_sep_trim source · line 776 · raw

@+book:String -> @+ch:U32 -> @+r:String -> Result<&1, &1, ParseErr, Parsed>

def parse_after_chapter_sep source · line 779 · raw

@+book:String -> @+ch:U32 -> @+rest:String -> Result<&1, &1, ParseErr, Parsed>

def parse_tail_num source · line 782 · raw

@+book:String -> @+rest0:String -> @r:Result<&1, &1, ParseErr, U32> -> Result<&1, &1, ParseErr, Parsed>

def parse_tail_pair source · line 789 · raw

@+book:String -> @pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_tail source · line 794 · raw

@+book:String -> @+tail:String -> Result<&1, &1, ParseErr, Parsed>

def parse_passage_book source · line 797 · raw

@+rest:String -> @m:Maybe<&2, String> -> Result<&1, &1, ParseErr, Parsed>

def parse_passage_pair source · line 804 · raw

@pair:Pair(String, String) -> Result<&1, &1, ParseErr, Parsed>

def parse_passage_go source · line 809 · raw

@+s0:String -> @empty:Bool -> Result<&1, &1, ParseErr, Parsed>

def hex_digit_lo source · line 819 · raw

@code:U32 -> @ok:Bool -> Maybe<&2, U32>

def hex_digit_up source · line 826 · raw

@code:U32 -> @ok:Bool -> Maybe<&2, U32>

def hex_digit_low source · line 833 · raw

@code:U32 -> @ok:Bool -> Maybe<&2, U32>

def hex_nibble_af source · line 840 · raw

@+code:U32 -> @dig:Maybe<&2, U32> -> Maybe<&2, U32>

def hex_nibble_az source · line 847 · raw

@+code:U32 -> @dig:Maybe<&2, U32> -> Maybe<&2, U32>

def hex_nibble_from_code source · line 857 · raw

@+code:U32 -> Maybe<&2, U32>

def hex_nibble source · line 863 · raw

@+c:Char -> Maybe<&2, U32>

def hex_byte source · line 868 · raw

@hi:U32 -> @lo:U32 -> U32

def url_decode_go source · line 881 · raw

@fuel:Nat -> @st:DecSt -> @rest:String -> @acc:String -> String

def url_decode source · line 935 · raw

@+s:String -> String

def is_query_or_hash source · line 943 · raw

@+c:Char -> Bool

def take_until_qh_go source · line 946 · raw

@fuel:Nat -> @st:CutSt -> @rest:String -> @acc:String -> String

def strip_query source · line 971 · raw

@+s:String -> String

def take_until_slash_go source · line 974 · raw

@fuel:Nat -> @st:CutSt -> @rest:String -> @acc:String -> String

def last_path_segment source · line 999 · raw

@+s:String -> String

def strip_tr_go source · line 1017 · raw

@fuel:Nat -> @ph:TrPh -> @rest:String -> @+n:Nat -> @+orig:String -> String

def strip_tr_suffix_rev source · line 1052 · raw

@+s:String -> @rev:String -> String

def strip_tr_suffix source · line 1065 · raw

@+s:String -> String

def parse_passage_trim source · line 1068 · raw

@+s0:String -> Result<&1, &1, ParseErr, Parsed>

def parse_passage source · line 1071 · raw

@+input:String -> Result<&1, &1, ParseErr, Parsed>

def looks_like_url source · line 1075 · raw

@+s:String -> Bool

def pick_url_ref_go source · line 1096 · raw

@+share:String -> @+fallback:String -> @empty:Bool -> String

def pick_url_ref source · line 1103 · raw

@+share:String -> @+fallback:String -> String

def extract_url_ref source · line 1106 · raw

@+s:String -> String

def parse_any_go source · line 1109 · raw

@+s:String -> @is_url:Bool -> Result<&1, &1, ParseErr, Parsed>

def parse_any_trim source · line 1116 · raw

@+s:String -> Result<&1, &1, ParseErr, Parsed>

def parse_any source · line 1119 · raw

@+input:String -> Result<&1, &1, ParseErr, Parsed>

def canonical_of_r source · line 1123 · raw

@r:Result<&1, &1, ParseErr, Parsed> -> String

String-only probe for linkify (avoids Result across modules)

def try_canonical source · line 1132 · raw

@+input:String -> String

def rev_parsed source · line 1138 · raw

@xs:List<&2, Parsed> -> @acc:List<&2, Parsed> -> List<&2, Parsed>

def canon_of source · line 1145 · raw

@+p:Parsed -> String

def seen_has_go source · line 1154 · raw

@fuel:Nat -> @ph:ShPh -> @+c:String -> @xs:List<&2, String> -> Bool

def seen_has source · line 1173 · raw

@+c:String -> @+xs:List<&2, String> -> Bool

def find_push_dedup source · line 1181 · raw

@dup:Bool -> @+p:Parsed -> @acc:List<&2, Parsed> -> @seen:List<&2, String> -> Pair(List<&2, Parsed>, List<&2, String>)

def find_push_done source · line 1193 · raw

@+p:Parsed -> @acc:List<&2, Parsed> -> @+seen:List<&2, String> -> Pair(List<&2, Parsed>, List<&2, String>)

def find_push_r source · line 1196 · raw

@r:Result<&1, &1, ParseErr, Parsed> -> @acc:List<&2, Parsed> -> @seen:List<&2, String> -> Pair(List<&2, Parsed>, List<&2, String>)

def find_push_r_tok_done source · line 1208 · raw

@+tok:String -> @pair:Pair(List<&2, Parsed>, List<&2, String>) -> Pair(String, Pair(List<&2, Parsed>, List<&2, String>))

On parse failure return "" consume-tok so FaGot advances one char (not the false token).

def find_push_r_tok source · line 1216 · raw

@+tok:String -> @r:Result<&1, &1, ParseErr, Parsed> -> @acc:List<&2, Parsed> -> @seen:List<&2, String> -> Pair(String, Pair(List<&2, Parsed>, List<&2, String>))

def find_try_tok_empty source · line 1228 · raw

@empty:Bool -> @+tok:String -> @acc:List<&2, Parsed> -> @seen:List<&2, String> -> Pair(String, Pair(List<&2, Parsed>, List<&2, String>))

def find_try_tok source · line 1240 · raw

@+tok:String -> @acc:List<&2, Parsed> -> @seen:List<&2, String> -> Pair(String, Pair(List<&2, Parsed>, List<&2, String>))

def str_drop_n_go source · line 1247 · raw

@fuel:Nat -> @n:Nat -> @s:String -> String

def str_drop_n source · line 1262 · raw

@+n:Nat -> @+s:String -> String

def is_alnum_c source · line 1265 · raw

@+c:Char -> Bool

def fa_url_ph_tok source · line 1283 · raw

@+utok:String -> FaPh

def fa_url_ph source · line 1286 · raw

@+rest:String -> FaPh

def fa_ref_ph_tok source · line 1289 · raw

@+rtok:String -> FaPh

def fa_ref_ph source · line 1292 · raw

@+rest:String -> FaPh

def fa_got_from_pair source · line 1295 · raw

@pair:Pair(String, Pair(List<&2, Parsed>, List<&2, String>)) -> FaPh

def find_any_go source · line 1302 · raw

@fuel:Nat -> @ph:FaPh -> @+rest:String -> @+acc:List<&2, Parsed> -> @+seen:List<&2, String> -> List<&2, Parsed>

def find_any source · line 1379 · raw

@+input:String -> List<&2, Parsed>

def err_msg source · line 1391 · raw

@e:ParseErr -> String

def show_ok source · line 1417 · raw

@+canonical:String -> @+display:String -> IO(Unit)

def show_result source · line 1424 · raw

@r:Result<&1, &1, ParseErr, Parsed> -> IO(Unit)

def join_args source · line 1438 · raw

@xs:List<&1, String> -> String

def usage source · line 1447 · raw

IO(Unit)

def show_parsed_list_rest source · line 1450 · raw

@xs:List<&2, Parsed> -> IO(Unit)

def show_parsed_list source · line 1459 · raw

@xs:List<&2, Parsed> -> IO(Unit)

def run_context_v source · line 1468 · raw

@+book:String -> @+chapter:U32 -> @verse:Maybe<&2, U32> -> IO(Unit)

def run_context_r source · line 1475 · raw

@r:Result<&1, &1, ParseErr, Parsed> -> IO(Unit)

def run_context source · line 1484 · raw

@+q:String -> IO(Unit)

def run_query source · line 1487 · raw

@+q:String -> IO(Unit)

def run_all source · line 1490 · raw

@+q:String -> IO(Unit)

def run_complete source · line 1493 · raw

@+q:String -> IO(Unit)

def run_linkify_r source · line 1496 · raw

@r:Result<&1, &1, ParseErr, Parsed> -> @+src:String -> IO(Unit)

def run_linkify source · line 1505 · raw

@+q:String -> @+src:String -> IO(Unit)

def parse_linkify_cli_go source · line 1514 · raw

@fuel:Nat -> @ph:PlfPh -> @xs:List<&1, String> -> IO(Unit)

def parse_linkify_cli source · line 1553 · raw

@xs:List<&1, String> -> IO(Unit)

def run_flag5 source · line 1556 · raw

@+h:String -> @t:List<&1, String> -> @is_all:Bool -> @is_comp:Bool -> @is_ctx:Bool -> @is_link:Bool -> IO(Unit)

def run_args source · line 1575 · raw

@xs:List<&1, String> -> IO(Unit)

def main source · line 1589 · raw

IO(Unit)