TODO file (? means the feature may be implemented, but not definitely) ------------------------------------------------------------------------ For the future (no targeted version, catch-all) - Compatibility with vi/emacs status files so we can let other editors know we're in a file? - FriBidi support? - Port to DJGPP? - Make matching bracket searches sophisticated enough to skip over brackets inside comments? - Allow indentation of marked text by spaces as well as tabs? - Allow indentation to add just enough columns to reach the nearest multiple of tabsize, rather than always adding tabsize columns? - Allow conversion between different character sets. Maybe use glib's iconv() if the system's iconv() is inadequate, since we already use glib's vsnprintf() if the system lacks vsnprintf()? - Allow color syntaxes to apply to more than just color, so that we can e.g. specify a different alternate spell checker depending on which file type we have open. - Allow even better file type detection than we have currently, e.g. through libmagic? - Allow setting marks (saved positions, not to be confused with the mark set via Ctrl-^) at various lines and/or columns in the buffer, and allow movement between them with a single keystroke? (we're running out of keystrokes) - Allow searching for and replacing newlines. - Allow soft wrapping as well as hard wrapping? - Fix handling of bad/incomplete UTF-8 sequences to display one Unicode FFFD (Replacement Character) per sequence instead of one per byte. For version 2.4: - Allow text searches in the help browser. - Handle window resizes better. After we resize, we should stay wherever we were before we resized, as Pico does. - Add the ability to move to different lines of the screen with a single keystroke, e.g. M-` (M-~) to go to the top line, M-& (M-7) to go to the center line, and M-' (M-") to go to the last line. - Detect when we're pasting text, so that we can handle it differently (i.e. faster than currently with screen redraws) - Allow piping marked text to an external command and replacing it with the command's output (as the internal spell checker already does with the "spell" command)? For version 2.2: - Rebindable keys? [DONE] - Undo/Redo keys (M-U and M-E)? [DONE] - Fix problems with color syntaxes' highlighting lines too aggressively [DONE] - Allow nano to work like a pager (read from stdin) [DONE] - Allow color syntaxes to be selected based on more than just filename extension, [DONE] For version 2.0: - UTF-8 support. [DONE] - Support for paragraph searches. [DONE] - Support for justifying the entire file at once. [DONE] - Support for filename searches in the file browser. [DONE] - Keystroke to implement "Add next sequence as raw" like vi's ^V. [DONE] - Spell check selected text only. [DONE] - Make "To Line" (^W^T) and "Read from Command" (^R^X) reenter their parent menu when their keystroke is entered a second time (^W^T^T and (^R^X^X) (requires figuring out when to keep cursor position and when not to). [DONE] - Fix resetstatuspos global which we shouldn't have. [DONE] For version 1.2: - Single line scroll up/down? [DONE] - Color syntax highlighting? (certainly seems like there's a demand for it.) [DONE] - .nanorc [DONE] - Backup making (filename~)? [DONE] - Search (etc.) string history [DONE] - Implement Pico's -j and -g flags, as they are pretty easy to do. [DONE] - Make mouse support work with clicking on the shortcuts (-m). Must make global variable pointing to current shortcut list to determine what keystroke to ungetch(). [DONE]. - Implement -o (chroot of sorts) [DONE] - Allow -r to take a negative argument, meaning right margin instead of left (allows resizing that way), formerly -W arg. [DONE] For version 1.0: - Implement Spelling [DONE] - Implement Help [DONE] - Internationalization [In progress, translators welcome!] - Allow nano to be resized in X. [DONE] - On page up/down, put the cursor on the first line (like Pico), not the center line [DONE] - Rewrite edit_refresh, if at all possible [DONE] - Implement justify function [DONE] - Cut to end of line [DONE] - Built-in speller command [needed for version 1.0] [DONE] - Better statusbar interaction (scrolling, tab completion for filename) [needed for version 1.0] [DONE] - Now do username completion [DONE]. - Unjustify command (^U after ^J) [DONE =-]. - Username completion (~user) [DONE =-]. $Id$