a text editor written in C