the-way 0.13.0

A code snippets manager for your terminal
Documentation
1
{"index":1,"description":"Reading a file line by line","language":"rust","extension":".rs","tags":["io","file"],"date":"2020-04-27T21:57:16.664522Z","code":"use std::fs::File;\nuse std::io::BufReader;\nuse std::io::prelude::*;\n\nfn main() {\n  let f = File::open(\"readme.md\").unwrap();\n  let reader = BufReader::new(f);\n\n  for line_ in reader.lines() {\n    let line = line_.unwrap();\n    println!(\"{} ({} bytes long)\", line, line.len());\n  }\n}"}{"index":2,"description":"Clap quickstart","language":"rust","extension":".rs","tags":["cli","clap"],"date":"2020-04-27T21:58:22.443709Z","code":"use clap::{App,Arg};\n\nfn main() {\n  let args = App::new(\"app-name\")\n    .version(\"0.1\")\n    .about(\"description\")\n    .arg(Arg::with_name(\"argument\")\n      .help(\"description of argument\")\n      .takes_value(true)\n      .required(true))\n    .get_matches();"}{"index":3,"description":"Read from STDIN line by line","language":"rust","extension":".rs","tags":["io"],"date":"2020-04-27T21:59:08.845363Z","code":"use std::io::prelude::*;\nuse std::io::BufReader;\n\nlet stdin = io::stdin();\nlet reader = stdin.lock();\nfor line_ in reader.lines() {\n    let line = line_.unwrap();\n    println!(\"{} ({} bytes long)\", line, line.len());\n}"}{"index":4,"description":"Fit polynomial to points","language":"python","extension":".py","tags":["numpy","math"],"date":"2020-04-27T21:59:37.407417Z","code":"import numpy as np\nimport matplotlib.pyplot as plt\n\nnp.random.seed(12)\n\nx = np.linspace(0, 1, 20)\ny = np.cos(x) + 0.3*np.random.rand(20)\np = np.poly1d(np.polyfit(x, y, 3))\n\nt = np.linspace(0, 1, 200)\nplt.plot(x, y, 'o', t, p(t), '-')\nplt.show()"}{"index":6,"description":"Kmerize a sequence","language":"python","extension":".py","tags":["numba","bioinformatics"],"date":"2020-04-28T09:58:54.893443Z","code":"@numba.jit(parallel=True)\ndef p_numba_kmerize(sequence, k):\n    kmers = np.zeros((sequence.shape[0]-k+1, k), dtype=\"int8\")\n    for i in numba.prange(sequence.shape[0]-k+1):\n        kmers[i] = sequence[i: i+k]\n    return kmers"}{"index":8,"description":"Customize fuzzy search in a library","language":"rust","extension":".rs","tags":["skim","cli"],"date":"2020-04-28T10:43:21.987839Z","code":"use skim::prelude::{unbounded, SkimOptionsBuilder};\nuse skim::{Skim, SkimItem, SkimItemReceiver, SkimItemSender};\n\nimpl<'a> SkimItem for SearchSnippet {\n  // ...\n}\n\nfn search(input: Vec<SearchItem>) -> Result<(), Error> {\n    let options = SkimOptionsBuilder::default()\n        .height(Some(\"100%\"))\n        .preview(Some(\"\"))\n        .preview_window(Some(\"up:60%\"))\n        .multi(true)\n        .reverse(true)\n        .build()\n        .unwrap();\n\n    let (tx_item, rx_item): (SkimItemSender, SkimItemReceiver) = unbounded();\n    for item in input.into_iter() {\n        let _ = tx_item.send(Arc::new(item));\n    }\n    drop(tx_item); // so that skim could know when to stop waiting for more items.\n\n    let selected_items = Skim::run_with(&options, Some(rx_item))\n        .map(|out| out.selected_items)\n        .unwrap_or_else(Vec::new);\n    for item in &selected_items {\n        print!(\"{}{}\", item.output(), \"\\n\");\n    }\n    Ok(())\n}"}