Dynamic text editor