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

Raspunde prin e-mail lui