comparison runtime/doc/todo.txt @ 625:81fe2ccc1207 v7.0179

updated for version 7.0179
author vimboss
date Thu, 12 Jan 2006 23:22:24 +0000
parents 91e7d4a7b3b0
children 732c7ae5743e
comparison
equal deleted inserted replaced
624:91e7d4a7b3b0 625:81fe2ccc1207
1 *todo.txt* For Vim version 7.0aa. Last change: 2005 Dec 29 1 *todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 12
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
28 be worked on, but only if you sponsor Vim development. See |sponsor|. 28 be worked on, but only if you sponsor Vim development. See |sponsor|.
29 29
30 *known-bugs* 30 *known-bugs*
31 -------------------- Known bugs and current work ----------------------- 31 -------------------- Known bugs and current work -----------------------
32 32
33 Find E999 and hand out numbers.
34
35 Compress list of word numbers: sort them, computer differences, store as utf-8
36 bytes.
37
38 Undo bug: Gerald Lai Jan 3.
39
40 Syntax HL: when region start has an offset that happens to be after the end of
41 the line then strange things happen. (Brett Stahlman Dec 31)
42
43 Add Python complete script (Aaron Griffin)
44
45 Evaluating CTRL-R = in the sandbox causes trouble (G. Sumner Hayes). Can the
46 rules for the commandline window be used?
47
48 Evaluate 'balloonexpr' in the sandbox only when it was set from an unsafe
49 place (e.g., modeline)? Patch from Sumner Hayes, Jan 12. Also use for other
50 options?
51
52 ":saveas asdf.c" should set 'filetype' to c when it's empty. Also for ":w
53 asdf.c" when it sets the buffer filename.
54
33 ccomplete: 55 ccomplete:
56 - When using page-up/page-down in menu it sometimes jumps more than a page.
34 - When an option is set: In completion mode and the user types (identifier) 57 - When an option is set: In completion mode and the user types (identifier)
35 characters, advance to the first match instead of removing the popup menu. 58 characters, advance to the first match instead of removing the popup menu.
36 If there is no match remove the selection. (Yegappan Lakshmanan) 59 If there is no match remove the selection. (Yegappan Lakshmanan)
37 - Complete the longest common match instead of the first match? 60 - Complete the longest common match instead of the first match?
38 For all kinds of completions? Configurable? 61 For all kinds of completions? Configurable?
39 - Window resize when poup is displayed 62 - Window resize when poup is displayed.
40 - When completing something that is a structure, add the "." or "->" right 63 - When completing something that is a structure, add the "." or "->" right
41 away. How to figure out if it's a pointer or not? 64 away. How to figure out if it's a pointer or not?
42 - When a typedef or struct is local to a file only use it in that file? 65 - When a typedef or struct is local to a file only use it in that file?
66 - Extra info for each entry to show in a tooltip kind of thing.
67 - Special mappings for when the popup menu is visible? Would allow for making
68 a specific selection (e.g, methods vs variables).
69 - Provide a function to popup the menu, so that an insert mode mapping can
70 start it (with a specific selection).
43 - !_TAG_FILE_FORMAT and it's ilk are listed in the global completions 71 - !_TAG_FILE_FORMAT and it's ilk are listed in the global completions
44 Can't reproduce it right now... 72 Can't reproduce it right now...
45 73
46 spelling: 74 spelling:
47 - Hunspell has NOSUGGEST flag (use for obscene words?) 75 - NL woordenlijst naar Adri sturen.
48 - Check out Hunspell 1.1.2. 76 - Include script to cleanup a .add file. (Antonio Colombo, Jan 9)
77 - suggestions for "macARONI" doesn't include "macaroni", they are all allcap.
78 suggestion for "KG" to "kg" when it's keepcase.
79 - Autocommand event for when a spell file is missing. Allows making a plugin
80 that fetches the file over internet. Pattern == language.
81 - Using KEEPCASE flag still allows all-upper word, docs say it doesn't.
82 Don't allow it, because there is no other way to do this.
83 - Implement NOSUGGEST flag (used for obscene words).
84 - Implement NOSPLITSUGS.
85 - Rename COMPOUNDFLAGS to COMPOUNDPATTERN or COMPOUNDRULE?
86 Hunspell now uses COMPOUND with a count.
87 - Check out Hunspell 1.1.3.
88 what does MAXNGRAMSUGS do?
89 See announcement (Nemeth, 5 jan)
90 use "\/" instead of SLASH item?
91 is COMPLEXPREFIXES necessary now that we have flags for affixes?
49 - Look into hungarian dictionary: 92 - Look into hungarian dictionary:
50 http://magyarispell.sourceforge.net/rc3-beta2.zip 93 http://magyarispell.sourceforge.net/hu_HU-1.0.tar.gz
51 - Support breakpoint character · 0xb7 and ignore it? 94 - Support flags on a suffix. Used for second level affixes, rare and
95 nocomp. The flags may also be used for compounding. Default is an OR
96 mechanism with the flags of the word. Adding "compset" on the affixes
97 means the compound flags of the word are not used.
98 Instead of "SFX a 0 add/FLAGS ." we could use "SFX a 0 add . /FLAGS" (or
99 support both).
100 - When compounding Hunspell doesn't allow affixes inside the compound word,
101 only before and after it. COMPOUNDPERMITFLAG can be used to allow it.
102 Check Myspell and Aspell if they also work this way.
103 Thus a word + suffix needs a flag that it can't be used with a following
104 compound, and word + prefix can't be after another word in a compound.
105 - Implement COMPOUNDFORBIDFLAG.
106 - Support breakpoint character · 0xb7 and ignore it? Makes it possible to use
107 same wordlist for hyphenation.
52 8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to 108 8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
53 obtain). But new Myspell wordlist will come (Hagen) 109 obtain). But new Myspell wordlist will come (Hagen)
54 - Finding suggestions with sound folding is slow. Somehow store the 110 - Finding suggestions with sound folding is slow. Somehow store the
55 sound-folded words and link to the words it comes from? 111 sound-folded words and link to the words it comes from?
56 - Also use the spelling dictionary for dictionary completion. 112 - Also use the spelling dictionary for dictionary completion.
57 - Have "zg" and "zw" report the file that was modified. (Marvin Renich) 113 - Have "zg" and "zw" report the file that was modified. (Marvin Renich)
58 - Add a command like "zg" that selects one of the files 'spellfile'. 114 - Add a command like "zg" that selects one of the files 'spellfile'.
115 - Add a "zug" command that undoes "zg"? Deletes the good word instead of
116 adding a bad word like "zw" would. Use "zuw" to undo "zw"? (Antonio
117 Colombo)
59 118
60 GTK: get an X error while exiting quickly after starting (running the tests). 119 GTK: get an X error while exiting quickly after starting (running the tests).
61 Caused by new GTK library? 120 Caused by new GTK library?
62 X Error: BadWindow (invalid Window parameter) 3 121 X Error: BadWindow (invalid Window parameter) 3
63 122
64 Support saving and restoring session for X windows? It should work to do 123 Support saving and restoring session for X windows? It should work to do
65 ":mksession" and use "-S fname" for the restart command. The 124 ":mksession" and use "-S fname" for the restart command. The
66 gui_x11_wm_protocol_handler() already takes care of the rest. 125 gui_x11_wm_protocol_handler() already takes care of the rest.
67 global_event_filter() for GTK. 126 global_event_filter() for GTK.
127
128 Is it easy to have an item in a pattern that matches with a mark location?
129 Similar to |/\%>l| and |/\%c|. (Benji Fisher)
130
131 Patch to support lists and dicts for the Python interface. (G. Sumner Hayes,
132 Jan 12). Docs in a previous patch.
133 Use free_tv() instead of clear_tv() and vim_free().
134
135 Win32 installer: Default _vimrc contains absolute path to diff.exe. After
136 upgrading it becomes invalid. Fix it automatically somehow? Use $VIMRUNTIME
137 in the path instead of filling it the path? At least give a clear error
138 message.
68 139
69 In diff mode deleting lines is very slow. E.g., when diffing two .po files 140 In diff mode deleting lines is very slow. E.g., when diffing two .po files
70 and then sourcing po/cleaup.vim. 141 and then sourcing po/cleaup.vim.
71 142
72 7 Add plugins for formatting. Should be able to make a choice depending on 143 7 Add plugins for formatting. Should be able to make a choice depending on
276 restore option values. Especially useful for new options. Problem: how 347 restore option values. Especially useful for new options. Problem: how
277 to avoid a performance penalty (esp. for string options)? 348 to avoid a performance penalty (esp. for string options)?
278 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron) 349 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron)
279 Add the 'maxcombining' option to set the nr. of composing characters. 350 Add the 'maxcombining' option to set the nr. of composing characters.
280 At the same time support more colors (use two bytes when necessary). 351 At the same time support more colors (use two bytes when necessary).
352 8 "ga" should show all composing characters, also if there are more than 2.
281 8 Searching for a composing character by itself should work. Perhaps "." 353 8 Searching for a composing character by itself should work. Perhaps "."
282 with a composing char should work too. 354 with a composing char should work too.
283 - Add a few more things to 'diffopt': "horizontal", "vertical", 355 - Add a few more things to 'diffopt': "horizontal", "vertical",
284 "foldcolumn". (Benji Fisher, 2004 Jun 21) 356 "foldcolumn". (Benji Fisher, 2004 Jun 21)
285 - FileChangedShellPost autocommand event: after (not) reloading a changed 357 - FileChangedShellPost autocommand event: after (not) reloading a changed
366 Add gui_mch_browsedir() for Motif, Mac OS/X. 438 Add gui_mch_browsedir() for Motif, Mac OS/X.
367 439
368 Add extra list of file locations. A bit like the quickfix list, but there is 440 Add extra list of file locations. A bit like the quickfix list, but there is
369 one per window. Can be used with: 441 one per window. Can be used with:
370 :ltag list of matching tags, like :tselect 442 :ltag list of matching tags, like :tselect
443 Patch from Yegappan Lakshmanan, Jan 9.
371 Commands to use the location list: 444 Commands to use the location list:
372 :lnext next location 445 :lnext next location
373 :lprevious :lNext previous location 446 :lprevious :lNext previous location
374 :lnfile location in next file 447 :lnfile location in next file
375 :lNfile :lpfile location in previous file 448 :lNfile :lpfile location in previous file
401 - dump results in file on exit or when stopped. 474 - dump results in file on exit or when stopped.
402 475
403 Add more tests for all new functionality in Vim 7. Especially new functions. 476 Add more tests for all new functionality in Vim 7. Especially new functions.
404 477
405 Updated Ruby interface. (Ryan Paul) 478 Updated Ruby interface. (Ryan Paul)
479
480 'errorformat' docs are a bit unclear. Suggestions by Charles Campbell (2006
481 Jan 6)
482 Add a flag to check for a match with the next item first? Helps for
483 continuation lines that may contain just about anything.
406 484
407 Awaiting updated patches: 485 Awaiting updated patches:
408 --- awaiting updated patch --- 486 --- awaiting updated patch ---
409 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. 487 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
410 Aric Blumer has a patch for this. 488 Aric Blumer has a patch for this.
1393 9 Work together with OpenOffice.org to update the wordlists. (Adri Verhoef, 1471 9 Work together with OpenOffice.org to update the wordlists. (Adri Verhoef,
1394 Aad Nales) Setup vim-spell maillist? 1472 Aad Nales) Setup vim-spell maillist?
1395 - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of 1473 - Compound word is accepted if nr of words is <= COMPOUNDMAX OR nr of
1396 syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file? 1474 syllables <= COMPOUNDSYLMAX. Specify using AND in the affix file?
1397 - COMPOUNDMAX -> COMPOUNDWORDMAX? 1475 - COMPOUNDMAX -> COMPOUNDWORDMAX?
1398 - Support flags on a suffix. Used for second level affixes. The flags may 1476 - NEEDCOMPOUND also used for affix? Or is this called ONLYINCOMPOUND now?
1399 also be used for compounding. Default is an OR mechanism with the flags 1477 Or is ONLYINCOMPOUND only for inside a compound, not at start or end?
1400 of the word. Adding "compset" on the affixes means the compound flags of
1401 the word are not used. Instead of "SFX a 0 add/FLAGS ." we could use "SFX
1402 a 0 add . /FLAGS" (or support both).
1403 - NEEDCOMPOUND also used for affix? Or use "needcomp" after affix?
1404 - Do we need a flag for the rule that when compounding is done the following 1478 - Do we need a flag for the rule that when compounding is done the following
1405 word doesn't have a capital after a word character, even for Onecap words? 1479 word doesn't have a capital after a word character, even for Onecap words?
1406 - New hunspell home page: http://hunspell.sourceforge.net/ 1480 - New hunspell home page: http://hunspell.sourceforge.net/
1407 - Version 1.1.0 is out now, look into that. 1481 - Version 1.1.0 is out now, look into that.
1408 - Lots of code depends on LANG, that isn't right. Enable each mechanism 1482 - Lots of code depends on LANG, that isn't right. Enable each mechanism
1423 - When a suffix has more than one syllable, it may count as a word for 1497 - When a suffix has more than one syllable, it may count as a word for
1424 COMPOUNDMAX. 1498 COMPOUNDMAX.
1425 - Add flags to count extra syllables in a word. SYLLABLEADD1 SYLLABLEADD2, 1499 - Add flags to count extra syllables in a word. SYLLABLEADD1 SYLLABLEADD2,
1426 etc.? Or make it possible to specify the syllable count of a word 1500 etc.? Or make it possible to specify the syllable count of a word
1427 directly, e.g., after another slash: /abc/3 1501 directly, e.g., after another slash: /abc/3
1428 - MORPHO item in affix file: ignore morphological fields after word and 1502 - MORPHO item in affix file: ignore TAB and morphological field after
1429 affix. 1503 word/flags and affix.
1430 - Implement multiple flags for compound words and CMP item? 1504 - Implement multiple flags for compound words and CMP item?
1431 Await comments from other spell checking authors. 1505 Await comments from other spell checking authors.
1432 - Also see tklspell: http://tkltrans.sourceforge.net/ 1506 - Also see tklspell: http://tkltrans.sourceforge.net/
1433 8 Charles Campbell asks for method to add "contained" groups to existing 1507 8 Charles Campbell asks for method to add "contained" groups to existing
1434 syntax items (to add @Spell). 1508 syntax items (to add @Spell).
1485 - When creating a session, also store folds for buffers in the buffer list, 1559 - When creating a session, also store folds for buffers in the buffer list,
1486 using the wininfo in wi_folds. 1560 using the wininfo in wi_folds.
1487 - 'foldmethod' "textobject": fold on sections and paragraph text objects. 1561 - 'foldmethod' "textobject": fold on sections and paragraph text objects.
1488 - Add 'hidecomment' option: don't display comments in /* */ and after //. 1562 - Add 'hidecomment' option: don't display comments in /* */ and after //.
1489 Or is the conceal patch from Vince Negri a more generic solution? 1563 Or is the conceal patch from Vince Negri a more generic solution?
1490 - "zu": undo change in manual fold. "zU" redo change in manual fold. How to 1564 - "zuf": undo change in manual fold. "zUf" redo change in manual fold. How
1491 implement this? 1565 to implement this?
1492 - "zJ" command: add the line or fold below the fold in the fold under the 1566 - "zJ" command: add the line or fold below the fold in the fold under the
1493 cursor. 1567 cursor.
1494 - 'foldmethod' "syntax": "fold=3": set fold level for a region. 1568 - 'foldmethod' "syntax": "fold=3": set fold level for a region.
1495 - Apply a new foldlevel to a range of lines. (Steve Litt) 1569 - Apply a new foldlevel to a range of lines. (Steve Litt)
1496 8 Have some way to restrict commands to not folded text. Also commands like 1570 8 Have some way to restrict commands to not folded text. Also commands like
1523 Schweigert) 1597 Schweigert)
1524 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El) 1598 9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
1525 8 Should add test for using various commands with multi-byte characters. 1599 8 Should add test for using various commands with multi-byte characters.
1526 8 'infercase' doesn't work with multi-byte characters. 1600 8 'infercase' doesn't work with multi-byte characters.
1527 8 toupper() function doesn't handle byte count changes. 1601 8 toupper() function doesn't handle byte count changes.
1528 8 "ga" should show all composing characters, also if there are more than 2.
1529 7 When searching, should order of composing characters be ignored? 1602 7 When searching, should order of composing characters be ignored?
1530 8 Should implement 'delcombine' for command line editing. 1603 8 Should implement 'delcombine' for command line editing.
1531 8 Detect overlong UTF-8 sequences and handle them like illegal bytes. 1604 8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
1532 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte 1605 8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
1533 characters. 1606 characters.
2812 - With incsearch, use CTRL-N/CTRL-P to go to next/previous match, some other 2885 - With incsearch, use CTRL-N/CTRL-P to go to next/previous match, some other
2813 key to copy matched word to search pattern (Alexander Schmid). 2886 key to copy matched word to search pattern (Alexander Schmid).
2814 2887
2815 2888
2816 Searching: 2889 Searching:
2817 7 Add "g/" and "gb" to search for a pattern in the Visually selected text? 2890 8 Add "g/" and "gb" to search for a pattern in the Visually selected text?
2818 "g?" is already used for rot13. 2891 "g?" is already used for rot13.
2892 Can use "g/" in Normal mode, uses the '< to '> area.
2819 8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands 2893 8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
2820 for "go recursive here" and \@( \) marks the recursive part. 2894 for "go recursive here" and \@( \) marks the recursive part.
2821 Perl does it this way: 2895 Perl does it this way:
2822 $paren = qr/ \(( [^()] | (??{ $paren }) )* \) /x; 2896 $paren = qr/ \(( [^()] | (??{ $paren }) )* \) /x;
2823 Here $paren is evaluated when it's encountered. This is like a regexp 2897 Here $paren is evaluated when it's encountered. This is like a regexp