~/bend-docscommunity

ref_token.bend checks

raw source on the hub · import 0x2a08fdaf2b3aa16ae55ed9f5bb4a08ba/ref_token.bend as Ref_token

REFERENCE_TOKEN-shaped scanners (grab-bcv share.ts / bible-linkify spirit). Pure Bend — helper-pair style, Nat-fuel where looping, no @unsafe.

1 import
import Base

Types

type TkPh source · line 52 · raw

Data

--- take alphas / digits / alnum ---

type UrlPh source · line 730 · raw

Data

--- URL token ---

Definitions

def char1 source · line 5 · raw

@+c:Char -> String

def is_alnum source · line 8 · raw

@+c:Char -> Bool

def is_book_num source · line 11 · raw

@+c:Char -> Bool

def drop_head source · line 17 · raw

@+s:String -> String

def longer_tok_go source · line 24 · raw

@ge:Bool -> @+a:String -> @+b:String -> String

def longer_tok source · line 31 · raw

@+a:String -> @+b:String -> String

def pick_nonempty_b source · line 34 · raw

@b_empty:Bool -> @+a:String -> @+b:String -> String

def pick_nonempty_a source · line 41 · raw

@a_empty:Bool -> @+a:String -> @+b:String -> String

def pick_nonempty source · line 48 · raw

@+a:String -> @+b:String -> String

def take_alphas_go source · line 57 · raw

@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)

def take_alphas source · line 82 · raw

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

def take_digits_go source · line 85 · raw

@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)

def take_digits source · line 110 · raw

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

def take_alnum_go source · line 113 · raw

@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)

def take_alnum source · line 138 · raw

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

def space_pair source · line 141 · raw

@sp:Bool -> @+t:String -> @+orig:String -> Pair(Bool, String)

def drop_one_space source · line 148 · raw

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

def take_spaces_go source · line 156 · raw

@fuel:Nat -> @ph:TkPh -> @rest:String -> @acc:String -> Pair(String, String)

Zero-or-more spaces (grab-bcv \s* after numbered-book digit).

def take_spaces source · line 181 · raw

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

def char_eq_head source · line 184 · raw

@+s:String -> @+c:Char -> Bool

def dig_head source · line 191 · raw

@+s:String -> Bool

def alpha_head source · line 198 · raw

@+s:String -> Bool

def hu_fail source · line 209 · raw

String

def hu_finish source · line 212 · raw

@+tok:String -> String

def hu_range_empty source · line 215 · raw

@empty:Bool -> @+pre:String -> @+ed:String -> String

def hu_range_pair source · line 222 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_range source · line 227 · raw

@+pre:String -> @+rest:String -> String

def hu_after_verse_dash source · line 230 · raw

@dash:Bool -> @+pre:String -> @+rest:String -> String

def hu_after_verse source · line 237 · raw

@+pre:String -> @+rest:String -> String

def hu_verse_empty source · line 240 · raw

@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String

def hu_verse_pair source · line 247 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_verse source · line 252 · raw

@+pre:String -> @+rest:String -> String

def hu_cv_space_dig source · line 255 · raw

@dig:Bool -> @+pre:String -> @+rest:String -> String

def hu_cv_space source · line 262 · raw

@+pre:String -> @+rest:String -> String

def hu_cv_colon source · line 265 · raw

@colon:Bool -> @space:Bool -> @glued:Bool -> @+pre:String -> @+rest:String -> String

def hu_cv_heads source · line 280 · raw

@+pre:String -> @+rest:String -> @+h:Char -> String

def hu_after_chap source · line 283 · raw

@+pre:String -> @+rest:String -> String

def hu_chap_empty source · line 290 · raw

@empty:Bool -> @+pre:String -> @+ch:String -> @+rest:String -> String

def hu_chap_pair source · line 297 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_chap source · line 302 · raw

@+pre:String -> @+rest:String -> String

def hu_need_chap_sp_go source · line 305 · raw

@sp:Bool -> @+pre:String -> @+rest:String -> String

def hu_need_chap_sp source · line 312 · raw

@+pre:String -> @pair:Pair(Bool, String) -> String

def hu_of_book_empty source · line 317 · raw

@empty:Bool -> @+pre:String -> @+b2:String -> @+rest:String -> String

def hu_of_book_pair source · line 324 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_of_book source · line 329 · raw

@+pre:String -> @+rest:String -> String

def hu_of_sp2_go source · line 332 · raw

@sp:Bool -> @+pre:String -> @+rest:String -> String

def hu_of_sp2 source · line 339 · raw

@+pre:String -> @pair:Pair(Bool, String) -> String

def hu_after_of source · line 344 · raw

@+pre:String -> @+rest:String -> String

def hu_of_word_go source · line 347 · raw

@is_of:Bool -> @+pre:String -> @+rest:String -> String

def hu_of_word source · line 354 · raw

@+pre:String -> @+rest:String -> String

def hu_of_sp_go source · line 357 · raw

@sp:Bool -> @+pre:String -> @+rest:String -> String

def hu_of_sp source · line 364 · raw

@+pre:String -> @pair:Pair(Bool, String) -> String

def hu_after_dot source · line 369 · raw

@+pre:String -> @+rest:String -> String

def hu_dot_go source · line 372 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def hu_after_book source · line 379 · raw

@+pre:String -> @+rest:String -> String

def hu_book_empty source · line 382 · raw

@empty:Bool -> @+pre:String -> @+book:String -> @+rest:String -> String

def hu_book_pair source · line 389 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_book source · line 394 · raw

@+pre:String -> @+rest:String -> String

def hu_num_alpha_go source · line 397 · raw

@ok:Bool -> @+pre:String -> @+rest:String -> String

