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.
- 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:
- New regression framework built on expect.
- 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]
- Allow soft wrapping as well as hard wrapping? [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: TODO 4516 2010-08-11 02:42:32Z astyanax $
