Hello, I've released the first version of the popup list (puls) that has been ported from Python to C. Initially it was developed for the vimuiex library of scripts which now uses the new system and is included in the archive below.
http://sourceforge.net/projects/vimuiex/files/tar/vim-7.3-226-puls-vimuiex-0.8.tar.bz2/download The popup list is available with the function popuplist() that was added to Vim. See :help popuplist or :help popuplist(). See also :help puls-providers for the types of items that can be displayed by popuplist() natively. For the basic commands available in the popup list see :help puls-default-keymaps. To build Vim with the new feature enable it with --enable-popuplist when configuring the build. For convenience the script make-ux-gtk.sh is in the root of the source tree. It will build vim.gtk with the settings similar to the ones used in debian builds: # unpack cd vim73 ./make-ux-gtk.sh ./vim.sh The script vim.sh will start Vim with the runtime set to the ./runtime directory. If you wish you can install vim.gtk with ./make-ux-gtk.sh -i For Windows some of the make files were changed but never tested. Check if the make file you are using contains a refernce to popuplist or popuplst and try it out. I expect to upload the Windows binaries to sourceforge by the end of the month. The library vimuiex provides various commands that start with Vx. The old documentation is accessible from http://www.vim.org/scripts/script.php?script_id=2606. In the included version additional commands are provided: VxQfErrors, VxQfLocations - display quickfix lists VxWatch <variable> - display the contents of a variable VxWatchAll - display the contents of all variables (Dictionaries and lists are redisplayed with <cr> when selected) An example configuration for vimuiex is provided in the file vimuiexrc in the root of the source tree. See the initial comments in the file. The popuplist() function is almost feature-complete, but there may be some severe bugs. I'm using it while I develop it so the major bugs are removed as soon as they occur. ATM the only thing I can think of that could crash Vim is an out-of-memory error while puls is trying to allocate memory because many of the values returned by alloc are not checked. This is on the todo list. There may also be some problems with the display (ghosts). The code is object-oriented. The Python script mmoocc.py transforms the class definitions inside [ooc] blocks into C structures and templates for function bodies. It has to be run only when the interface inside [ooc] changes so it's not part of the build. The repository of the code is on http://code.google.com/r/markomahnic-vim-popuplist/source/list?name=vim-popuplist (vim clone, vim-popuplist branch). Comments and bug reports are very welcome! Enjoy, Marko -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
