protect.bend checks
raw source on the hub · import 0xf40d06f265422706966baaec48c3e5f2/protect.bend as Protect
Markdown protect regions — port of bible-linkify protect.ts (pure Bend) Length of protected span at suffix start, or 0n. Phase-carried Bools only.
1 import
import Base
Types
type FmPh source · line 55 · raw
Data
--- Frontmatter ---
FmNeedNlFmPh
FmNeedNlDec@nl:Bool -> FmPh
FmScanFmPh
FmScanDec@nl:Bool -> FmPh
FmDash1FmPh
FmDash1Dec@is_dash:Bool -> @nl:Bool -> FmPh
FmDash1GoDashFmPh
FmDash1GoNlFmPh
FmDash1GoScanFmPh
FmDash2FmPh
FmDash2Dec@is_dash:Bool -> FmPh
FmDash3FmPh
FmDash3Dec@nl:Bool -> FmPh
type FsPh source · line 198 · raw
Data
--- Fence ---
FsOpenRun@want_tick:Bool -> @+run:Nat -> FsPh
FsOpenDec@want_tick:Bool -> @+run:Nat -> @is_tick:Bool -> @ge3:Bool -> FsPh
FsSkipInfo@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> FsPh
FsSkipDec@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @nl:Bool -> FsPh
FsBody@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @at_bol:Bool -> FsPh
FsBodyDec@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @at_bol:Bool -> @is_tick:Bool -> @nl:Bool -> FsPh
FsCloseRun@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @+run:Nat -> FsPh
FsCloseDec@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @+run:Nat -> @is_tick:Bool -> @ge:Bool -> FsPh
FsCloseTail@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> FsPh
FsTailDec@want_tick:Bool -> @+open_n:Nat -> @+acc:Nat -> @nl:Bool -> @sp:Bool -> FsPh
type FnGate source · line 395 · raw
Data
FnNoFnGate
FnTickFnGate
FnWaveFnGate
FnDec@at_bol:Bool -> @is_tick:Bool -> @is_wave:Bool -> FnGate
type IcPh source · line 436 · raw
Data
--- Inline code ---
IcOpen@+run:Nat -> IcPh
IcOpenDec@+run:Nat -> @is_tick:Bool -> @run0:Bool -> @nl:Bool -> IcPh
IcBody@+open_n:Nat -> @+acc:Nat -> IcPh
IcBodyDec@+open_n:Nat -> @+acc:Nat -> @nl:Bool -> @is_tick:Bool -> IcPh
IcClose@+open_n:Nat -> @+acc:Nat -> @+run:Nat -> IcPh
IcCloseDec@+open_n:Nat -> @+acc:Nat -> @+run:Nat -> @is_tick:Bool -> IcPh
type IcGate source · line 523 · raw
Data
IcGate@ok:Bool -> IcGate
type WkPh source · line 543 · raw
Data
--- Wikilink ---
WkNeed2WkPh
WkNeed2Dec@is_br:Bool -> WkPh
WkBody@+acc:Nat -> WkPh
WkBodyDec@+acc:Nat -> @nl:Bool -> @is_br:Bool -> WkPh
WkClose1@+acc:Nat -> WkPh
WkClose1Dec@+acc:Nat -> @is_br:Bool -> WkPh
type WkGate source · line 610 · raw
Data
WkGate@ok:Bool -> WkGate
type MdPh source · line 626 · raw
Data
--- Markdown link ---
MdBangMdPh
MdBangDec@is_bang:Bool -> @is_br:Bool -> MdPh
MdLabel@+acc:Nat -> MdPh
MdLabelDec@+acc:Nat -> @nl:Bool -> @is_br:Bool -> MdPh
MdMid@+acc:Nat -> MdPh
MdMidDec@+acc:Nat -> @is_par:Bool -> MdPh
MdUrl@+acc:Nat -> MdPh
MdUrlDec@+acc:Nat -> @nl:Bool -> @is_par:Bool -> MdPh
type MdGate source · line 727 · raw
Data
MdNoMdGate
MdYesMdGate
MdImgCheck@is_br:Bool -> MdGate
MdHead@is_bang:Bool -> @is_br:Bool -> @is_wiki:Bool -> MdGate
type HtPh source · line 784 · raw
Data
--- HTML ---
HtOpenHtPh
HtOpenDec@is_lt:Bool -> HtPh
HtSlashHtPh
HtSlashDec@is_slash:Bool -> @is_alpha:Bool -> HtPh
HtNameHtPh
HtNameDec@is_alpha:Bool -> HtPh
HtBody@+acc:Nat -> HtPh
HtBodyDec@+acc:Nat -> @nl:Bool -> @is_gt:Bool -> HtPh
type PkPh source · line 881 · raw
Data
--- Priority pick ---
PkFence@n:Nat -> PkPh
PkFenceDec@n:Nat -> @z:Bool -> PkPh
PkInline@n:Nat -> PkPh
PkInlineDec@n:Nat -> @z:Bool -> PkPh
PkWiki@n:Nat -> PkPh
PkWikiDec@n:Nat -> @z:Bool -> PkPh
PkMd@n:Nat -> PkPh
PkMdDec@n:Nat -> @z:Bool -> PkPh
PkHtml@n:Nat -> PkPh
type FpGate source · line 936 · raw
Data
FpDoc@fm:Nat -> @rest:Nat -> FpGate
FpBody@rest:Nat -> FpGate
Definitions
def char1 source · line 5 · raw
@+c:Char -> String
def str_drop_go source · line 8 · raw
@fuel:Nat -> @n:Nat -> @s:String -> String
def str_drop source · line 23 · raw
@+n:Nat -> @+s:String -> String
def str_take_go source · line 26 · raw
@fuel:Nat -> @n:Nat -> @s:String -> @acc:String -> String
def str_take source · line 41 · raw
@+n:Nat -> @+s:String -> String
def is_newline source · line 44 · raw
@+c:Char -> Bool
def is_hyphen source · line 49 · raw
@+c:Char -> Bool
def pick_dash1_nl source · line 70 · raw
@nl:Bool -> FmPh
def pick_dash1 source · line 77 · raw
@is_dash:Bool -> @nl:Bool -> FmPh
def frontmatter_go source · line 85 · raw
@fuel:Nat -> @ph:FmPh -> @+rest:String -> @+consumed:Nat -> Nat
def frontmatter_len_if source · line 182 · raw
@ok:Bool -> @+s:String -> Nat
def frontmatter_len source · line 194 · raw
@+s:String -> Nat
def is_tick_char source · line 210 · raw
@+want_tick:Bool -> @+c:Char -> Bool
def fence_len_go source · line 217 · raw
@fuel:Nat -> @ph:FsPh -> @rest:String -> Nat
def fence_len_from_open source · line 388 · raw
@+want_tick:Bool -> @+s:String -> Nat
def fence_len_gate source · line 401 · raw
@fuel:Nat -> @g:FnGate -> @+s:String -> Nat
def fence_len source · line 428 · raw
@+at_bol:Bool -> @+s:String -> Nat
def inline_code_go source · line 444 · raw
@fuel:Nat -> @ph:IcPh -> @rest:String -> Nat
def inline_code_len_gated source · line 526 · raw
@g:IcGate -> @+s:String -> Nat
def inline_code_len source · line 535 · raw
@+s:String -> Nat
def wikilink_go source · line 551 · raw
@fuel:Nat -> @ph:WkPh -> @rest:String -> Nat
def wikilink_len_gated source · line 613 · raw
@g:WkGate -> @+s:String -> Nat
def wikilink_len source · line 622 · raw
@+s:String -> Nat
def md_link_go source · line 636 · raw
@fuel:Nat -> @ph:MdPh -> @rest:String -> Nat
def md_link_len_go source · line 733 · raw
@fuel:Nat -> @g:MdGate -> @+s:String -> Nat
def md_link_len source · line 772 · raw
@+s:String -> Nat
def html_go source · line 794 · raw
@fuel:Nat -> @ph:HtPh -> @rest:String -> Nat
def html_len source · line 877 · raw
@+s:String -> Nat
def protect_len_go source · line 892 · raw
@fuel:Nat -> @ph:PkPh -> @+at_bol:Bool -> @+s:String -> Nat
def protect_len source · line 933 · raw
@+at_bol:Bool -> @+s:String -> Nat
def pick_nonzero_go source · line 940 · raw
@+a:Nat -> @+b:Nat -> @z:Bool -> Nat
def pick_nonzero source · line 947 · raw
@+a:Nat -> @+b:Nat -> Nat
def frontmatter_or_protect source · line 950 · raw
@+at_doc_start:Bool -> @+at_bol:Bool -> @+s:String -> Nat