Can now map to Tab with modifiers
[MacVim/jjgod.git] / TODO
blobd2f331d80c312b90a0f34599dba0d9fcdf31847d
1 Active:
3 - transparent text view
4 - Listen to NSSystemColorsDidChangeNotification and update highlighting
5 - Add support for 'mousehide' (needs to check p_mh)
6 - Build Vim (make) from Xcode project
7 - Cmd-W in about box sends vimMenuAction: instead of performClose:
8 - Terminal support.  :!bash -> no cursor, arrow keys mucks up display
9 - Press Cmd-n multiple times and quickly press Cmd-q; sometimes two or more
10   instances of MacVim opens up
11 - hide toolbar, open new tab, show toolbar: baseline sepearator still visible
12   (seems like a drawing bug in PSMTabBarControl)
13 - file modified outside vim dialog sometimes only appear after pressing a key
14 - let user choose file encoding and format in open/save dialogs
15 - view menu option to show/hide gui status line
16 - autosave settings ?
17 - encoding -- convert strings from vim to utf-8
18 - main menu (buffers menu, window menu)
19 - standardize NSString usage (initialization & how it is passed in messages)
20 - autosave window rows&columns?
21 - set gfn=* ?
22 - improve drag and drop support (modifier keys are ignored)
23 - grey out menus which can't be used: Tab Next/Prev/Close, Undo/Redo, etc.
24 - find/replace toolbar item (FIND_REPLACE_DIALOG)
25 - drag-to-resize, delay if mouse button held down
26 - ability to modify key equivalents at any time (?)
27 - validate menu actions for when no windows are open (e.g. selectNextWindow:)
28 - need E??? numbers for vim errors
29 - tab-completion for :action command?
30 - proper font handling
31 - check for memory leaks
32 - i8n
33 - change building procedure so that the Makefile compiles and links VimTask and
34   then calls pbxbuild to build MacVim (and put MacVim.app) in the src folder
35 - icons for all built in toolbar items
36 - window title is never set when starting with terminal vim and typing :gui
37 - forking doesn't work with :gui (i think)
38 - make sure [NSMutableData appendByte:length:] is never called with 0 length
39   (this will lead to a crash)
40 - update speed whilst resizing with mouse is excruciatingly slow
41 - window count should be typeset nicely in tab ?
42 - marked text
43 - track pad scrolling is jerky
44 - sanity check all input in handlePortMessage: etc.
45 - nice looking cursors (both the block and in insert mode) ?
46 - support project builder external editor
47   http://www.codingmonkeys.de/techpubs/externaleditor/pbxexternaleditor.html
48 - dock icon menu
49 - horizontal scrolling with trackpad does not work
50 - got this error when clicking to close second last tab:
51     2007-07-23 08:19:29.398 MacVim[335] *** Assertion failure in -[PSMTabBarControl lockFocus], AppKit.subproj/NSView.m:3248
52     2007-07-23 08:19:29.410 MacVim[335] lockFocus sent to a view whose window is deferred and does not yet have a corresponding platform window
55 Pending:
57 - improve drag and drop support (drop in command line mode not working)
58 - System colors don't come out the same as in other apps (as measure with
59   Digital Color Meter)
60 - Select-mode for <S-Key>
61 - Insertion point blinking
62 - Hollow insertion point drawing does not always work
63 - cursor in replace mode
64 - should ignore action message if is called too often (e.g. in addNewTab:)
65 - application:openFiles: should open in tabs in current window instead of in a
66   new window, only if user default is set
67 - Mouse cursor changes depeding on context
68 - Ctrl-C does not update screen until another key press (in command window)
69 - Underline color is never set properly (sp_color)
70 - Lock up when opening large session files (increasing MMFlushTimeoutInterval
71   alleviates this problem)
72 - Respond to "should change" instead of "will change" tab messages 
73 - scrolling when mouse is over scrollbar doesn't work
74 - gui dialogs (FEAT_GUI_DIALOG)
75 - no warning when buffer modified outside vim (implement gui_mch_dialog())
76 - call gui_focus_change() when appropriate
77 - ability to interrupt vim (needs to check the run-loop for interrupts)
78 - got this error on Cmd-N with no other windows open:
79     2007-07-27 22:00:17.680 MacVim[454] *** -[NSToolbarView frameDidChange:]: selector not recognized [self = 0x39ba80]
80     2007-07-27 22:00:17.690 MacVim[454] Exception raised during posting of notification.  Ignored.  exception: *** -[NSToolbarView frameDidChange:]: selector not recognized [self = 0x39ba80]
81 - got this error when opening MacVim from terminal (with 'gvim gvimrc&'):
82   Frost:~/Projects/vim7/src/MacVim winckler$ 2007-08-05 13:25:01.151 MacVim[223] *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
83   2007-08-05 13:25:01.152 MacVim[223] Exception raised during posting of notification.  Ignored.  exception: *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
84   2007-08-05 13:25:01.155 MacVim[223] *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
85   2007-08-05 13:25:01.156 MacVim[223] Exception raised during posting of notification.  Ignored.  exception: *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
86   2007-08-05 13:25:01.246 MacVim[223] *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
87   2007-08-05 13:25:01.247 MacVim[223] Exception raised during posting of notification.  Ignored.  exception: *** -[NSThemeFrame frameDidChange:]: selector not recognized [self = 0x3baa30]
88 - toogle toolbar off, maximize window, toolbar on -> text view under toolbar
89 - clicking pill button does not update 'guioptions'
90 - detect Cmd-. (and Ctrl-C) for interrupt
93 Done:
95 - :popup
96 - popup menus
97 - when only one tab open make <D-w> close window
98 - cscope, ctags
99 - Ctrl-O in insert mode
100 - remember window position
101 - font selection dialog (:set gfn=*)
102 - services menu
103 - wide characters are badly supported: they render as too wide
104 - dropping directories does not work
105 - memory leak with text view? (need to release text storage)
106 - drag and drop inside view (FEAT_GUI_DND, gui_handle_drop())
107 - hide baseline separator when tabbar is visible (and make sure clicking the
108   hide/show toolbar button in the top right of the corner does not show it
109   again)
110 - toolbar drawing bug
111 - Cmd-zoom -> no input received, drawing broken
112 - scrollbars not positioned over resize box
113 - offset text away from left edge
114 - add menu options with key equiv:
115     Cmd+Option+Left/Right to change tab, Cmd+x/c/v cut/copy/paste,
116     Cmd+z/Z undo/redo, Cmd+o open, Cmd+w/W close tab/window,
117     Cmd+Option+T special characters,
118     etc.
119 - menu key equivalents
120 - startup is a bit flakey (up until openWindowWithRows:columns:)
121 - background color of text view doesn't get set if :colorscheme is in .gvimrc,
122   since textView=nil when setDefaultColorsBackground:foreground: is called
123 - resize window on font change
124 - don't clear the text storage on setMaxRows:: so that display does not go
125   blank when dragging to resize
126 - zoom&resize broken
127 - add user default for min/max tab size
128 - :colorscheme elflord, :set lines+=3 --> colors are not updated properly
129 - use DO to communicate between GUI and Vim (only for two-way communication,
130   one-way communication should still use mach ports)
131 - make scrollbar inactive if it is too small to display properly
132 - make vertical scrollbars cover command line as well
133 - setting font in .gvimrc has no effect since textStorage has not been init'ed
134 - fonts
135 - scroll bars
136 - Make MacVim project depend on PSMTabBarControl project
137 - Change Makefile so that it builds a vim executable and copy this into the
138   MacVim.app from the MacVim project
139 - warning before closing modified buffer
140 - On quitting, warn user if modified files are open
141 - An untitled window should not open when the GUI is started from the terminal
142   (figure out how to pass '-nowindow yes' option when launching GUI)
143 - support using VimTask as a standalone terminal app, with support for :gui
144 - path is set to / when not starting from command line, set it to $HOME instead
145 - input of wide characters does not work
146 - tab completion doesn't work on iMac
147 - close icons on tabs don't appear on iMac
148 - toolbar
149 - copy runtime files to bundle properly (only works for debug at the moment)
150 - don't resize to make window bigger than what can fit on screen
151 - window resizing using mouse & zoom
152 - cmd-click to maximize window, :tabnew...the text view overlaps the tabline
153 - colorscheme changes are buggy (open two tabs, change colorscheme, open new
154   tab;  the new tab has wrong color on first and last lines.)
155 - tab selection bug: open three tabs, selct middle, drag last tab so it becomes
156   middle without selecting it, select middle tab...selects middle, then last
157 - tab selection bug #2: :tabnew, drag tab #2 to pos #1, press enter.  tab #2 is
158   selected.
159 - this stuffs up the display: set go-=e; :tabnew
160 - with 2 tabs: closing one tab using mouse makes screen flash (does not happen
161   if tab is closed using :q)
162 - resize to fit every draw update
163 - insertion point
164 - copy/paste
165 - compute text storage size based on actual content
166 - color changes (:colorscheme)
167 - set text storage dimensions properly when creating text view
168 - text dimension changes
169 - notify vim task when user closes/selects tabs
170 - mouse handling in text view
171 - file type associations (Info.plist)
172 - drag and drop onto app icon
173 - remove tab update hack when flushing (edit vim code to call update)
174 - crash when typing :browse e $vim (but not :browse e $vim/)
175 - maintain queue of messages to send from task (to ensure they are passed in
176   the same order they arrive)
177 - do not include shift flag in chars that are already shifted (%, A, etc.)
178 - open file(s) in tab(s) (never open in new window?)
179 - key handling:
180     <M-Space> works, <M-S-Space> does not
181     clean up dispatchKeyEvent
182 - reordering tab pages (gui tabs must have same order as vim tabs)
183 - make sure tab is wide enough to fit label
184 - encoding (did_set_string_option, option.c, line 5675)
185   in init:
186     set_option_value((char_u *)"termencoding", 0L, (char_u *)"utf-8", 0);