Draft ARC PROPOSAL gvim:
---------------------------------------
1. Introduction and motivation
1.1 Summary
This project proposes to integrate vim version 7.1 with the gtk2
graphical toolkit. In our previous case (SUNWgvim / PSARC 2007/267 )
we aimed to integrate a modern version of vi (vim) available on all
Solaris systems. This proposal builds on the future plans indicated
in that proposal and is targeted at the user(s) who need a the
graphical version of vim.
The package will tentatively be called "SUNWgvim".
1.2 History and context
Please see PSARC 2007/267 for background into the initial motivations
to integrate vim with Solaris. At this point we propose to further
enhance the functionality of vim by contributing an optional package
that provides additional functionality, that will deliver the graphic
mode vim (gvim).
2. Discussion
2.1 Functionality (in addition to that provided by SUNvim PSARC 2007/267 )
This version has a superset of the functionality provided by SUNWvim.
The "gvim" executable will have feature parity with SUNWvim.
2.2 Components
The SUNWgvim will deliver a single executable "gvim" into the system.
In addition, the following symlinks will be installed:
gview -> gvim
gvimdiff -> gvim
rgview -> gvim
rgvim -> gvim
gvim is smart enough to recognize how to behave depending on what
command name that was used to launch it. e.g. - restricted mode,
"easy" (modeless) mode, diff mode, read-only mode, and some
combinations of these.
2.3 Language bindings.
--none--
2.4 GUI bindings
This version of gvim is proposed to be built against the gtk2 GUI
library provided in Nevada. Gtk2 is provided with the following
packages:
SUNWGtkr , SUNWgtku
2.5 Documentation
Vim/gvim comes with man pages, but the most significant sets of
documentation are accessed via gvim itself. Within gvim typing ":help"
will bring up the vim help system. There are two main sources of
additional documentation: SourceForge [1] and gvim's [2] home pages.
Vim/gvim has comprehensive and elaborate documentation. Help can be
accessed from within the editor.
gvim provides the following man pages:
/usr/man/man1
gvim.1
gvimdiff.1
2.6 Future projects
1) Investigate dynamic language bindings.
2) Upgrade vim/gvim to 7.2+
===============================================================
3. Interfaces
3.1 Imported interfaces
3.1.1 Interface stability
Vim/gvim has no obvious of any interface stability and the expectation
is is that dot-dot releases of gvim will be compatible.
3.1.2 Imported interfaces stability:
gtk2 Committed
vim Uncommitted
3.2 Exported interfaces Bundled files
SUNWgvim Uncommitted Package name
/usr/bin/gvim Uncommitted Executable binary
/usr/bin/rgvim Uncommitted Symbolic link location
/usr/bin/rview Uncommitted Symbolic link location
/usr/bin/rgvim Uncommitted Symbolic link location
/usr/bin/rgview Uncommitted Symbolic link location
4. References
[1] http://vimdoc.sourceforge.net/ SourceForge - Official
documentation repository
[2] http://www.vim.org/docs.php - gvim documentation homepage,
includes man links
On Wed, Aug 13, 2008 at 1:51 PM, Danek Duvall <danek.duvall at sun.com> wrote:
> On Wed, Aug 13, 2008 at 01:35:27PM -0400, Brian Gupta wrote:
>
>> These issues also lead me to question whether linking gtk is
>> appropriate. (vs. lowest common denominator X11).
>
> I think the gtk binding is more appropriate than X11. I don't think that
> folks are likely to minimize gtk out of their system, but not X. Possible,
> certainly, but more likely that they'll pull GNOME off. GTK+ is used in
> so many apps nowadays, it can stand alone.
>
>> Since I plan to list all interfaces as Uncommitted anyway, I don't
>> know if a final resolution of alternate packages is required to submit
>> this case, but it might be a good time to discuss.)
>
> The ARC isn't going to let you ship two different files in the same
> pathname. You're likely to find the smoothest sailing along the path that
> delivers vim and gvim as separate executables, in separate packages,
> possibly with a patch that makes "vim -g" re-execute gvim (and leave ":gui"
> out in the cold).
>
> There's still the question of the language bindings. You could put them
> only into gvim for now, I suppose. I have a patch somewhere that turns the
> python binding into one that can be dynamically loaded, but it doesn't
> completely work. I hadn't looked into the other bindings (or the gui ones,
> which should also be done this way, eventually).
>
> Danek
>
--
- Brian Gupta
http://opensolaris.org/os/project/nycosug/
http://www.genunix.org/wiki/index.php/OpenSolaris_New_User_FAQ