*if_sniff.txt*	For Vim version 5.5.  Last change: 1999 Jun 11


    VIM REFERENCE MANUAL    by	Anton Leherbauer (toni@takefive.co.at)


SNiFF+ and Vim				    *sniff*

1. Introduction				    |sniff-intro|
2. Commands				    |sniff-commands|
3. Compiling Vim with SNiFF+ interface	    |sniff-compiling|

{Vi does not have any of these commands}

The SNiFF+ interface only works, when Vim was compiled with the |+sniff|
feature.

==============================================================================
1. Introduction					*sniff-intro*

The following features for the use with SNiFF+ are available:

   * Vim can be used for all editing requests
   * SNiFF+ recognizes and updates all browsers when a file is saved in Vim
   * SNiFF+ commands can be issued directly from Vim

How to use Vim with SNiFF+
   1. Make sure SNiFF+ is running.
   2. In the Editor view of the Preferences dialog set the Field named
      'External Editor' to 'Emacs/Vim'.
   4. Start Vim
   5. Connect to SNiFF+ (:sniff connect)

Once a connection is established, SNiFF+ uses Vim for all requests to show or
edit source code.  On the other hand, you can send queries to SNiFF+ with the
:sniff command.

==============================================================================
2. Commands				    *sniff-commands*

			    *:sniff* *:sni*
:sni[ff] request [symbol]   Send request to sniff with optional symbol.
			    {not in Vi}
:sni[ff]		    Display all possible requests and the connection
			    status

Most requests require a symbol (identifier) as parameter. If it is omitted,
Vim will use the current word under the cursor.
The available requests are listed below:

request		      mapping	description
-------------------------------------------------------------------------------
connect			sc	Establish connection with SNiFF+.
				Make sure SNiFF+ is prepared for this in the
				Preferences
disconnect		sq	Disconnect from SNiFF+. You can reconnect any
				time with :sniff connect (or 'sc')
toggle			st	Toggle between implementation
				and definition file
find-symbol		sf	Load the symbol into a Symbol Browser
browse-class		sb	Loads the class into a Class Browser
superclass		ss	Edit superclass of symbol
overridden		so	Edit overridden method of symbol
retrieve-file		srf	Retrieve symbol in current file
retrieve-project	srp	Retrieve symbol in current project
retrieve-all-projects	srP	Retrieve symbol in all projects
retrieve-next		sR	Retrieve symbol using current Retriever
				settings
goto-symbol		sg	Goto definition or implementation of symbol
hierarchy		sh	Load symbol into the Hierarchy Browser
restr-hier		sH	same as above but show only related classes
xref-to			sxt	Start a refers-to query on symbol and
				load the results into the Cross Referencer
xref-by			sxb	Start a referred-by query on symbol
xref-has		sxh	Start a refers-to components query on symbol
xref-used-by		sxu	Start a referred-by as component query on
				symbol
show-docu		sd	Show documentation of symbol
gen-docu		sD	Generate documentation of symbol

The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
product ($SNIFF_DIR/config/sniff.vim). This file is sourced whenever Vim
connects to SNiFF+.

==============================================================================
3. Compiling Vim with SNiFF+ interface		*sniff-compiling*

To compile Vim with SNiFF+ support, you need two source files of the extra
archive: if_sniff.c and if_sniff.h.
On Unix: Edit the Makefile and uncomment the SNIFF macro definitions
On NT: Specifiy SNIFF=yes with your make command.

 vim:tw=78:ts=8:sw=8:
