Writing a text editor is a great way to grow as a programmer. There are some really interesting problems you have to solve, and you can see it in the comments: handling long lines, big and small files, making it load fast, dealing with Unicode... and that's before you get to the fun parts like search and replace, and extension apis.