Commits

abudden committed 1676d1b

Much more documentation.

Comments (0)

Files changed (1)

 *TagHighlight.txt*       Tag Highlighting
 
-Author:	    A. S. Budden <abuddenNOSPAM@NOSPAMgmail.com>
-	    Remove NOSPAM.
+Author:     A. S. Budden <abuddenNOSPAM@NOSPAMgmail.com>
+		Remove NOSPAM.
 
 Copyright:  (c) 2009-2011 by A. S. Budden             *TagHighlight-copyright*
-	    The VIM LICENCE applies to all files that constitute the
-	    TagHighlight distribution.  See |copyright| except use
-	    TagHighlight instead of "Vim".
-	    NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK.
+		The VIM LICENCE applies to all files that constitute the
+		TagHighlight distribution.  See |copyright| except use
+		TagHighlight instead of "Vim".
+		NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK.
 
 ==============================================================================
-1. Contents	              *TagHighlight* *TagHighlight-contents*          {{{1
+1. Contents                   *TagHighlight* *TagHighlight-contents*          {{{1
 
-    1.    Contents	                     |TagHighlight-contents|
-    
-    2.    TagHighlight Manual	   	     |TagHighlight-manual|
-    2.1   Introduction                       |TagHighlight-intro|
-    2.2   Commands                           |TagHighlight-commands|
-    2.3   Colouring                          |TagHighlight-colours|
-    2.4   Configuration                      |TagHighlight-config|
-    2.4.1 How to Set Options                 |TagHighlight-how-options|
-    2.4.2 Option Summary	             |TagHighlight-option-list|
-    2.4.3 Option Details	             |TagHighlight-option-details|
-    2.5   Installation                       |TagHighlight-install|
-    
-    3.    TagHighlight Customisation	     |TagHighlight-custom|
-    3.1   Adding More Languages              |TagHighlight-adding|
-    3.1.1 Example                            |TagHighlight-add-example|
+	1.    Contents                           |TagHighlight-contents|
 
-    4.    Troubleshooting                    |TagHighlight-troubleshooting|
-    
-    5.    Feature Wishlist                   |TagHighlight-wishlist|
-    
-    6.    TagHighlight History		     |TagHighlight-history|
+	2.    TagHighlight Manual                |TagHighlight-manual|
+	2.1   Introduction                       |TagHighlight-intro|
+	2.2   Commands                           |TagHighlight-commands|
+	2.3   Colouring                          |TagHighlight-colours|
+	2.4   Configuration                      |TagHighlight-config|
+	2.4.1 How to Set Options                 |TagHighlight-how-options|
+	2.4.2 Option Summary                     |TagHighlight-option-list|
+	2.4.3 Option Details                     |TagHighlight-option-details|
+	2.5   Installation                       |TagHighlight-install|
+
+	3.    Standard Libraries                 |TagHighlight-standard-libraries|
+
+	4.    TagHighlight Customisation         |TagHighlight-custom|
+	4.1   Adding More Languages              |TagHighlight-adding|
+	4.1.1 Example                            |TagHighlight-add-example|
+
+	5.    Troubleshooting                    |TagHighlight-troubleshooting|
+
+	6.    Feature Wishlist                   |TagHighlight-wishlist|
+
+	7.    TagHighlight History               |TagHighlight-history|
 
 ==============================================================================
-2. TagHighlight Manual		 *TagHighlight-manual*                      {{{1
+2. TagHighlight Manual           *TagHighlight-manual*                      {{{1
 
 2.1 Introduction                         *TagHighlight-intro*               {{{2
 
-    This set of scripts is designed to increase the number of highlighting
-    groups used by Vim.  This makes it quicker and easier to spot errors in
-    your code.  By using ctags and parsing the output, the typedefs, #defines,
-    enumerated names etc are all clearly highlighted in different colours.
-    
-    The idea was based on the comments in |tag-highlight|, but I wanted to
-    take it a little further.
-    
-    This is achieved through a little python script to interact with ctags and
-    to parse the result and a small Vim script that makes Vim read the
-    resulting files.  Finally, a new command (:UpdateTypesFile) is added (with
-    optional !  for recursive operation) to keep the generated files up to
-    date.
-    
-    At present, the highlighter supports the following languages:
-    
-        * C/C++
-        * C#
-        * Java
-        * Perl
-        * PHP
-        * Python
-        * Ruby (largely untested)
-        * VHDL (if your version of ctags supports it)
-    
-    It should also work correctly with Charles Campbell's rainbow.vim bracket
-    highlighter.
-    
-    The vast majority of the testing has been with C source code, so I'd be
-    very interested in any feedback on the use with C++ and the various other
-    languages.
+	This set of scripts is designed to increase the number of highlighting
+	groups used by Vim.  This makes it quicker and easier to spot errors in
+	your code.  By using ctags and parsing the output, the typedefs, #defines,
+	enumerated names etc are all clearly highlighted in different colours.
 
-    Currently requires exuberant ctags or one of its derivatives.  Exuberant
-    ctags is available from:
+	The idea was based on the comments in |tag-highlight|, but I wanted to
+	take it a little further.
+
+	This is achieved through a little python script to interact with ctags and
+	to parse the result and a small Vim script that makes Vim read the
+	resulting files.  Finally, a new command (:UpdateTypesFile) is added (with
+	optional !  for recursive operation) to keep the generated files up to
+	date.
+
+	At present, the highlighter supports the following languages:
+
+		* C/C++
+		* C#
+		* Java
+		* Perl
+		* PHP
+		* Python
+		* Ruby (largely untested)
+		* VHDL (if your version of ctags supports it)
+
+	It should also work correctly with Charles Campbell's rainbow.vim bracket
+	highlighter.
+
+	The vast majority of the testing has been with C source code, so I'd be
+	very interested in any feedback on the use with C++ and the various other
+	languages.
+
+	Currently requires exuberant ctags or one of its derivatives.  Exuberant
+	ctags is available from:
 >
-    http://ctags.sourceforge.net
+		http://ctags.sourceforge.net
 <
-    Adding more languages is extremely simple, see
-    |TagHighlight-adding|.
-    
-                                         *TagHighlight-website*
-    
-    Screenshots of the highlighter in operation are available at the website:
+	Adding more languages is extremely simple, see
+	|TagHighlight-adding|.
+
+					                     *TagHighlight-website*
+
+	Screenshots of the highlighter in operation are available at the website:
 >
-    http://sites.google.com/site/abudden/contents/Vim-Scripts/ctags-highlighting
+		http://sites.google.com/site/abudden/contents/Vim-Scripts/ctags-highlighting
 <
 
 2.2 Commands                             *TagHighlight-commands*            {{{2
 
-    The following commands are provided by this plugin:
+	The following commands are provided by this plugin:
 
-	:UpdateTypesFile                 *UpdateTypesFile*
+	:UpdateTypesFile                 *:UpdateTypesFile*
 
-	    This command creates the syntax highlighting file used to show the
-	    extra colouring.  It then updates all of the open files
-	    automatically.  By default, it only looks for source files in the
-	    current directory.  However, see |UpdateTypesFile!| and
-	    |TagHL-Recurse|.
+		This command creates the syntax highlighting file used to show the
+		extra colouring.  It then updates all of the open files
+		automatically.  By default, it only looks for source files in the
+		current directory.  However, see |UpdateTypesFile!| and
+		|TagHL-Recurse|.
 
-	:UpdateTypesFile!                *UpdateTypesFile!*
-    
-	    This command operates in the same way as |UpdateTypesFile| except
-	    that it looks for source files recursively into subdirectories.
-	    It automatically excludes directories named either "docs" or
-	    "Documentation".  See also |TagHL-Recurse|.
+	:UpdateTypesFile!                *:UpdateTypesFile!*
 
-	:UpdateTypesFileOnly             *UpdateTypesFileOnly*
+		This command operates in the same way as |UpdateTypesFile| except
+		that it looks for source files recursively into subdirectories.
+		It automatically excludes directories named either "docs" or
+		"Documentation".  See also |TagHL-Recurse|.
 
-	    This command operates in the same manner as |UpdateTypesFile|, but
-	    it uses the current tags file rather than generating a new one
-	    (useful if you're generating tags files as part of your build
-	    process.
+	:UpdateTypesFileOnly             *:UpdateTypesFileOnly*
 
-	:ReadTypes			 *ReadTypes*
+		This command operates in the same manner as |UpdateTypesFile|, but
+		it uses the current tags file rather than generating a new one
+		(useful if you're generating tags files as part of your build
+		process.
 
-	    This comment can be used to manually read in any types files to
-	    highlight keywords.  Generally not likely to be used as the
-	    built-in autocmds should load the types files when a file is
-	    loaded or the types files are updated.
+	:ReadTypes                       *:ReadTypes*
+
+		This comment can be used to manually read in any types files to
+		highlight keywords.  Generally not likely to be used as the
+		built-in autocmds should load the types files when a file is
+		loaded or the types files are updated.
 
 2.3 Colouring                            *TagHighlight-colours*             {{{2
 
-    The tag highlighter uses a number of additional highlighting groups to
-    differentiate between different types of tag.  These are not supported as
-    standard by many colour schemes.  You can either download the "bandit"
-    colour scheme from:
+	The tag highlighter uses a number of additional highlighting groups to
+	differentiate between different types of tag.  These are not supported as
+	standard by many colour schemes.  You can either download the "bandit"
+	colour scheme from:
 >
-    http://sites.google.com/site/abudden/contents/Vim-Scripts/bandit-colour-scheme
+	http://sites.google.com/site/abudden/contents/Vim-Scripts/bandit-colour-scheme
 <
-    (screenshots of C source code on the |TagHighlight-website|) or you
-    can configure the extra highlighting groups yourself.  The following
-    highlight groups should be defined:
+	(screenshots of C source code on the |TagHighlight-website|) or you
+	can configure the extra highlighting groups yourself.  The following
+	highlight groups should be defined:
 
-	ClassName       : Class
-    	DefinedName     : Define
-    	Enumerator      : Enumerator
-    	Function        : Function or method
-    	EnumerationName : Enumeration name
-    	Member          : Member (of structure or class)
-    	Structure       : Structure Name
-    	Type            : Typedef
-    	Union           : Union Name
-    	GlobalConstant  : Global Constant
-    	GlobalVariable  : Global Variable
-    	LocalVariable   : Local Variable
+		ClassName       : Class
+		DefinedName     : Define
+		Enumerator      : Enumerator
+		Function        : Function or method
+		EnumerationName : Enumeration name
+		Member          : Member (of structure or class)
+		Structure       : Structure Name
+		Type            : Typedef
+		Union           : Union Name
+		GlobalConstant  : Global Constant
+		GlobalVariable  : Global Variable
+		LocalVariable   : Local Variable
 
-    An example of how to highlight one of these would be to include the
-    following line in your colour scheme (see |:highlight|):
+	An example of how to highlight one of these would be to include the
+	following line in your colour scheme (see |:highlight|):
 >
-	hi Enumerator guifg="c000c0"
+		hi Enumerator guifg="c000c0"
 <
-    You can, of course, also link the groups to another highlighting group
-    using something like:
+	You can, of course, also link the groups to another highlighting group
+	using something like:
 >
-        hi link Type Keyword
+		hi link Type Keyword
 <
-    However, this probably defies the point of having the tag highlighter in
-    the first place!
+	However, this probably defies the point of having the tag highlighter in
+	the first place!
 
 2.4 Configuration                        *TagHighlight-config*              {{{2
 
-    There are a large number of configuration options that allow customisation
-    of the operation of the highlighter.  For simple use, none of these really
-    need to be set.  Options can be set globally, per project or per buffer;
-    see |TagHighlight-how-options| for more information.
+	There are a large number of configuration options that allow customisation
+	of the operation of the highlighter.  For simple use, none of these really
+	need to be set.  Options can be set globally, per project or per buffer;
+	see |TagHighlight-how-options| for more information.
 
 2.4.1 How to Set Options                 *TagHighlight-how-options*         {{{3
 
-    Options can be set globally, per project or per buffer.  Global options
-    are overridden by project options, which in turn are overridden by
-    buffer-specific options.
+	Options can be set globally, per project or per buffer.  Global options
+	are overridden by project options, which in turn are overridden by
+	buffer-specific options.
 
-	Global Options			 *g:TagHighlightSettings*
+	Global Options                   *g:TagHighlightSettings*
 
-	    Global options are set in a global |Dictionary|.  The variable
-	    name is |g:TagHighlightSettings|.  The keys in the dictionary are
-	    the option names and the values are the option values.  The safest
-	    way to set a value in this dictionary is to use something like
-	    this:
+		Global options are set in a global |Dictionary|.  The variable
+		name is |g:TagHighlightSettings|.  The keys in the dictionary are
+		the option names and the values are the option values.  The safest
+		way to set a value in this dictionary is to use something like
+		this:
 >
-		if ! exists('g:TagHighlightSettings')
-		    let g:TagHighlightSettings = {}
-		endif
-		let g:TagHighlightSettings['Recurse'] = 1
-		let g:TagHighlightSettings['CtagsExecutable'] = 'etags.exe'
+			if ! exists('g:TagHighlightSettings')
+				let g:TagHighlightSettings = {}
+			endif
+			let g:TagHighlightSettings['Recurse'] = 1
+			let g:TagHighlightSettings['CtagsExecutable'] = 'etags.exe'
 <
-	    If you want to override any existing options (or you want to be
-	    lazy...) you can probably also do it this way:
+		If you want to override any existing options (or you want to be
+		lazy...) you can probably also do it this way:
 >
-		let g:TagHighlightSettings = {'Recurse': 1, 'CtagsExecutable': 'etags.exe'}
+			let g:TagHighlightSettings = {'Recurse': 1, 'CtagsExecutable': 'etags.exe'}
 <
 	Project Options                  *taghl_config.txt*
 
-	    Project options are set in a text file in the project directory.
-	    The location of this file can be specified using the options
-	    |TagHL-ProjectConfigDirModePriority| and (if an explicit location
-	    is needed) |TagHL-ProjectConfigFileDirectory|.  By default. the
-	    file name of the project config file is "taghl_config.txt".  If
-	    for any reason you need to change this, it can be customised using
-	    the option |TagHL-ProjectConfigFileName| (this probably needs to
-	    be a Global option set in |g:TagHighlightSettings|.
+		Project options are set in a text file in the project directory.
+		The location of this file can be specified using the options
+		|TagHL-ProjectConfigDirModePriority| and (if an explicit location
+		is needed) |TagHL-ProjectConfigFileDirectory|.  By default. the
+		file name of the project config file is "taghl_config.txt".  If
+		for any reason you need to change this, it can be customised using
+		the option |TagHL-ProjectConfigFileName| (this probably needs to
+		be a Global option set in |g:TagHighlightSettings|.
 
-	    The format of the project config file is a simple text file with
-	    colons used to delimit keys and values.  A simple example would
-	    look like this:
+		The format of the project config file is a simple text file with
+		colons used to delimit keys and values.  A simple example would
+		look like this:
 >
 		Recurse:True
 		SkipPatterns:Skip.*,AnotherPattern\d+
 			python
 			compiled
 <
-	    Most lines start with an option name (there is no leading
-	    whitespace on these lines).  The option name is everything up to
-	    the colon.  After the colon is the value.
-	    
-	    For boolean options (such as Recurse and IncludeLocals in the
-	    example above), any of True, 1, False or 0 are acceptable (note:
-	    True and False are case sensitive).
-	    
-	    For string entries (such as UserLibraryDir above), all of the text
-	    after the first colon is treated as the value.
-	    
-	    For list entries (such as SkipPatterns and PythonVariantPriority
-	    above), you can either put all the entries on one line with commas
-	    to separate them, or you can put one entry on each subsequeunt
-	    line with a tab character at the start of the line.
+		Most lines start with an option name (there is no leading
+		whitespace on these lines).  The option name is everything up to
+		the colon.  After the colon is the value.
+
+		For boolean options (such as Recurse and IncludeLocals in the
+		example above), any of True, 1, False or 0 are acceptable (note:
+		True and False are case sensitive).
+
+		For string entries (such as UserLibraryDir above), all of the text
+		after the first colon is treated as the value.
+
+		For list entries (such as SkipPatterns and PythonVariantPriority
+		above), you can either put all the entries on one line with commas
+		to separate them, or you can put one entry on each subsequeunt
+		line with a tab character at the start of the line.
 
 	Buffer Options                   *b:TagHighlightSettings*
-	
-	    Buffer specific options are set in a buffer-local |Dictionary| in
-	    the same way as the global options in |g:TagHighlightSettings|.
-	    The name of this |Dictionary| is |b:TagHighlightSettings|.  See
-	    the description for |g:TagHighlightSettings| for usage
-	    instructions.
+
+		Buffer specific options are set in a buffer-local |Dictionary| in
+		the same way as the global options in |g:TagHighlightSettings|.
+		The name of this |Dictionary| is |b:TagHighlightSettings|.  See
+		the description for |g:TagHighlightSettings| for usage
+		instructions.
 
 2.4.2 Option Summary                     *TagHighlight-option-list*         {{{3
 
-    There are a lot of options for TagHighlight.  They are mentioned in this
-    section, grouped by their purpose.  You can find an alphabetical list with
-    more details in |TagHighlight-option-details|.  Along side each option
-    name is a link, starting with TagHL- and then the option name (to avoid
-    namespace clashes with other plugins).  Use CTRL-] on the TagHL- prefixed
-    option name to jump to detailed help on it.
-	
-    What files to scan:
+	There are a lot of options for TagHighlight.  They are mentioned in this
+	section, grouped by their purpose.  You can find an alphabetical list with
+	more details in |TagHighlight-option-details|.  Along side each option
+	name is a link, starting with TagHL- and then the option name (to avoid
+	namespace clashes with other plugins).  Use CTRL-] on the TagHL- prefixed
+	option name to jump to detailed help on it.
 
-    	Languages                        Link:|TagHL-Languages|
-	    List of languages to scan when generating highlighter.
+	What files to scan:
 
-    	ParsingSkipList                  Link:|TagHL-ParsingSkipList|
-	   List of files for which types highlighter should not be loaded.
+		Languages                        Link:|TagHL-Languages|
+			List of languages to scan when generating highlighter.
 
-    	Recurse                          Link:|TagHL-Recurse|
-	   When generating tags, recurse into subdirectories.
+		ParsingSkipList                  Link:|TagHL-ParsingSkipList|
+		   List of files for which types highlighter should not be loaded.
 
-    	SourceDir                        Link:|TagHL-SourceDir|
-	   Explicit location of the source code that you want to scan.
+		Recurse                          Link:|TagHL-Recurse|
+		   When generating tags, recurse into subdirectories.
 
-    What to include in the generated types file
+		SourceDir                        Link:|TagHL-SourceDir|
+		   Explicit location of the source code that you want to scan.
 
-    	IncludeLocals                    Link:|TagHL-IncludeLocals|
-	   Include local variables (not context aware) in types highlighter.
+	What to include in the generated types file
 
-    	IncludeSynMatches                Link:|TagHL-IncludeSynMatches|
-	   Include syntax matches in highlighter (see warning in details).
+		IncludeLocals                    Link:|TagHL-IncludeLocals|
+		   Include local variables (not context aware) in types highlighter.
 
-    	SkipPatterns                     Link:|TagHL-SkipPatterns|
-	   List of python REs for keywords that should be skipped.
+		IncludeSynMatches                Link:|TagHL-IncludeSynMatches|
+		   Include syntax matches in highlighter (see warning in details).
 
-    	SkipVimKeywords                  Link:|TagHL-SkipVimKeywords|
-	   Don't include vim keywords in highlighter.
+		SkipPatterns                     Link:|TagHL-SkipPatterns|
+		   List of python REs for keywords that should be skipped.
 
-    Customisation:
+		SkipVimKeywords                  Link:|TagHL-SkipVimKeywords|
+		   Don't include vim keywords in highlighter.
 
-    	PreReadHooks                     Link:|TagHL-PreReadHooks|
-	   List of functions to call before reading types.
+	Customisation:
 
-    	PostReadHooks                    Link:|TagHL-PostReadHooks|
-	   List of functions to call after reading types.
+		PreReadHooks                     Link:|TagHL-PreReadHooks|
+		   List of functions to call before reading types.
 
-    	PreUpdateHooks                   Link:|TagHL-PreUpdateHooks|
-	   List of functions to call before updating types.
+		PostReadHooks                    Link:|TagHL-PostReadHooks|
+		   List of functions to call after reading types.
 
-    	PostUpdateHooks                  Link:|TagHL-PostUpdateHooks|
-	   List of functions to call after updating types.
+		PreUpdateHooks                   Link:|TagHL-PreUpdateHooks|
+		   List of functions to call before updating types.
 
-    Disabling built-in functionality:
+		PostUpdateHooks                  Link:|TagHL-PostUpdateHooks|
+		   List of functions to call after updating types.
 
-    	DisableTypeParsing               Link:|TagHL-DisableTypeParsing|
-	   Don't read types highlighter (disable highlight functionality).
+	Disabling built-in functionality:
 
-    	DoNotGenerateTags                Link:|TagHL-DoNotGenerateTags|
-	   Don't generate tags (use an existing tags file).
+		DisableTypeParsing               Link:|TagHL-DisableTypeParsing|
+		   Don't read types highlighter (disable highlight functionality).
 
-    How to Run The Python App:
+		DoNotGenerateTags                Link:|TagHL-DoNotGenerateTags|
+		   Don't generate tags (use an existing tags file).
 
-    	ForcedPythonVariant              Link:|TagHL-ForcedPythonVariant|
-	   Specify specific python variant to use.
+	How to Run The Python App:
 
-    	PathToPython                     Link:|TagHL-PathToPython|
-	   Specify path to python executable.
+		ForcedPythonVariant              Link:|TagHL-ForcedPythonVariant|
+		   Specify specific python variant to use.
 
-    	PythonVariantPriority            Link:|TagHL-PythonVariantPriority|
-	   Specify priority order of different python variants.
+		PathToPython                     Link:|TagHL-PathToPython|
+		   Specify path to python executable.
 
-    Locations of Files (normal):
+		PythonVariantPriority            Link:|TagHL-PythonVariantPriority|
+		   Specify priority order of different python variants.
 
-    	DirModeSearchWildcards           Link:|TagHL-DirModeSearchWildcards|
-	   What to search for when deciding which directory to use.
+	Locations of Files (normal):
 
-    	DefaultDirModePriority           Link:|TagHL-DefaultDirModePriority|
-	   Which directories to search by default.
+		DefaultDirModeSearchWildcards    Link:|TagHL-DirModeSearchWildcards|
+		   What to search for when deciding which directory to use.
 
-    Location and name of Project Configuration File:
+		DefaultDirModePriority           Link:|TagHL-DefaultDirModePriority|
+		   Which directories to search by default.
 
-    	ProjectConfigFileDirModePriority Link:|TagHL-ProjectConfigFileDirModePriority|
-	   Which directories to search for project config file.
+	Location and name of Project Configuration File:
 
-    	ProjectConfigFileDirectory       Link:|TagHL-ProjectConfigFileDirectory|
-	   Explicit location for project config file.
+		ProjectConfigFileDirModePriority Link:|TagHL-ProjectConfigFileDirModePriority|
+		   Which directories to search for project config file.
 
-    	ProjectConfigFileName            Link:|TagHL-ProjectConfigFileName|
-	   File name for project config file.
+		ProjectConfigFileDirectory       Link:|TagHL-ProjectConfigFileDirectory|
+		   Explicit location for project config file.
 
-    Location and name of tag file:
+		ProjectConfigFileName            Link:|TagHL-ProjectConfigFileName|
+		   File name for project config file.
 
-    	TagFileDirModePriority           Link:|TagHL-TagFileDirModePriority|
-	   Which directories to search for tag file.
+		ProjectConfigFileSearchWildcards Link:|TagHL-DirModeSearchWildcards|
+		   What to search for when deciding which directory to use.
 
-    	TagFileDirectory                 Link:|TagHL-TagFileDirectory|
-	   Explicit location for tag file.
+	Location and name of tag file:
 
-    	TagFileName		         Link:|TagHL-TagFileName|
-	   File name for tag file.
+		TagFileDirModePriority           Link:|TagHL-TagFileDirModePriority|
+		   Which directories to search for tag file.
 
-    Location and name of types file:
+		TagFileDirectory                 Link:|TagHL-TagFileDirectory|
+		   Explicit location for tag file.
 
-    	TypesFileDirModePriority         Link:|TagHL-TypesFileDirModePriority|
-	   Which directories to search for types highlighter file.
+		TagFileName                      Link:|TagHL-TagFileName|
+		   File name for tag file.
 
-    	TypesFileDirectory               Link:|TagHL-TypesFileDirectory|
-	   Explicit location for types highlighter file.
+		TagFileSearchWildcards           Link:|TagHL-DirModeSearchWildcards|
+		   What to search for when deciding which directory to use.
 
-    	TypesFileExtension               Link:|TagHL-TypesFileExtension|
-	   File extension for types highlighter file.
+	Location and name of types file:
 
-    	TypesFileNameForce               Link:|TagHL-TypesFileNameForce|
-	   Force an explicit file name for the types highlighter file.
+		TypesFileDirModePriority         Link:|TagHL-TypesFileDirModePriority|
+		   Which directories to search for types highlighter file.
 
-    	TypesFilePrefix                  Link:|TagHL-TypesFilePrefix|
-	   Prefix for the types highlighter file.
+		TypesFileDirectory               Link:|TagHL-TypesFileDirectory|
+		   Explicit location for types highlighter file.
 
-    Libraries:
+		TypesFileExtension               Link:|TagHL-TypesFileExtension|
+		   File extension for types highlighter file.
 
-	DisableStandardLibraries         Link:|TagHL-DisableStandardLibraries|
-	    Don't try loading standard libraries.
+		TypesFileNameForce               Link:|TagHL-TypesFileNameForce|
+		   Force an explicit file name for the types highlighter file.
 
-    	ForcedStandardLibraries          Link:|TagHL-ForcedStandardLibraries|
-	   Always load specified standard libraries.
+		TypesFilePrefix                  Link:|TagHL-TypesFilePrefix|
+		   Prefix for the types highlighter file.
 
-    	UserLibraries                    Link:|TagHL-UserLibraries|
-	   List of user libraries that should be loaded.
+		TypesFileSearchWildcards         Link:|TagHL-DirModeSearchWildcards|
+		   What to search for when deciding which directory to use.
 
-    	UserLibraryDir                   Link:|TagHL-UserLibraryDir|
-	   Location of user libraries specified with relative path.
+	Libraries:
 
-    Debugging:
+		DisableStandardLibraries         Link:|TagHL-DisableStandardLibraries|
+			Don't try loading standard libraries.
 
-	DebugLevel                       Link:|TagHL-DebugLevel|
-	    How much debugging information should be printed.
+		ForcedStandardLibraries          Link:|TagHL-ForcedStandardLibraries|
+		   Always load specified standard libraries.
 
-    Internal Use Only:
+		UserLibraries                    Link:|TagHL-UserLibraries|
+		   List of user libraries that should be loaded.
 
-	CtagsExeFull                     Link:|TagHL-CtagsExeFull|
-	    Internal use only.
+		UserLibraryDir                   Link:|TagHL-UserLibraryDir|
+		   Location of user libraries specified with relative path.
 
-    	CtagsExecutable                  Link:|TagHL-CtagsExecutable|
-	   Internal use only.
+	Debugging:
 
-    	CtagsFileLocation                Link:|TagHL-CtagsFileLocation|
-	   Internal use only.
+		DebugLevel                       Link:|TagHL-DebugLevel|
+			How much debugging information should be printed.
 
-    	TypesFileLocation                Link:|TagHL-TypesFileLocation|
-	   Internal use only.
+	Internal Use Only:
+
+		CtagsExeFull                     Link:|TagHL-CtagsExeFull|
+			Internal use only.
+
+		CtagsExecutable                  Link:|TagHL-CtagsExecutable|
+		   Internal use only.
+
+		CtagsFileLocation                Link:|TagHL-CtagsFileLocation|
+		   Internal use only.
+
+		TypesFileLocation                Link:|TagHL-TypesFileLocation|
+		   Internal use only.
 
 2.4.3 Option Details                     *TagHighlight-option-details*      {{{3
 
-    ... TODO
+	CtagsExeFull                         *TagHL-CtagsExeFull*
+		Used internally to tell the python part of the application where ctags
+		is.  Do not use this option as it will be automatically overwritten.
+		Instead, see |TagHL-CtagsExecutable|.
 
-    CtagsExeFull			 *TagHL-CtagsExeFull*
-	Used internally to tell the python part of the application where ctags
-	is.  Do not use this option as it will be automatically overwritten.
-	Instead, see |TagHL-CtagsExecutable|.
-	
-    CtagsExecutable                      *TagHL-CtagsExecutable*
-	
-    CtagsFileLocation                    *TagHL-CtagsFileLocation*
-	Used internally to handle the location of the tag file.  Do not use
-	this option as it will be automatically overwritten.  Instead, see
-	|TagHL-DefaultDirModePriority|, |TagHL-TagFileDirModePriority| and
-	|TagHL-TagFileDirectory|.
+	CtagsExecutable                      *TagHL-CtagsExecutable*
+		This option allows you to specify which exuberant ctags executable to
+		run.  You can either specify an absolute path (e.g. "/usr/bin/ctags")
+		or the name of an executable in the system path (e.g. "etags" if your
+		system names Exuberant ctags in that way).
 
-	See also |TagHL-TagFileName|.
-	
-    DebugLevel                           *TagHL-DebugLevel*
-	
-    DefaultDirModePriority               *TagHL-DefaultDirModePriority*
-	
-    DirModeSearchWildcards               *TagHL-DirModeSearchWildcards*
-	
-    DisableStandardLibraries             *TagHL-DisableStandardLibraries*
-	
-    DisableTypeParsing                   *TagHL-DisableTypeParsing*
-	
-    DoNotGenerateTags                    *TagHL-DoNotGenerateTags*
-	
-    ForcedPythonVariant                  *TagHL-ForcedPythonVariant*
-	
-    ForcedStandardLibraries              *TagHL-ForcedStandardLibraries*
-	
-    IncludeLocals                        *TagHL-IncludeLocals*
-	
-    IncludeSynMatches                    *TagHL-IncludeSynMatches*
-	
-    Languages                            *TagHL-Languages*
-	
-    ParsingSkipList                      *TagHL-ParsingSkipList*
-	
-    PathToPython                         *TagHL-PathToPython*
-	
-    PreReadHooks                         *TagHL-PreReadHooks*
-	
-    PostReadHooks                        *TagHL-PostReadHooks*
-	
-    PreUpdateHooks                       *TagHL-PreUpdateHooks*
-	
-    PostUpdateHooks                      *TagHL-PostUpdateHooks*
-	
-    ProjectConfigFileDirModePriority     *TagHL-ProjectConfigFileDirModePriority*
-	
-    ProjectConfigFileDirectory           *TagHL-ProjectConfigFileDirectory*
-	
-    ProjectConfigFileName                *TagHL-ProjectConfigFileName*
-	
-    PythonVariantPriority                *TagHL-PythonVariantPriority*
-	
-    Recurse                              *TagHL-Recurse*
-	
-    SkipPatterns                         *TagHL-SkipPatterns*
-	
-    SkipVimKeywords                      *TagHL-SkipVimKeywords*
-	
-    SourceDir                            *TagHL-SourceDir*
-	
-    TagFileDirModePriority               *TagHL-TagFileDirModePriority*
-	
-    TagFileDirectory                     *TagHL-TagFileDirectory*
-	
-    TagFileName		                 *TagHL-TagFileName*
-	
-    TypesFileDirModePriority             *TagHL-TypesFileDirModePriority*
-	
-    TypesFileDirectory                   *TagHL-TypesFileDirectory*
-	
-    TypesFileExtension                   *TagHL-TypesFileExtension*
-	
-    TypesFileLocation                    *TagHL-TypesFileLocation*
-	Used internally to tell the python part of the application where the
-	types file should be stored.  Do not use this option as it will be
-	automatically overwritten.  Instead, see |TagHL-TypesFileDirectory|
-	and |TagHL-TypesFileDirModePriority|.
-	
-    TypesFileNameForce                   *TagHL-TypesFileNameForce*
-	
-    TypesFilePrefix                      *TagHL-TypesFilePrefix*
-	
-    UserLibraries                        *TagHL-UserLibraries*
-	
-    UserLibraryDir                       *TagHL-UserLibraryDir*
-	
+		Option Type: String
+
+	CtagsFileLocation                    *TagHL-CtagsFileLocation*
+		Used internally to handle the location of the tag file.  Do not use
+		this option as it will be automatically overwritten.  Instead, see
+		|TagHL-DefaultDirModePriority|, |TagHL-TagFileDirModePriority| and
+		|TagHL-TagFileDirectory|.
+
+		See also |TagHL-TagFileName|.
+
+	DebugLevel                           *TagHL-DebugLevel*
+		This is a string describing how much debugging information to print.
+		By default, this is set to 'Error': only errors or critical problems
+		are reported.  Possible values are: "None" (don't print anything),
+		"Critical" (only print critical errors, i.e. those where the plugin is
+		installed incorrectly or similar), "Error" (print errors and critical
+		problems), "Warning" (warn of potential issues), "Status" (report most
+		actions that are being carried out) or "Information" (report
+		everything that's happening).
+
+		Option Type: String
+
+	DefaultDirModePriority               *TagHL-DefaultDirModePriority*
+		There are several 'DirModePriority' options in addition to this one.
+		These are used to determine where to find or place the project
+		configuration file, the tags file and the types file.  The options
+		that configure each of these are |TagHL-ProjectConfigDirModePriority|,
+		|TagHL-TagFileDirModePriority| and |TagHL-TypesFileDirModePriority|.
+
+		By default, all three of these priority settings are set simply as
+		["Default"].  Where "Default" is found in the list, the value of
+		|TagHL-DefaultDirModePriority| will be used.
+
+		When determining which directory to use, the plugin will try each of
+		the methods in order until it gets a match.  The available methods
+		of searching are:
+
+			Explicit:
+				If a directory has been explicitly set (using the option
+				|TagHL-ProjectConfigFileDirectory| for project configuration
+				files, the option |TagHL-TagFileDirectory| for tag files and
+				the option |TagHL-TypesFileDirectory| for types highlighter
+				files), this directory will be used if this dir mode is
+				encountered.
+
+			UpFromFile:
+				The plugin will start in the directory containing the current
+				file and look for any file matching the wildcards specified in
+				the option |TagHL-DirModeSearchWildcards|.  If none of the
+				wildcards match, it will try the parent directory and then
+				keep trying one level higher until it either finds a match or
+				reaches the top level directory (at which point the next
+				dir mode will be tried if no match is found).
+
+			UpFromCurrent:
+				This works in the same way as UpFromFile, except that it
+				starts in the current directory (see |:pwd| or |getcwd()|).
+
+			CurrentDirectory:
+				This will use the current working directory (see |:pwd| or
+				|getcwd()|) explicitly (any dir modes following this one will
+				never be used).
+
+			FileDirectory:
+				This will use the directory containing the currently open file
+				(any dir modes following this one will never be used).
+
+		The default value is ["Explicit", "UpFromFile", "CurrentDirectory"].
+		Using the project config file as an example, when deciding where this
+		file should be, it will first check for the presence of the option
+		|TagHL-ProjectConfigFileDirectory|.  If this option is set, it will
+		use that directory.  If not, it will start in the directory containing
+		the currently open file and keep going up a level until it finds any
+		file matching one of the wildcards in |TagHL-DirModeSearchWildcards|.
+		If it reaches the top level directory without finding a file, it will
+		use Vim's current working directory.
+
+		Option Type: List
+
+	DefaultDirModeSearchWildcards        *TagHL-DefaultDirModeSearchWildcards*
+		This option contains the wildcards that should be checked for when
+		trying to determine which directory to use (in either the UpFromFile
+		or UpFromCurrent dir mode).  The default is to match when either a
+		project configuration file is found or a tags file is found.
+
+		Option Type: List
+
+	DisableStandardLibraries             *TagHL-DisableStandardLibraries*
+		If installed, the standard libraries will automatically be loaded if
+		the conditions specified in their configuration file match.  Setting
+		this option to True or 1 will disable the checks and the standard
+		libraries will never be loaded.  For more information on standard
+		libraries, see |TagHighlight-standard-libraries|.
+
+		Option Type: Boolean
+
+	DisableTypeParsing                   *TagHL-DisableTypeParsing*
+		This option disables loading of types highlighter files: no custom
+		types will be highlighted.
+
+		Option Type: Boolean
+
+	DoNotGenerateTags                    *TagHL-DoNotGenerateTags*
+		If this option is set, calling |:UpdateTypesFile| will be functionally
+		equivalent to calling |:UpdateTypesFileOnly|: it will be assumed that
+		a tag file already exists and ctags will not be run.
+
+		Option Type: Boolean
+
+	ForcedPythonVariant                  *TagHL-ForcedPythonVariant*
+		There are a number of different python variants that are supported for
+		running the python part of the plugin.  If this option is set to one
+		of the strings that are supported by |TagHL-PythonVariantPriority|,
+		that variant will always be used (and the plugin will fail if that
+		variant is not available).
+
+		Option Type: String
+
+	ForcedStandardLibraries              *TagHL-ForcedStandardLibraries*
+		Any standard library names that are listed in this option will be
+		loaded unconditionally.  For example, if this option is set to
+		["Android SDK", "JDK"], the Android SDK highlight definitions and the
+		Java Development Kit highlight definitions will be loaded (as long as
+		the highlight libraries have been installed).  For more information,
+		see |TagHighlight-standard-libraries|.
+
+		Option Type: List
+
+	IncludeLocals                        *TagHL-IncludeLocals*
+		If set to True or 1, local variables will be included in the types
+		highlighter file.  Note that ctags provides no context for these
+		local variables and (if support for Dr Chip's rainbow plugin is to be
+		provided) it would be impossible to make the highlighting context
+		sensitive anyway, so the names will be highlighted whereever they may
+		appear in the file.  As far as I am aware, there is no way round this,
+		but I'd be interested to hear from anyone who has a good suggestion.
+
+		Option Type: Boolean
+
+	IncludeSynMatches                    *TagHL-IncludeSynMatches*
+		If set to True or 1, tags that cannot be highlighted with the Vim
+		command "syn keyword" will be highlighted using the Vim command
+		"syn match".  While this allows highlighting of a lot more tags,
+		it uses a regular expression matching engine and as the number of
+		tags increases, Vim gets slower and slower.  Therefore, use with
+		caution.
+
+		Option Type: Boolean
+
+	Languages                            *TagHL-Languages*
+		By default, when |:UpdateTypesFile| is run, any files that ctags
+		recognises will be scanned for tags and types highlighters will be
+		generated for each language in the resulting tags file that is
+		supported by |TagHighlight|.  This option can be used to restrict both
+		the types and tags files to a limited set of languages.  For example,
+		if you have a directory with C code, Python code, Perl code and Ruby
+		code, but you only want to generated tags and types for C and Python,
+		set this option to ["c","python"].
+
+		Option Type: List
+
+	ParsingSkipList                      *TagHL-ParsingSkipList*
+		If you're editing a lot of files and for most you want tag highlight
+		to run but one or two you don't, put the filenames of the ones for
+		which you don't want highlighting in this list and the types
+		highlighter will not be loaded for those files.
+
+		Option Type: List
+
+	PathToPython                         *TagHL-PathToPython*
+		When using the python variant "python" but with python not in the
+		path, this option allows you to specify the path to the python
+		executable.  See |TagHL-PythonVariantPriority| for more information.
+
+		Option Type: String
+
+	PreReadHooks                         *TagHL-PreReadHooks*
+		Any function names that are listed in this option will be called
+		immediately prior to reading the types highlighter file.  This can be
+		used to allow complex customisation of |TagHighlight| and is for
+		advanced users only.  If you find a use for this, or any of the other
+		hooks, please let me know as I'd be interested to hear your use case!
+		The function must accept two arguments: the first is the full path and
+		filename of the current source code file and the second is the
+		relevant language suffix specified in the corresponding language
+		definition file (see |TagHighlight-add-example|.
+
+		Option Type: List
+
+	PostReadHooks                        *TagHL-PostReadHooks*
+		Any function names that are listed in this option will be called
+		immediately after reading the types highlighter file.  This can be
+		used to allow complex customisation of |TagHighlight| and is for
+		advanced users only.  If you find a use for this, or any of the other
+		hooks, please let me know as I'd be interested to hear your use case!
+		The function must accept two arguments: the first is the full path and
+		filename of the current source code file and the second is the
+		relevant language suffix specified in the corresponding language
+		definition file (see |TagHighlight-add-example|.
+
+		Option Type: List
+
+	PreUpdateHooks                       *TagHL-PreUpdateHooks*
+		Any function names that are listed in this option will be called
+		immediately prior to generating a new types highlighter file.  This
+		can be used to allow complex customisation of |TagHighlight| and is
+		for advanced users only.  If you find a use for this, or any of the
+		other hooks, please let me know as I'd be interested to hear your use
+		case!  The function takes no arguments.
+
+		Option Type: List
+
+	PostUpdateHooks                      *TagHL-PostUpdateHooks*
+		Any function names that are listed in this option will be called
+		immediately after generating a new types highlighter file.  This can
+		be used to allow complex customisation of |TagHighlight| and is for
+		advanced users only.  If you find a use for this, or any of the other
+		hooks, please let me know as I'd be interested to hear your use case!
+		The function takes no arguments.
+
+		Option Type: List
+
+	ProjectConfigFileDirModePriority     *TagHL-ProjectConfigFileDirModePriority*
+		This option is used to determine which directories to look in for a
+		project configuration file.  See |TagHL-DefaultDirModePriority| for
+		details.
+
+		Option Type: List
+
+	ProjectConfigFileDirectory           *TagHL-ProjectConfigFileDirectory*
+		If the dir mode priority for project config files (see the option
+		|TagHL-ProjectConfigFileDirModePriority|) contains the mode
+		"Explicit", the directory specified in this option will be used
+		unconditionally if the option has been set.
+
+		Option Type: String
+
+	ProjectConfigFileName                *TagHL-ProjectConfigFileName*
+		This option allows customisation of the file name for project
+		configuration files.  The default file name is taghl_config.txt.
+
+		Option Type: String
+
+	PythonVariantPriority                *TagHL-PythonVariantPriority*
+
+		Option Type: List
+
+	Recurse                              *TagHL-Recurse*
+		If this option is set to True or 1, any call to |:UpdateTypesFile|
+		will be treated as equivalent to |:UpdateTypesFile!|: tag files (and
+		therefore the types highlighter file based on that tag file) will
+		contain tags from source code in the source directory and all
+		subdirectories of that directory.  If this option is not set, or set
+		to False or 0, only source code in the source directory will be
+		scanned.
+
+		Option Type: Boolean
+
+	SkipPatterns                         *TagHL-SkipPatterns*
+		Any (python) regular expressions listed in this option will be matched
+		against any keyword names found in the tags file.  If they match, the
+		keyword names will be omitted from the types highlighter file.  For
+		example, set this option to ['MyVar.*', 'Number[0-9]+'] to exclude the
+		variables MyVarOne, MyVar, MyVariable, Number0, Number10 etc.
+
+		Option Type: List
+
+	SkipVimKeywords                      *TagHL-SkipVimKeywords*
+		As well as being unable to use "syn keyword" for tag names that
+		contain non-keyword characters, Vim also cannot use "syn keyword" to
+		match certain vim keywords (such as "contains").  There are very few
+		of these keywords, so if any exist in the tag file, they are matched
+		with a "syn match" command.  If you'd rather just omit them ("syn match"
+		highlighting is much slower than "syn keyword" highlighting), set this
+		option to True or 1.  See also |TagHL-IncludeSynMatches|.
+
+		Option Type: Boolean
+
+	SourceDir                            *TagHL-SourceDir*
+		If this option is set to an explicit directory, that directory will be
+		scanned for source files when generating tags.  By default, if a
+		project config file is found, the directory containing that will be
+		used.  If it wasn't, but a tag file was found, the directory
+		containing that will be used.  If it wasn't, but a types highlighter
+		file was found, the directory containing that will be used.  Finally,
+		if all of the other checks fail, the current working directory will be
+		used.
+
+		Option Type: String
+
+	TagFileDirModePriority               *TagHL-TagFileDirModePriority*
+		This option is used to determine which directories to look in for a
+		tag file or in which directory to place a tag file when generating new
+		tags.  See |TagHL-DefaultDirModePriority| for details.
+
+		Option Type: List
+
+	TagFileDirectory                     *TagHL-TagFileDirectory*
+		If the dir mode priority for tag files (see the option
+		|TagHL-TagFileDirModePriority|) contains the mode "Explicit", the
+		directory specified in this option will be used unconditionally if the
+		option has been set.
+
+		Option Type: String
+
+	TagFileName                          *TagHL-TagFileName*
+		By default, the file generated by ctags containing the tags
+		definitions are stored in a file named "tags".  If you wish to change
+		this, adjust this option appropriately.
+
+		Option Type: String
+
+	TypesFileDirModePriority             *TagHL-TypesFileDirModePriority*
+		This option is used to determine which directories to look in for a
+		types highlighter file or in which directory to place a types
+		highlighter file when generating a new types highlighter.  See
+		|TagHL-DefaultDirModePriority| for details.
+
+		Option Type: List
+
+	TypesFileDirectory                   *TagHL-TypesFileDirectory*
+		If the dir mode priority for types highlighter files (see the option
+		|TagHL-TypesFileDirModePriority|) contains the mode "Explicit", the
+		directory specified in this option will be used unconditionally if the
+		option has been set.
+
+		Option Type: String
+
+	TypesFileExtension                   *TagHL-TypesFileExtension*
+		By default, types highlighter files have taghl as an extension.  With
+		all the default options, the types highlighter file for C source code
+		will be called types_c.taghl.  This is constructed out of several
+		parts:
+
+			"types" - This part is set with |TagHL-TypesFilePrefix|.
+			"_" - This is hard coded (although see |TagHL-TypesFileNameForce|).
+			"c" - This is the suffix for the current language.
+			"."	- This is hard coded.
+			"taghl" - This part is set with |TagHL-TypesFileExtension|.
+
+		If really necessary, |TagHL-TypesFileNameForce| can be used to specify
+		an explicit filename, but I would discourage this.
+
+		Option Type: String
+
+	TypesFileLocation                    *TagHL-TypesFileLocation*
+		Used internally to tell the python part of the application where the
+		types file should be stored.  Do not use this option as it will be
+		automatically overwritten.  Instead, see |TagHL-TypesFileDirectory|
+		and |TagHL-TypesFileDirModePriority|.
+
+	TypesFileNameForce                   *TagHL-TypesFileNameForce*
+		Use this if you REALLY need to force a specific file name for the
+		types highlighter file.  It is generally better to configure
+		|TagHL-TypesFilePrefix| and |TagHL-TypesFileExtension|.
+
+		Option Type: String
+
+	TypesFilePrefix                      *TagHL-TypesFilePrefix*
+		Use this to configure the prefix of the generated (and read) types
+		highlighter files.  See |TagHL-TypesFileExtension| for more
+		information.
+
+		Option Type: String
+
+	UserLibraries                        *TagHL-UserLibraries*
+		If you have some libraries that are used by your code, but which are
+		not kept with your code, it is possible to highlight keywords used in
+		those libraries when working on the main code.  To do this, generate a
+		types highlighter file for the library code and then add the path to
+		the library types highlighter file to this option.  The path can be an
+		absolute path to the file (e.g. ["c:/libraries/mylibrary.taghl"]) or it
+		can be relative to the directory specified in the configuration option
+		|TagHL-UserLibraryDir| (e.g. for the same file as specified above, if
+		the option |TagHL-UserLibraryDir| is set to "c:/libraries", you could
+		set this option to ["mylibrary.taghl"].
+
+		Option Type: List
+
+	UserLibraryDir                       *TagHL-UserLibraryDir*
+		Location of libraries specified with relative paths in the option
+		|TagHL-UserLibraries|.  See the help for |TagHL-UserLibraries| for
+		more information.
+
+		Option Type: String
+
 
 2.5 Installation                         *TagHighlight-install*             {{{2
 
-    ... TODO (mention uninstalling ctags_highlighter)
+	... TODO (mention uninstalling ctags_highlighter)
 
 ==============================================================================
-3. TagHighlight Customisation            *TagHighlight-custom*              {{{1
+3. Standard Libraries                    *TagHighlight-standard-libraries*  {{{1
 
-3.1 Adding More Languages                *TagHighlight-adding*              {{{2
+	... TODO
 
-    1. Run ctags --list-languages and check that the required language is
-       present.
+==============================================================================
+4. TagHighlight Customisation            *TagHighlight-custom*              {{{1
 
-    2. Create a new file in plugin/TagHighlight/data/languages/ with a .txt
-       extension (the file name can be anything you want).  Set the fileformat
-       to be 'unix' for consistency and don't expand tabs in case you need to
-       add any multi-line lists:
+4.1 Adding More Languages                *TagHighlight-adding*              {{{2
+
+	1. Run ctags --list-languages and check that the required language is
+	   present.
+
+	2. Create a new file in plugin/TagHighlight/data/languages/ with a .txt
+	   extension (the file name can be anything you want).  Set the fileformat
+	   to be 'unix' for consistency and don't expand tabs in case you need to
+	   add any multi-line lists:
 >
-	    set ff=unix noet
+		set ff=unix noet
 <
-    3. In that file, add the following fields in Key:Value format (one per
-       line):
+	3. In that file, add the following fields in Key:Value format (one per
+	   line):
 
-	    FriendlyName - Whatever you prefer to call the language
+		FriendlyName - Whatever you prefer to call the language
 
-	    CTagsName - Whatever ctags refers to the language as
+		CTagsName - Whatever ctags refers to the language as
 
-	    PythonExtensionMatcher - A python regular expression that matches
-				     the extensions of files that are written
-				     in this language.
+		PythonExtensionMatcher - A python regular expression that matches
+					 the extensions of files that are written
+					 in this language.
 
-	    VimExtensionMatcher - The Vim regular expression version of
+		VimExtensionMatcher - The Vim regular expression version of
 				  PythonExtensionMatcher.
 
-	    Suffix - Whatever you would like the generated files to be named,
-		     e.g. for C code, the suffix is c and the generated files
-		     are by default called types_c.taghl
+		Suffix - Whatever you would like the generated files to be named,
+			 e.g. for C code, the suffix is c and the generated files
+			 are by default called types_c.taghl
 
-    4. Optionally, add other fields as required:
+	4. Optionally, add other fields as required:
 
-	    SkipList - Any specific ctags "kinds" (single characters referring
-		       to types of tags) that you want to omit from the types
-		       file.  For example, for C code, function prototypes are
-		       omitted (function definitions are included) by setting
-		       SkipList to p.  To include multiple items, separate
-		       each item with a comma.  To see a list of kinds for a
-		       language, use:
+		SkipList - Any specific ctags "kinds" (single characters referring
+			   to types of tags) that you want to omit from the types
+			   file.  For example, for C code, function prototypes are
+			   omitted (function definitions are included) by setting
+			   SkipList to p.  To include multiple items, separate
+			   each item with a comma.  To see a list of kinds for a
+			   language, use:
 >
-			    ctags --list-kinds
+				ctags --list-kinds
 <
-	    SpecialSyntaxHandlers - This is for unusual cases where particular
-				    syntax commands are required for a given
-				    language.  Add any functions you want to
-				    call here.  As an example, for Java code,
-				    all syntax items must be added to the
-				    javaTop cluster; this is done in a special
-				    syntax handler.  For most languages this
-				    is unnecessary.
+		SpecialSyntaxHandlers - This is for unusual cases where particular
+					syntax commands are required for a given
+					language.  Add any functions you want to
+					call here.  As an example, for Java code,
+					all syntax items must be added to the
+					javaTop cluster; this is done in a special
+					syntax handler.  For most languages this
+					is unnecessary.
 
-    5. Add a modeline for consistency:
+	5. Add a modeline for consistency:
 >
 	# vim: ff=unix:noet
 <
-    5. Test your new language!
+	5. Test your new language!
 
-    6. Send me a copy for inclusion in the main distribution.
+	6. Send me a copy for inclusion in the main distribution.
 
-3.1.1 Example                            *TagHighlight-add-example*         {{{3
+4.1.1 Example                            *TagHighlight-add-example*         {{{3
 
-    It is worth looking at the existing language files for examples.  The C#
-    language file is called csharp.txt and looks like this:
+	It is worth looking at the existing language files for examples.  The C#
+	language file is called csharp.txt and looks like this:
 >
-	FriendlyName:c#
-	CTagsName:c#
-	PythonExtensionMatcher:cs
-	VimExtensionMatcher:cs
-	Suffix:cs
-	
-	# vim: ff=unix:noet
+		FriendlyName:c#
+		CTagsName:c#
+		PythonExtensionMatcher:cs
+		VimExtensionMatcher:cs
+		Suffix:cs
+
+		# vim: ff=unix:noet
 <
-    The friendly name and CTagsName are both 'c#' (it is quite normal for
-    these to be the same).  Only one file extension is supported (cs), so the
-    extension matchers are trivial.  The selected suffix is cs (this is the
-    bit that goes in the filename).
+	The friendly name and CTagsName are both 'c#' (it is quite normal for
+	these to be the same).  Only one file extension is supported (cs), so the
+	extension matchers are trivial.  The selected suffix is cs (this is the
+	bit that goes in the filename).
 
-    It really is that easy!
+	It really is that easy!
 
 ==============================================================================
-4. Troubleshooting                       *TagHighlight-troubleshooting*     {{{1
+5. Troubleshooting                       *TagHighlight-troubleshooting*     {{{1
 
-    ... TODO
+	... TODO
 
 ==============================================================================
-5. Feature Wishlist                      *TagHighlight-wishlist*            {{{1
+6. Feature Wishlist                      *TagHighlight-wishlist*            {{{1
 
-    - Highlighting of local variables (could be useful for checking your
-      variable is defined in the correct function)?  Not currently possible as
-      "ctags --c-kinds=+l" doesn't provide the scope of the local variable, so
-      a lot of complicated parsing of the source would be required.
-    
-    - Option to update the types files whenever :make is run.
-    
-    - Option to update the types files whenever specific files are written
-      (would need to make :UpdateTypesFile! much faster for this to be
-      practical).
-    
-    - Make it work better with paths containing spaces.
+	- Highlighting of local variables (could be useful for checking your
+	  variable is defined in the correct function)?  Not currently possible as
+	  "ctags --c-kinds=+l" doesn't provide the scope of the local variable, so
+	  a lot of complicated parsing of the source would be required.
+
+	- Option to update the types files whenever :make is run.
+
+	- Option to update the types files whenever specific files are written
+	  (would need to make :UpdateTypesFile! much faster for this to be
+	  practical).
+
+	- Make it work better with paths containing spaces.
 
 ==============================================================================
-6. TagHighlight History                *TagHighlight-history*               {{{1
+7. TagHighlight History                *TagHighlight-history*               {{{1
 
 TODO:
 rXXX : Xth XXX 2011        : Significant refactor of all the code.  Reworked
-			     the way options are set (can now be set globally,
-			     per buffer or in a project configuration file).
-			     All options now moved into dictionaries to
-			     minimise the number of variables created by the
-			     plugin.  Moved most of the functionality into
-			     autoload to simplify operation.  Added support
-			     for using the python interface (either 2.6+ or
-			     3.0+), or using a system python (either 2.6+ or
-			     3.0+) or using a compiled version on either
-			     Windows or Linux.  Improved library
-			     implementation to improve loading method and ease
-			     generation of standard libraries.  Added support
-			     for user libraries.  Improved language handlers
-			     (now configured from a single text file).
-			     Renamed project from ctags_highlighter to
-			     TagHighlight.  New revision numbering scheme.
-			     Changed default types file extension.  Allow
-			     complete customisation of location and name of
-			     types and tags files.  Allow specific keywords to
-			     be skipped when generating types files.  Added
-			     support for pre-read, post-read, pre-update and
-			     post-update hooks to allow further customisation.
+							 the way options are set (can now be set globally,
+							 per buffer or in a project configuration file).
+							 All options now moved into dictionaries to
+							 minimise the number of variables created by the
+							 plugin.  Moved most of the functionality into
+							 autoload to simplify operation.  Added support
+							 for using the python interface (either 2.6+ or
+							 3.0+), or using a system python (either 2.6+ or
+							 3.0+) or using a compiled version on either
+							 Windows or Linux.  Improved library
+							 implementation to improve loading method and ease
+							 generation of standard libraries.  Added support
+							 for user libraries.  Improved language handlers
+							 (now configured from a single text file).
+							 Renamed project from ctags_highlighter to
+							 TagHighlight.  New revision numbering scheme.
+							 Changed default types file extension.  Allow
+							 complete customisation of location and name of
+							 types and tags files.  Allow specific keywords to
+							 be skipped when generating types files.  Added
+							 support for pre-read, post-read, pre-update and
+							 post-update hooks to allow further customisation.
 
 r461 : 6th May 2011        : Allow explicit setting of ctags executable
-                             name.  Added troubleshooting section to the
-                             manual.
+							 name.  Added troubleshooting section to the
+							 manual.
 
 r458 : 7th March 2011      : Inclusion of vim keywords (display, contained
-                             etc) controlled by separate option.
+							 etc) controlled by separate option.
 
 r456 : 6th March 2011      : Fixed accidental file-type change.
 
 r452 : 6th March 2011      : Better handling of unknown ctags tag kinds.
 
 r443 : 19th February 2011  : Allow customisation of the filenames used
-                             for tags and types files (thanks to Sung Pae).
+							 for tags and types files (thanks to Sung Pae).
 
 r442 : 16th February 2011  : Improved prioritisation of object-oriented
-                             language types (thanks to Aleksey Baibarin).
+							 language types (thanks to Aleksey Baibarin).
 
 r440 : 16th February 2011  : More explicit choice of C/C++ file extensions to
-			     avoid conflicts with C# (thanks to Aleksey
-			     Baibarin).
+							 avoid conflicts with C# (thanks to Aleksey
+							 Baibarin).
 
 r439 : 10th February 2011  : Kill any cscope connections prior to running 
-                             script in order to prevent cscope from locking
-                             the cscope.out file.
+							 script in order to prevent cscope from locking
+							 the cscope.out file.
 
 r435 : 11th January 2011   : Changed default to not include syntax matches
-                             unless either g:TypesFileIncludeSynMatches or
-                             b:TypesFileIncludeSynMatches is set to 1 (this
-                             makes the highlighting much faster for large
-                             projects).
+							 unless either g:TypesFileIncludeSynMatches or
+							 b:TypesFileIncludeSynMatches is set to 1 (this
+							 makes the highlighting much faster for large
+							 projects).
 
 r431 : 2nd December 2010   : Add support for local variables in non-C
-                             languages.
+							 languages.
 
 r429 : 2nd December 2010   : Improvements to cope with spaces in paths.
 
 r410 : 9th September 2010  : Improved option configuration implementation.
 
 r409 : 9th September 2010  : Allow cscope configuration options to be local
-                             rather than buffer specific.
+							 rather than buffer specific.
 
 r398 : 29th March 2010     : Added support for python import in the listing.
 
 r396 : 29th March 2010     : Factored out old ctags_[a-z] types to improve
-                             language support.
+							 language support.
 
 r394 : 26th March 2010     : Fix for python use.
 
 r391 : 2nd March 2010      : Fix for ctags names.
 
 r390 : 2nd March 2010      : Attempted improvements to code including support
-                             for C# (thanks to Aleksey Baibarin).
+							 for C# (thanks to Aleksey Baibarin).
 
 r387 : 20th February 2010  : Fixed VIMFILESDIR typo.
 
 r384 : 19th February 2010  : Improvements to VIMFILESDIR identification.
-                             Re-architecture of type definitions to make
-                             them more sensitive to different ctags "kinds"
-                             for different languages.  Note that Enumerator
-                             has been renamed to EnumerationValue: the latest
-                             Bandit Colour Scheme supports this.
+							 Re-architecture of type definitions to make
+							 them more sensitive to different ctags "kinds"
+							 for different languages.  Note that Enumerator
+							 has been renamed to EnumerationValue: the latest
+							 Bandit Colour Scheme supports this.
 
 r382 : 13th February 2010  : Fixed escaping of paths and operation of
-                             ReadTypes when not in an autocommand.
+							 ReadTypes when not in an autocommand.
 
 r340 : 2nd November 2009   : Added missing winrestview().
 
 r329 : 16th September 2009 : Added revision output to mktypes.
 
 r328 : 16th September 2009 : Fix for bug with path finding on Windows where
-                             directories in the path end in a backslash.
+							 directories in the path end in a backslash.
 
 r326 : 15th September 2009 : Added revision number to debug output.
 
 r324 : 14th September 2009 : Fixed Linux bugs with new implementation.
 
 r321 : 14th September 2009 : Fixed bug with returning to the correct window
-			     after use, added debugging statements and moved
-			     executable search to a separate function.  Also
-			     added preliminary work towards more explicit
-			     type names.
+							 after use, added debugging statements and moved
+							 executable search to a separate function.  Also
+							 added preliminary work towards more explicit
+							 type names.
 
 r309 : 17th August 2009    : Added documentation.
 
 r302 : 10th August 2009    : Added experimental PHP support.
 
 r301 : 7th August 2009     : Made GUI tags and types files optional and added
-			     shellescape to protect paths (thanks to Mikhail
-			     Stepura again). The gui_tags_and_types.vba file
-			     contains the tags and highlighting definitions
-			     for Qt, wxWidgets and wxPython (used to be
-			     included in the main distribution).
+							 shellescape to protect paths (thanks to Mikhail
+							 Stepura again). The gui_tags_and_types.vba file
+							 contains the tags and highlighting definitions
+							 for Qt, wxWidgets and wxPython (used to be
+							 included in the main distribution).
 
 r292 : 3rd August 2009     : Fixed bug with cscope option.
 
 r285 : 27th July 2009      : Added support for ctags being stored in a path
-			     with spaces and other odd characters (thanks to
-			     Mikhail Stepura).
+							 with spaces and other odd characters (thanks to
+							 Mikhail Stepura).
 
 r261 : 23rd May 2009       : Changed some of the defaults to the python script
-			     (so fewer options need to be passed by
-			     UpdateTypesFile).  It should now be possible to
-			     generate the types file simply by running
-			     "mktypes.py" or "mktypes.py -r" in the project
-			     directory.  Of course, UpdateTypesFile works too.
-			     Added UpdateTypesFileOnly command for projects in
-			     which the tags file is updated externally (e.g.
-			     the Linux kernel source).  Removed regular
-			     expression matches by default: this is much
-			     quicker for large projects.
+							 (so fewer options need to be passed by
+							 UpdateTypesFile).  It should now be possible to
+							 generate the types file simply by running
+							 "mktypes.py" or "mktypes.py -r" in the project
+							 directory.  Of course, UpdateTypesFile works too.
+							 Added UpdateTypesFileOnly command for projects in
+							 which the tags file is updated externally (e.g.
+							 the Linux kernel source).  Removed regular
+							 expression matches by default: this is much
+							 quicker for large projects.
 
 r252 : 21st May 2009       : Added (optional) support for highlighting of
-			     local variables (not scope-specific: just
-			     recognises names).  Tidied up tag generation.
+							 local variables (not scope-specific: just
+							 recognises names).  Tidied up tag generation.
 
 r173 : 17th November 2008  : Added automatic reloading of types file whenever
-			     :UpdateTypesFile is run.  Also runs cscope (in
-			     the background) if cscope.files is present in the
-			     current working directory.
+							 :UpdateTypesFile is run.  Also runs cscope (in
+							 the background) if cscope.files is present in the
+							 current working directory.
 
 r132 : 17th September 2008 : Updated to support limiting the languages checked
-			     for (intended to be used with the project plugin
-			     and it's in= option) in order to speed it up a
-			     bit. Also added project option for recursion (so
-			     you don't have to bother with the exclamation
-			     mark) and parsing of local enumerations.
-			     Finally, added sorting of tags file such that
-			     function implementations come before function
-			     declarations, regardless of the alphabetic order
-			     of the file names in which they are stored.
-			     Finally, added zipfile version in case of
-			     problems with vba.
+							 for (intended to be used with the project plugin
+							 and it's in= option) in order to speed it up a
+							 bit. Also added project option for recursion (so
+							 you don't have to bother with the exclamation
+							 mark) and parsing of local enumerations.
+							 Finally, added sorting of tags file such that
+							 function implementations come before function
+							 declarations, regardless of the alphabetic order
+							 of the file names in which they are stored.
+							 Finally, added zipfile version in case of
+							 problems with vba.
 
 r129 : 9th September 2008  : Updated to only add to the various rainbow.vim
-			     related groups if b:hlrainbow is set.
+							 related groups if b:hlrainbow is set.
 
 r126 : 5th September 2008  : This has now been updated to run considerably
-			     quicker (with only one pass by ctags and
-			     excluding directories named "docs" to avoid
-			     spending a long time searching through all the
-			     files that doxygen creates).  On the project I
-			     used to benchmark it, the running time reduced
-			     from about two minutes to about seven seconds!
+							 quicker (with only one pass by ctags and
+							 excluding directories named "docs" to avoid
+							 spending a long time searching through all the
+							 files that doxygen creates).  On the project I
+							 used to benchmark it, the running time reduced
+							 from about two minutes to about seven seconds!
 
 ==============================================================================
 Modelines: {{{1
- vim:tw=78:ts=8:ft=help:fdm=marker:
+ vim:tw=78:ts=4:ft=help:fdm=marker: