experiment to see if i can implement all the gosublime 9o functionality in go, and thus margo