blob: c708034dc459dc2c98a376f1379e7b44eb0708e5 [file] [log] [blame]
Benno Schulenberg9eeb1c82016-09-08 12:09:53 +02001A list of desired features
2--------------------------
Chris Allegrettaa2ea1932000-06-06 05:53:49 +00003
Benno Schulenberg9eeb1c82016-09-08 12:09:53 +02004Vague musings:
David Lawrence Ramsey139bae02006-05-17 13:38:07 +00005- FriBidi support?
David Lawrence Ramsey139bae02006-05-17 13:38:07 +00006- Make matching bracket searches sophisticated enough to skip over
7 brackets inside comments?
8- Allow indentation of marked text by spaces as well as tabs?
David Lawrence Ramsey083cc122006-07-11 16:58:20 +00009- Allow indentation to add just enough columns to reach the nearest
10 multiple of tabsize, rather than always adding tabsize columns?
David Lawrence Ramsey139bae02006-05-17 13:38:07 +000011- Allow conversion between different character sets. Maybe use glib's
12 iconv() if the system's iconv() is inadequate, since we already use
13 glib's vsnprintf() if the system lacks vsnprintf()?
Benno Schulenberg9eeb1c82016-09-08 12:09:53 +020014- Allow setting marks (saved positions, not to be confused with the mark
15 set via Ctrl-^) at various lines and/or columns in the buffer, and
16 allow movement between them with a single keystroke?
17- Allow searching for and replacing newlines?
18 See also https://savannah.gnu.org/bugs/?47053.
19- New regression framework built on expect?
20- Add the ability to move to different lines of the screen with a single
21 keystroke, e.g. M-` (M-~) to go to the top line, M-& (M-7) to go to
22 the center line, and M-' (M-") to go to the last line?
23
24Somewhat urgent:
25- Allow text searches in the help viewer.
26 See https://savannah.gnu.org/bugs/?28994.
27- Detect when text is being pasted, so that we can handle it faster.
28 See https://savannah.gnu.org/bugs/?40060.
David Lawrence Ramsey139bae02006-05-17 13:38:07 +000029- Allow color syntaxes to apply to more than just color, so that we can
30 e.g. specify a different alternate spell checker depending on which
31 file type we have open.
Chris Allegretta55ca1022009-03-09 02:04:40 +000032- Allow piping marked text to an external command and replacing it with
Benno Schulenberg9eeb1c82016-09-08 12:09:53 +020033 the command's output -- that is: generalize the spell-check flow.
34 See also https://savannah.gnu.org/bugs/?28993.
Chris Allegretta55ca1022009-03-09 02:04:40 +000035
Benno Schulenberg72b437b2015-05-28 14:56:38 +000036For version 2.4:
37- Handle window resizes better. After we've resized, we should stay
38 wherever we were before we resized, as Pico does. [DONE]
39- Allow even better file-type detection than we have currently, e.g.
40 through libmagic. [DONE]
Benno Schulenberg8d005c82016-02-14 12:17:17 +000041- Compatibility with vim status files to let other editors know we're
42 in a file. [DONE]
Benno Schulenberg72b437b2015-05-28 14:56:38 +000043
Chris Allegretta55ca1022009-03-09 02:04:40 +000044For version 2.2:
45- Rebindable keys? [DONE]
46- Undo/Redo keys (M-U and M-E)? [DONE]
Benno Schulenberg97e98492016-05-05 13:00:20 +020047- Fix problems with color syntaxes highlighting lines too aggressively. [DONE]
48- Allow nano to work like a pager (reading from stdin). [DONE]
Chris Allegretta55ca1022009-03-09 02:04:40 +000049- Allow color syntaxes to be selected based on more than just filename
Benno Schulenberg97e98492016-05-05 13:00:20 +020050 extension. [DONE]
Chris Allegretta05417a22009-08-17 07:52:10 +000051- Allow soft wrapping as well as hard wrapping? [DONE]
David Lawrence Ramsey139bae02006-05-17 13:38:07 +000052
53For version 2.0:
David Lawrence Ramseyd9a4ded2005-04-07 02:45:28 +000054- UTF-8 support. [DONE]
David Lawrence Ramsey5ae684f2004-03-04 23:48:26 +000055- Support for paragraph searches. [DONE]
David Lawrence Ramsey8d3e7f32004-05-13 17:28:03 +000056- Support for justifying the entire file at once. [DONE]
David Lawrence Ramseye38b8082006-03-30 07:03:04 +000057- Support for filename searches in the file browser. [DONE]
David Lawrence Ramsey11c83d32005-01-02 21:26:53 +000058- Keystroke to implement "Add next sequence as raw" like vi's ^V. [DONE]
David Lawrence Ramsey40bdb682004-11-03 22:03:41 +000059- Spell check selected text only. [DONE]
David Lawrence Ramseye5d8f322004-09-30 22:07:21 +000060- Make "To Line" (^W^T) and "Read from Command" (^R^X) reenter their
Chris Allegretta434d6862003-02-03 04:55:17 +000061 parent menu when their keystroke is entered a second time (^W^T^T and
David Lawrence Ramseye5d8f322004-09-30 22:07:21 +000062 (^R^X^X) (requires figuring out when to keep cursor position and when
63 not to). [DONE]
64- Fix resetstatuspos global which we shouldn't have. [DONE]
Jordi Mallach75d05722002-05-18 21:22:47 +000065
David Lawrence Ramsey70047ee2003-06-14 20:41:34 +000066For version 1.2:
Benno Schulenberg97e98492016-05-05 13:00:20 +020067- Single-line scroll up/down? [DONE]
68- Color syntax highlighting? (Certainly seems like there's a demand for
David Lawrence Ramsey70047ee2003-06-14 20:41:34 +000069 it.) [DONE]
70- .nanorc [DONE]
71- Backup making (filename~)? [DONE]
Benno Schulenberg97e98492016-05-05 13:00:20 +020072- Search/replace string history. [DONE]
73- Implement Pico's -j and -g flags, as they are pretty easy to do. [DONE]
74- Make mouse support work with clicking on the shortcuts (-m). [DONE]
75- Implement -o (chroot of sorts). [DONE]
David Lawrence Ramsey70047ee2003-06-14 20:41:34 +000076- Allow -r to take a negative argument, meaning right margin instead of
77 left (allows resizing that way), formerly -W arg. [DONE]
78
Jordi Mallach75d05722002-05-18 21:22:47 +000079For version 1.0:
Benno Schulenberg97e98492016-05-05 13:00:20 +020080- Implement Spelling. [DONE]
81- Implement Help. [DONE]
Chris Allegrettaa2ea1932000-06-06 05:53:49 +000082- Internationalization [In progress, translators welcome!]
83- Allow nano to be resized in X. [DONE]
Benno Schulenberg97e98492016-05-05 13:00:20 +020084- On PageUp/Down, put the cursor on the first line (like Pico), not the
85 center line. [DONE]
86- Rewrite edit_refresh, if at all possible. [DONE]
87- Implement justify function. [DONE]
88- Cut to end of line. [DONE]
89- Built-in speller command. [DONE]
90- Better statusbar interaction (scrolling, tab completion). [DONE]
91- Unjustify command (^U after ^J). [DONE]
92- Username completion (~user). [DONE]