In the last few days I finally had a bit of time to spend on a project I had been thinking about for a while: an editor for ASCII box-and-arrow charts. The result is `gramscii`: git clone git://cgit.mine.nu/gramscii gopher://cgit.mine.nu/1/cgit-70.cgi?url=gramscii/ https://cgit.mine.nu/gramscii Just clone the repo and go through the README and the manpage. Alternatively, you can grasp the basics of `gramscii` by reading the little "man poem" I wrote for it, which I also presented at the last bitreich conference 2019. It is reported below. I am definitely not good at poetry, but I am convinced we need more of it in programming ;P ------------- ########### ------------- ########### ------------- ########### ------------- !!!!!!##### ------- !!!!!!##### a man poem ------- !!!!!!##### ------- !!!!!!!!!!! for ------- !!!!!@@@@@@ ------- !!!!!@@@@@@ gramscii ------- @@@@@@ @@@@@@@@@........... @@@@@@@@@@@ @@@@@@@@@@@ 'a' is for arrow +-------> 'b' is for box +-------+ | |<---+ +-------+ | these are the gramscii's | +----+ +---+---+ main building blocks. | | | | | +-------->| | +----+ | | +-------+ 'C' is to crop, _ ___ (_) / _ \ to get rid of crap, _ | __/ (_) \___| 'e' is to edit a previous file back. 'g' is to go ^ | wherever you like | <----o---------> just add a direction | | and prepare for the hike v 'h'-'j'-'k'-'l' ___ ___ ( @ \v/ m ) work like in vi(1) \__+|+__/ {_/ \_} but if you hold [SHIFT] you'll feel like you are flying 'm' is for middle (\ \'\ but only after 'g' \'\ __________ / '| ()_________) 'N' starts afresh \ '/ \ ~~~~~~~~ \ \ \ ~~~~~~ \ 'i' inserts text. ==). \__________\ (__) ()__________) 'p' is to put _ __ ____ _ (_) \ \ /\ / / _` | whatever you have yanked _ \ V V / (_| | (_) \_/\_/ \__, | 'q' is to quit |_| after gramscii you have thanked. 'Q' is like 'q' _ _ __ _ | | but gramscii'll shut up (_) / _` | | | _ | (_| | |_| 'R' will redraw (_) \__, | (_) |_| a screen that's fuck'd up. 'u' is to undo /| |\ / +-----+ \ if you have lost your track \ +-----+ / \| |/ 'U' will re-do and get your stuff back. 'v' is for VISUAL __ __ /.-' `-.\ as you do in vim(1) // \\ /j_______________j\ to cut, yank, and crop /o.-==-. .-. .-==-.o\ || )) (( || and to fill-up your screen. \\____// \\____// hjw `-==-' `-==-' ___________________ 'w' is to save |,-------. | || m1a | | your work in a file |`-------' [ | .-. | 'W' you can use | | | | | `-' o | if you feel 'agile'. | .-. | | : : | | :_; | |_______.___._______ 'x' is to erase _ _ (_) / ) the stuff you don't need | (_/ _+/ 'y' is to yank //|\ // | ) but only after 'v'. (/ |/ s-v '-', '|', and '+' /| |\ | | | | ( \./ ) ( \ / ) (.\ /.) will dress up your lines \ : / \\*// \ / ) : ( ))*(( ) . ( '<>' / : \ ///|\\\ / v \ |__:__| ////|\\\\ /.......\ hmmm... will care of end-points. Riitta Rasimus be careful though \ '-.__.-' this is just new stuff /oo |--.--,--,--. \_.-'._i__i__i_.' if you find a bug """"""""" fsc send over a patch. this is gramscii in brief _ \ __ __| ____| \ | | | | | |\/ | just in one page __ < | __| | | _| \_\ _| _| _| _| but don't foul yourself go RTFM! --------------------------------------------------------------------- DISCLAIMER: most ASCII arts are (c) by their original authors. If no author is indicated, it is either unknown or myself. In the latter cases the ASCII arts are free for all.