shq 0.1.0

sh quoting tool and library
Documentation
use std::io::Write;
use std::iter::Iterator;
use anyhow::Result;

pub fn shq(out: &mut dyn Write, i: & mut dyn Iterator <Item = String>, sep: &str) -> Result<()> {
    let mut fullrun = false;
    
    for arg in i {
	if fullrun {
	    write!(out, "{}", sep)?;
	}
	write!(out, "'")?;
	for c in arg.chars() {
	    if c == '\'' {
		write!(out, "'\"'\"'")?;
	    } else {
		write!(out, "{}", c)?;
	    }
	}
	write!(out, "'")?;
	fullrun = true;
    }
    Ok(())
}