Dan, I appreciate your feedback, and felt every point you made was valid. See below for my responses, and after that the text of the latest version of the proposal.
One change I would make is to put this as the first sentence of the
proposal, instead of at the end of the intro.
Let me know what you think of section one now.
(there is a numbering issue here, this should be 2.4)
Fixed These two sections, "Language bindings" and "GUI bindings" are a little
confusing (to me). Python is (AFAIK) an optional system component. Perl too. In fact, before GNOME came around, we didn't have python. And yet this creates a dependency upon having them.
Very good observation. I had missed this. I have moved language binding to a future project. (I have decided that we will completely avoid static language bindings.) This is a stronger argument, for sure, and a good one. You might want
to start with that. Again, nice work.
Thanks! I changed it as suggested, and thank you again! Cheers, -Brian P.S. - I appreciate everyone's help, and encouragement!! ---------------------------------------------------------------------------------------------------- Changed sections: --------------------------- 1. Broke into two sections, to make more accessible to ARC team members 2.3 Changed to reflect that language binding will be done in a future project 2.4 Moved some of the arguments against gui to 2.3. Moved precedents to top of section 2.5 (Numbering only) 2.6 (Slight modification to reflect change in direction for language bindings 4. Changed the order of the informative links. (I prefer not to use industry jargon, if I can avoid it. But for you guys that like it: the "non-normative" links.) :) ------------------------------------------------------------------------------------------------------ Proposal VIM v0.7 1. Introduction and motivation 1.1 Summary This project proposes to integrate vim version 7.0 (plus any canonical patches available at the time of integration). The motivation behind this proposal to bring Vim to the Solaris operating system is to have such a modern version of vi available on all Solaris systems. Initially it will coexist with the original vi. Eventually it is desirable to deprecate vi, and have vim replace vi as the bundled vi editor. Until such time as this is done, any vim files that conflict with vi files will not be included in this project. (IE: ex, view) 1.2 History and context The vi editor was developed by Bill Joy, one of the founders of Sun. Vi stands for "Visual Interface", as it was the full screen visual interface to ex, a line editor that Bill Joy had previously written. At the time line editors were popular do the fact that a majority of terminals were line printer terminals. For a number of reasons, vi has become one of the most popular non graphical editors in the history of computing. Vi has not changed much since it was originally released, it still retains a very small memory footprint. For this reason, it was included in UNIX SVR4, and has shipped with every version of Solaris since the company was founded. Vi was only available on systems that had licensed it from AT&T. This lead to the development of many vi "clones". These "clones" initially were developed to bring vi to alternate platforms, in a form that was as close to the features and functionality of the original vi as possible. As time progressed and development continued on these clones, many of them surpassed the functionality of the original vi. One of these vi clones, named VIM ("Vi IMproved") was designed from the very beginning to improve upon the functionality of vi. Today, vim is one of the only vi "clones" that is still being developed. Vim is generally considered the most modern and advanced version of vi available. Because of this it has become the standard version of vi for most, if not all, major Linux distributions. 2. Discussion 2.1 Functionality Vim is an advanced, open source, text editor that is based on the controls and functionality of vi. Since Bram Moolenaar released vim in 1991, it has gone through many revisions. One of the most significant changes, has been the addition of language aware source code editing features. These features provide block completion, source highlighting, automatic indentation, navigation via code blocks and many other programmer friendly options. In addition to the language specific changes, many other features have been added. These features include an integrated help system, scripting abilities, file comparison functions, spell checking, undo, redo, preservation of state between sessions, remote file editing, editing of compressed files, and editing multiple files simultaneously. These are just of few of the many improvements vim has made over vi. 2.2 Components The basic vim functionality is contained within the executable installed in /usr/bin, 'vim'. Vim will be installed with symbolic links for the other commands pointing at the main vim binary. Vim 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. It also acts as ex if called as such, but this project does not propose to deliver this link until such time as vim can completely replace the System V vi. There is also a hex dump/undump utility, xxd, and a script to assist a user in running the built-in vim tutorial. The complete list of executables and symbolic links is listed in the exported interface table. 2.3 Language bindings. At this stage, we are proposing a relatively simple installation of vim. Although vim can be compiled with support for various extension languages in addition to the built-in vimscript, we will not be doing so. Because vi is, and vim will be, the primary basic system text editor, it can not depend on optional packages, like perl, or python. In the future we plan to support perl and python, as these languages are available with OpenSolaris. These language bindings will be built as individual packages. Once perl and python packages been created, it will be an ongoing effort to evaluate as additional supported languages are added to Solaris. 2.4 GUI bindings Most, if not all, of the major distributions of Linux follow this convention, and package gvim separately. These gvim packages install gvim into /usr/X11R6/bin. This has been verified for RedHat Fedora, RHEL, SuSE Enterprise Linux, Debian, and Ubuntu). Vim will be configured without GUI support, for the same reason that we are not including language bindings. Because vi is, and vim will be, the primary basic system text editor, it can not depend on optional packages, like X-Windows, or Gnome. 2.5 Documentation Vim comes with man pages, but the most significant sets of documentation are accessed via vim itself. Within vim typing ":help" will bring up the vim help system. Vimtutor is an interactive set of documentation that uses the vim engine to allow those accessing this instructive tool to practice what they learn as they learn it. There are two main sources of additional documentation: SourceForge [1] and Vim's [2] home pages. 2.6 Future projects We plan to further enhance the integration of Solaris and vim. 1) Replacing the current version of vi with vim 2) Creating dynamic language binding packages 3) Creating a standalone gvim (GUI vim) package 4) Changing Sun Studio's bundled vim to the system vim 5) Investigate interest in "tiny-vim" or "vim-minimal" package 3. Interfaces 3.1 Imported interfaces 3.1 Exported interfaces Bundled files SUNWvim Uncommitted Package name /usr/bin/rview Uncommitted Symbolic link location /usr/bin/rvim Uncommitted Symbolic link location /usr/bin/vim Uncommitted Executable location /usr/bin/vimdiff Uncommitted Symbolic link location /usr/bin/vimtutor Uncommitted Symbolic link location /usr/bin/xxd Uncommitted Executable location /usr/share/vim/vim70 Uncommitted Directory for bundled extensions /usr/share/vim/vimfiles Uncommitted Directory for unbundled extensions 4. References [1] http://vimdoc.sourceforge.net/ SourceForge - Official documentation repository [2] http://www.vim.org/docs.php - VIM documentation homepage, includes many links The following links may be informative to people unfamiliar with vim: [.] http://www.vim.org/ - VIM official homepage [.] http://en.wikipedia.org/wiki/Vim_text_editor - Wikipedia article [.] http://freshmeat.net/projects/vim/ - Freshmeat VIM project page [.] http://tiger.la.asu.edu/Quick_Ref/vimquickref.pdf - Quick reference card [.] http://www.vmunix.com/vim/util.html - additional utilities that aren't part of vim, but are useful to vim [.] http://vimplugin.sourceforge.net/wiki/pmwiki.php - Eclipse Plugin
_______________________________________________ tools-discuss mailing list tools-discuss@opensolaris.org