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

Reply via email to