| A list of desired features |
| -------------------------- |
| |
| Vague musings: |
| - FriBidi support? |
| - 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 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? |
| - Allow searching for and replacing newlines? |
| See also https://savannah.gnu.org/bugs/?47053. |
| - New regression framework built on expect? |
| - 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? |
| |
| Somewhat urgent: |
| - Allow text searches in the help viewer. |
| See https://savannah.gnu.org/bugs/?28994. |
| - Detect when text is being pasted, so that we can handle it faster. |
| See https://savannah.gnu.org/bugs/?40060. |
| - 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 piping marked text to an external command and replacing it with |
| the command's output -- that is: generalize the spell-check flow. |
| See also https://savannah.gnu.org/bugs/?28993. |
| |
| For version 2.4: |
| - Handle window resizes better. After we've resized, we should stay |
| wherever we were before we resized, as Pico does. [DONE] |
| - Allow even better file-type detection than we have currently, e.g. |
| through libmagic. [DONE] |
| - Compatibility with vim status files to let other editors know we're |
| in a file. [DONE] |
| |
| 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 (reading 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/replace 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). [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 PageUp/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. [DONE] |
| - Better statusbar interaction (scrolling, tab completion). [DONE] |
| - Unjustify command (^U after ^J). [DONE] |
| - Username completion (~user). [DONE] |