def hu_num_spaces_pair source · line 404 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def hu_num_spaces source · line 409 · raw

@+pre:String -> @+rest:String -> String

def hu_start_num source · line 412 · raw

@num:Bool -> @+h:Char -> @+t:String -> @+rest:String -> String

def match_human source · line 419 · raw

@+s:String -> String

def os_fail source · line 429 · raw

String

def os_finish source · line 432 · raw

@+tok:String -> String

def suf_ok source · line 435 · raw

@+suf:String -> Bool

def os_suf_body_go source · line 441 · raw

@ok:Bool -> @+pre:String -> @+suf:String -> String

def os_suf_body_pair source · line 448 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_suf_body source · line 453 · raw

@+pre:String -> @+rest:String -> String

def os_suf_go source · line 456 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_suf source · line 463 · raw

@+pre:String -> @+rest:String -> String

def os_end_verse_empty source · line 467 · raw

@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String

End-half of an OSIS range (no nested dash) — avoids mutual recursion with os_book.

def os_end_verse_pair source · line 474 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_end_verse source · line 479 · raw

@+pre:String -> @+rest:String -> String

def os_end_vdot_go source · line 482 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_end_after_chap source · line 489 · raw

@+pre:String -> @+rest:String -> String

def os_end_chap_empty source · line 492 · raw

@empty:Bool -> @+pre:String -> @+ch:String -> @+rest:String -> String

def os_end_chap_pair source · line 499 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_end_chap source · line 504 · raw

@+pre:String -> @+rest:String -> String

def os_end_dot_go source · line 507 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_end_after_book source · line 514 · raw

@+pre:String -> @+rest:String -> String

def os_end_book_short source · line 517 · raw

@short:Bool -> @+pre:String -> @+book:String -> @+rest:String -> String

def os_end_book_pair source · line 524 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_end_book source · line 529 · raw

@+pre:String -> @+rest:String -> String

def os_end_num_alpha source · line 532 · raw

@alpha:Bool -> @+pre:String -> @+rest:String -> String

def os_end_start_num source · line 539 · raw

@num:Bool -> @+h:Char -> @+t:String -> @+pre:String -> String

def os_end_ref source · line 546 · raw

@+pre:String -> @+rest:String -> String

def os_range_end_verse_empty source · line 553 · raw

@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String

def os_range_end_verse_pair source · line 560 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_range_end_verse source · line 565 · raw

@+pre:String -> @+rest:String -> String

def os_range_after_num_go source · line 568 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_range_after_num source · line 575 · raw

@+pre:String -> @+rest:String -> String

def os_range_dig_go source · line 578 · raw

@empty:Bool -> @+pre:String -> @+ed:String -> @+rest2:String -> String

def os_range_dig_pair source · line 585 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_range_dig source · line 590 · raw

@+pre:String -> @+rest:String -> String

def bookish_head source · line 593 · raw

@+s:String -> Bool

def os_range_dig_or_fail source · line 600 · raw

@dig:Bool -> @+pre:String -> @+rest:String -> String

def os_range_go source · line 607 · raw

@bookish:Bool -> @+pre:String -> @+rest:String -> String

def os_try_range_go source · line 614 · raw

@empty:Bool -> @+with_dash:String -> @+bare:String -> String

def os_try_range_att source · line 621 · raw

@+pre:String -> @+att:String -> String

def os_try_range source · line 624 · raw

@+pre:String -> @+rest:String -> String

def os_after_dash source · line 627 · raw

@+pre:String -> @+rest:String -> String

def os_dash_go source · line 630 · raw

@dash:Bool -> @+pre:String -> @+rest:String -> String

def os_after_verse source · line 637 · raw

@+pre:String -> @+rest:String -> String

def os_verse_empty source · line 640 · raw

@empty:Bool -> @+pre:String -> @+vs:String -> @+rest:String -> String

def os_verse_pair source · line 647 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_verse source · line 652 · raw

@+pre:String -> @+rest:String -> String

def os_vdot_go source · line 655 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_after_chap source · line 662 · raw

@+pre:String -> @+rest:String -> String

def os_chap_empty source · line 665 · raw

@empty:Bool -> @+pre:String -> @+ch:String -> @+rest:String -> String

def os_chap_pair source · line 672 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_chap source · line 677 · raw

@+pre:String -> @+rest:String -> String

def os_dot_go source · line 680 · raw

@dotted:Bool -> @+pre:String -> @+rest:String -> String

def os_after_book source · line 687 · raw

@+pre:String -> @+rest:String -> String

def os_book_short source · line 690 · raw

@short:Bool -> @+pre:String -> @+book:String -> @+rest:String -> String

def os_book_pair source · line 697 · raw

@+pre:String -> @pair:Pair(String, String) -> String

def os_book source · line 702 · raw

@+pre:String -> @+rest:String -> String

def os_num_alpha_go source · line 705 · raw

@alpha:Bool -> @+pre:String -> @+rest:String -> @+full:String -> String

def os_start_num source · line 712 · raw

@num:Bool -> @+h:Char -> @+t:String -> @+rest:String -> String

def match_osis source · line 719 · raw

@+s:String -> String

def match_ref_token source · line 726 · raw

@+s:String -> String

def is_url_stop source · line 735 · raw

@+c:Char -> Bool

def take_url_go source · line 741 · raw

@fuel:Nat -> @ph:UrlPh -> @rest:String -> @acc:String -> String

def starts_url source · line 766 · raw

@+s:String -> Bool

def match_url_token_go source · line 775 · raw

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

def match_url_token source · line 787 · raw

@+s:String -> String

def boundary_ok source · line 790 · raw

@prev_alnum:Bool -> Bool