sys

A set of unix utils in hare!
Log | Files | Refs | README

rainbow.ha (556B)


      1 use fmt;
      2 use io;
      3 use os;
      4 use strings;
      5 
      6 use color;
      7 
      8 const colors = [
      9 	(color::colors::RED, color::mode::NORM),
     10 	(color::colors::YELLOW, color::mode::NORM),
     11 	(color::colors::GREEN, color::mode::NORM),
     12 	(color::colors::BLUE, color::mode::NORM),
     13 	(color::colors::CYAN, color::mode::NORM),
     14 	(color::colors::MAGENTA, color::mode::NORM)
     15 ];
     16 
     17 export fn main() void = {
     18 	let b: []u8 = [0];
     19 
     20 	for (let i = 0z; true; i += 1) {
     21 		match (io::read(os::stdin, b)) {
     22 		case size => color::print(strings::fromutf8(b)!, colors[i % len(colors)]);
     23 		case => break;
     24 		};
     25 	};
     26 };