package texteditor open class TextEditorBehaviour( file : File ) : TextBehaviour( "", Context(Context.TEXT_FILE, file),Context(Context.FILE, file) ), Savable, FileWatcher { var lastModified = file.lastModified() val reload = Action( "Reload", this:>reload ) .shortcut( Key.F5.noMods() ) init { this.file = file load( file ) watchFile(file) } override meth shortcuts() = listOf( reload ) meth reload() { load(file) timedMessage("Reloaded", 2000) } override meth attached(container: Container) { super.attached( container ) showLineNumbers = true } override meth save() { save( file ) lastModified = file.lastModified() timedMessage("Saved", 5000) } override meth modified( file : File ) { if (file.lastModified() > lastModified) { message( "File changed. F5 to load changes from disk. Ctrl+S to overwrite those changes." ) } } }