TODO: Stuff DONE EnsureDirectoryExists for user scripts on New Script -------------- DONE - Console buffer.write writes '0' at the end? DONE console stdout for console commands. DONE menus DONE scintilla events DONE Stop Script menu disable DONE Close notepad whilst running a script DONE generation for getLine() (exception) DONE Up/down history for console input DONE return to console focus after command DONE fonts for scintilla console and prompt DONE Console - Remove default from run button, make enter send run command. DONE Change to stop button that we enable DONE Release build DONE GUI for configuration DONE Altered scripts in menu DONE FileWatcher on scripts dirs (only create / delete) DONE Python logo for console DONE Fix importing module, and using editor object in imported module (Npp module?) DONE notepad.close() closeAllButThis(), closeAll() etc DONE initialisation DONE - lazy (default) DONE - at startup DONE lines chars? __getitem__ DONE Menu enums DONE notepad.messageBox() - just need python bindings DONE notepad.prompt() - need form and object DONE Remove NPPN_READY and GetFuncs messageboxes DONE Copyright text in about box DONE clean up (g_menuScripts and g_toolbarScripts need clearing / deleting) DONE editor.forEachLine(function(lineContents, lineNumber, totalLines)) (returns number of lines to increment - if None then 1) DONE editor.deleteLine DONE editor.replaceLine DONE editor.getUserLineSelection() -- line start/end of selection or whole doc DONE editor.getUserCharSelection() -- char start/end of selection or whole doc DONE editor.setTarget(start,end) DONE clear callbacks DONE Investigate RE DONE pyreplace line number check DONE messages exec DONE test compiler (msi) docs from laptop DONE test notepad.save() with NOTIFICATIO.FILESAVING callback registered DONE pyreplace undo DONE help command on main menu (context sensitive) DONE pymlreplace see if search() then replace on each one works better DONE sample scripts DONE (works without anything special) line endings for console -- Next Release -- lines __iter__ chars __getitem__ and __iter__ notepad.activate(string) (first match) notepad.activate(int) (use current view) Lexer for console for line numbers etc (python exceptions and VS errors)