~/bend-docscommunity

cli/vsources.bend relies on unsafe/foreign

raw source on the hub · import 0xc13c365900e26112e0e544022d18fe0b/cli/vsources.bend as Vsources

4 imports
import Base
import ../lib/effs/io.bend as X
import ../lib/vstr.bend as S
import ./project.bend as P

Definitions

def size_of source · line 11 · raw

@r:Result<&1, &1, Pair(U32, String), U32> -> U32

---- reading a file ----

def read_done source · line 18 · raw

@r:Pair(File, Result<&1, &1, Pair(U32, String), String>) -> IO(String)

def read_sized source · line 25 · raw

@r:Pair(File, Result<&1, &1, Pair(U32, String), U32>) -> IO(String)

def read_opened source · line 32 · raw

@r:Result<&1, &1, Pair(U32, String), File> -> IO(String)

def read_file source · line 41 · raw

@path:String -> IO(String)

def choose source · line 47 · raw

@c:Bool -> @a:List<&2, String> -> @b:List<&2, String> -> List<&2, String>

---- paths ----

def can_pop source · line 54 · raw

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

def tail_of source · line 61 · raw

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

def norm_step source · line 68 · raw

@+seg:String -> @+stack:List<&2, String> -> List<&2, String>

def norm_go source · line 71 · raw

@segs:List<&2, String> -> @+stack:List<&2, String> -> List<&2, String>

def norm source · line 79 · raw

@p:String -> String

A path with "." and ".." resolved.

def dir_of source · line 82 · raw

@p:String -> String

def unquote source · line 86 · raw

@+w:String -> String

---- imports ----

def import_of source · line 89 · raw

@+t:String -> String

def relative source · line 92 · raw

@+p:String -> Bool

def keep_import source · line 95 · raw

@+p:String -> @+dir:String -> @+rest:List<&2, String> -> List<&2, String>

def imports_of source · line 99 · raw

@ls:List<&2, String> -> @+dir:String -> List<&2, String>

The repository files a file imports (Bend modules and C effects), relative to the repository.

def seen_in source · line 108 · raw

@+x:String -> @ys:List<&2, String> -> Bool

---- what the packages ship: each entry and everything it imports ---- Each step handles one import, repeats included; files squared bounds them.

def ship source · line 115 · raw

@fuel:Nat -> @+todo:List<&2, String> -> @+seen:List<&2, String> -> @+root:String -> IO(List<&2, String>)

def entries source · line 129 · raw

@ps:List<&2, String> -> @+project:String -> List<&2, String>

def list_text source · line 136 · raw

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

def sources_text source · line 139 · raw

@+vlib:String -> @+files:List<&2, String> -> @+project:String -> @+shipped:List<&2, String> -> String

def write_sources source · line 145 · raw

@+f:0xc13c365900e26112e0e544022d18fe0b/cli/project.Facts -> IO(Unit)