~/bend-docscommunity

ref_token.bend checks

raw source on the hub · import 0x0bf236f7bc3ba21b1b36cad3c0ecfa7c/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 584 · 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_range_dig_pair source · line 466 · raw

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

def os_range_dig source · line 471 · raw

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

def os_range_go source · line 474 · raw

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

def os_after_dash source · line 481 · raw

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

def os_dash_go source · line 484 · raw

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

def os_after_verse source · line 491 · raw

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

def os_verse_empty source · line 494 · raw

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

def os_verse_pair source · line 501 · raw

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

def os_verse source · line 506 · raw

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

def os_vdot_go source · line 509 · raw

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

def os_after_chap source · line 516 · raw

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

def os_chap_empty source · line 519 · raw

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

def os_chap_pair source · line 526 · raw

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

def os_chap source · line 531 · raw

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

def os_dot_go source · line 534 · raw

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

def os_after_book source · line 541 · raw

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

def os_book_short source · line 544 · raw

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

def os_book_pair source · line 551 · raw

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

def os_book source · line 556 · raw

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

def os_num_alpha_go source · line 559 · raw

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

def os_start_num source · line 566 · raw

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

def match_osis source · line 573 · raw

@+s:String -> String

def match_ref_token source · line 580 · raw

@+s:String -> String

def is_url_stop source · line 589 · raw

@+c:Char -> Bool

def take_url_go source · line 595 · raw

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

def starts_url source · line 620 · raw

@+s:String -> Bool

def match_url_token_go source · line 629 · raw

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

def match_url_token source · line 641 · raw

@+s:String -> String

def boundary_ok source · line 644 · raw

@prev_alnum:Bool -> Bool