def settings-db [] { $env.HOME | path join ".corpus.db" } def save-settings [] { into sqlite (settings-db) --table_name "documents" } def query-settings [query] { open (settings-db) | query db $query } def comp-corpus [] { list | get corpus } # create a corpus export def "add documents" [coprus:string, pattern:string] { glob $pattern | each {|x| {path: $x, corpus: $coprus}} | save-settings } # list all corpora export def list [] { query-settings "SELECT DISTINCT corpus FROM documents" } # list all documents of a corpus export def "show" [coprus:string@comp-corpus] { query-settings "SELECT DISTINCT path FROM documents" } # choose randomly a file from corpus export def choose [corpus:string@comp-corpus, --amount:int] { let documents = (show corpus) seq 1 $amount | each { $documents | shuffle | first } }