evil-qemacs/TODO
Charlie Gordon 57c3461e0d simplified set_color API, made in inline
improved command parsing, refined argval handling, pass as optional arg
pass command arguments as an array of unions
use correct type in command dispatcher (upto 2 arguments)
merged do_goto_byte, do_goto_line, do_goto_char, extend syntax
fixed kill commands: kills are appended/prepended to kill buffer
added append_next_kill command
added do_kill_line (split from do_kill_region)
added do_kill_word (removed do_delete_word)
added do_kill_paragraph
pass argval to do_backspace and do_delete_char, fix kill behaviour
fixed kill-ring initial state bug
fixed do_yank: set mark and this_cmd_func
fixed do_yank_pop: test last_cmd_func, use eb_delete instead of do_undo
fixed do_yank_pop kill-ring bug
added clamp(int x, int min, int max);
added qs->this_cmd_func so commands can override qs->last_cmd_func
allow KEY_ESC + extended key as command binding
added do_c_forward_block, needs rewrite using colorization code
added do_c_kill_block
added insert-char command (argval repeats instead of forcing char value)
renamed delete-word to kill-word
renamed backward-delete-word to backward-kill-word
added kill-beginning-of-line
2007-12-12 02:51:05 +00:00

141 lines
5.2 KiB
Text

General TODO:
------------
- remember X11 window positions and restore layout ?
- improve image viewer.
- regex search/replace (use glibc 2.1 regex.c file)
- tab cursor displayed size
- fix kana input method
- current path in compile set to current buffer path
- avoid problems with popups (kill_buffer, delete_window, split_window)
- avoid error in new file
- faster video handling (generalize invalidate region system)
- check file permissions.
- faster search
- distribute libqhtml as a separate project
- integrate tinySVG renderer based on the new libraster.
- improve speed of text renderer / improve truncate mode (merge some
good parts with CSS renderer ?). Suppress CRC hack (not reliable).
- set_input_method() and set_buffer_file_coding_system() in config
file.
- add custom memory handling functions.
- charset: add JIS missing encoding functions
- display alternate cursor in non activate column in hex mode.
- implement wheel mode in CSS display.
- check console charset support (need to convert input?)
- test Hebrew keymap support.
DONE - kill buffer handling: append next kill as command flag
DONE - delete word should be a kill operation
- indent-with-tabs
DONE - increase MAX_SCREEN_WIDTH and MAX_SCREEN_HEIGHT beyond 256
- fix crash bug on fragments longer than MAX_SCREEN_WIDTH.
C mode TODO:
-----------
- add TAGS support:
* recursive search of QTAGS file.
* C decl parser
* man like mode
* global QTAGS file indexed with global includes
- see if java/javascript/c++ is OK.
- autocomplete
DONE - forward-level, backward-level: skipping balanced parentheses
- forward-ifdef, backward-ifdef, show-ifdefs
- automatic indentation detection
HTML mode TODO:
--------------
- OPTIMIZE eb_nextc et al or always duplicate box content (big speed
improvement).
- polish end of line offset/cursor displacement support.
- handle implicit TR
- add file referencing (<?xml-stylesheet type="text/css" href="xxx"?>,
<link>, etc...)
- fix LI numbering with VALUE attribute (cannot use CSS). Verify
counter-reset semantics.
- (z-index) floats must be displayed after all other stuff.
- <NOBR> is sometimes incorrect.
- more font style synthesis in html2ppm.
- add xml CDATA parsing
Ideas
-----
- vi mode.
- vertical scroll bar
- better Makefile (select modes)
- add auto close buffer flag (for list mode)
- improve layout scheme for better scalability.
- make dired and bufed left windows temporary popleft windows
- improve dired (file commands, nicer display)
- rethink mode specific commands -> add inheritance for all commands ?
- add command help in declarations
- make command declaration macros standalone
- dpy_open_font should never return NULL, must have a system font.
- other coloring modes
- variables ?
- scripting
- expression evaluator
- dos/mac translation modes
- minor modes with key override such as "preview" mode
- redefine KEY_Fx to make them sequential
- use failsafe memory allocator and longjmp recover.
- scroll up/down with argument should scroll by screen row.
- simplify C-z A-z accordingly
DONE - fix control-h mess
- fix bof/eof shell mode
- merge hex-mode and ascii mode
- write-region -> add filename and offsets to save_buffer stuff
DONE - detect full screen mode in shell buffer and grab all keys until exit
- fix configure for missing support: x11 xv png ...
- add configure --disable-graphics
- timers for esc key disambiguation
- move ungot_key to key_context
- allow recursive main loop, and remove input callbacks
- abbreviate lines in file completion list popup
- use trick for entering spaces in filename prompts without completion
- enlarge-window-interactively
- enlarge-window-horizontally
- enlarge-window
- show modified status and mode in bufed
- *messages* system buffer
- doctor command should create and show *trace* buffer, remove eb_new kludge
- invoking key as intrinsic argument
- fix column computation based on display properties:
(variable pitch, tabs, ^x and \uxxxx stuff -- emacs behaviour) ?
- check X11 connection at probe time
DONE - allow quoting of special keys : let do_char insert xterm/vt100
key sequence to allow typing special keys into shell process
- fix scroll up/down to move point if already at end
- fix terminal size inside shell window ?
- cmdline arg to force lines and columns to test shell.
- dired left window delete sometimes doesn't fix layout.
Clean window deletion mess:
---------------------------
detach window from tree and keep attached to buffer if last
detach window from tree and put in delayed free tree otherwise
edit_close(s)
do_delete_window(s)
bufed_select(s) if vertical split
dired_select(s) if vertical split
do_less_quit(s)
do_delete_other_windows(s) deletes other windows (!)
do_minibuffer_exit(s) also deletes completion_popup
insert_window_left() deletes some left-most windows
do_list_buffers()
do_dired()
- fix 32 bit assumptions:
qe.c:3133: call_func(): sizeof(int) == sizeof(void*) == sizeof(char*)
support for high intensity colors in terminal mode (selected as bold)
add colorized buffers using shell buffer method
make shell buffer a colorized UCS2 buffer
use colorized buffer for *trace* buffer to flag tty input, shell output,
supported and unsupported escapes.
.mailfilter should be in maildrop mode (a direct descendent of C mode)