*if_sniff.txt*	For Vim version 7.0e.  Last change: 2005 Mar 29


		  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}  *E275* *E274* *E276* *E278* *E279*

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 line "--enable-sniff".  Or run
configure manually with this argument.
On NT: Specify SNIFF=yes with your make command.

 vim:tw=78:ts=8:ft=help:norl:
