home *** CD-ROM | disk | FTP | other *** search
- A few ideas for modifications...
-
- MODE INDICATORS
- Elvis always reads keystrokes via the getkey() function. This function
- is called with an argument which describes the context in which the
- character will be processed:
-
- WHEN_EX - called from the vgets() function to read
- a single line of text. Either EX command
- mode, EX text entry mode, or VI while reading
- a search string.
- WHEN_VICMD - VI mode, getting a command character.
- WHEN_VIINP - VI's input mode.
- WHEN_VIREP - VI's replace mode (the R command).
- 0 - misc times, e.g. "HIT A KEY TO CONTINUE"
-
- So, the getkey() function would be a good place to add some kind of
- mode indicator. Like, you could change the shape of the cursor for
- input mode vs. VI command mode.
-
- ARROW KEYS IN INPUT MODE
- The arrow keys are not normally mapped during input mode. It might
- be fun, though, to map them to ESC + [hjkl] + a. This way, if you
- hit an arrow key while in input mode, elvis would take you out of input
- mode momentarily, move the cursor, and drop you back into input mode.
-
- Neat, huh?
-
- Something similar could be done with replace mode.
-
- WRAP LONG LINES (INSTEAD OF SCROLLING SIDEWAYS)
- This would mostly require changes to redraw(), mark2phys(), and
- drawtext(). All of these are in the file "redraw.c".
-
- THE SHIFT-U COMMAND
- No clues, yet.
-
- ADD MORE SUPPORT FOR NON-ASCII CHARACTER SETS
- Elvis displays 8-bit character sets just fine, but is a bit weak in
- the input and search departments.
-
- For input, something similar to :map would be nice. Actually, :abbr
- is a little closer. How about ":digraph" to map a specified pair of
- ASCII characters into a single non-ASCII character?
-
- REWRITE THE REGULAR EXPRESSION PARSER AND THE SEARCHING CODE
- The current doesn't allow you to search for non-ASCI characters. It
- also doesn't locate multiple occurrences on the same line. It could
- probably be made smaller & faster.
-
- PORT ELVIS TO MS-DOS?
- Yuck!
-
- Suggestions are welcome.
-