aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/easytags.txt97
1 files changed, 82 insertions, 15 deletions
diff --git a/doc/easytags.txt b/doc/easytags.txt
index 372c541..a5ca306 100644
--- a/doc/easytags.txt
+++ b/doc/easytags.txt
@@ -1,5 +1,49 @@
*easytags.txt* Automated tag generation and syntax highlighting in Vim
+===============================================================================
+ *easytags-contents*
+Contents ~
+
+ 1. Introduction |easytags-introduction|
+ 2. Installation |easytags-installation|
+ 1. A note about Windows |easytags-a-note-about-windows|
+ 3. Commands |easytags-commands|
+ 1. The |:UpdateTags| command
+ 2. The |:HighlightTags| command
+ 4. Options |easytags-options|
+ 1. The |g:easytags_cmd| option
+ 2. The |g:easytags_languages| option
+ 3. The |g:easytags_file| option
+ 4. The |g:easytags_dynamic_files| option
+ 5. The |g:easytags_by_filetype| option
+ 6. The |g:easytags_always_enabled| option
+ 7. The |g:easytags_on_cursorhold| option
+ 8. The |g:easytags_updatetime_min| option
+ 9. The |g:easytags_auto_update| option
+ 10. The |g:easytags_auto_highlight| option
+ 11. The |g:easytags_autorecurse| option
+ 12. The |g:easytags_include_members| option
+ 13. The |g:easytags_resolve_links| option
+ 14. The |g:easytags_suppress_ctags_warning| option
+ 15. The |g:easytags_ignored_syntax_groups| option
+ 5. Faster syntax highlighting using Python |easytags-faster-syntax-highlighting-using-python|
+ 1. The |g:easytags_python_enabled| option
+ 2. The |g:easytags_python_script| option
+ 6. How to customize the highlighting colors?
+ 7. Passing custom command line arguments to Exuberant Ctags
+ 8. Troubleshooting |easytags-troubleshooting|
+ 1. |:HighlightTags| only works for the tags file created by |:UpdateTags|
+ 2. The plug-in complains that Exuberant Ctags isn't installed
+ 3. Vim locks up while the plug-in is running
+ 4. Failed to highlight tags because pattern is too big!
+ 5. The plug-in doesn't seem to work in Cygwin
+ 9. Contact |easytags-contact|
+ 10. License |easytags-license|
+
+===============================================================================
+ *easytags-introduction*
+Introduction ~
+
Vim has long been my favorite text editor and combined with Exuberant Ctags
[1] it has the potential to provide most of what I expect from an integrated
development environment [2]. Exuberant Ctags is the latest incarnation of a
@@ -125,6 +169,34 @@ where you've installed Exuberant Ctags, e.g.:
>
:let g:easytags_cmd = '/usr/local/bin/ctags'
+If you rely entirely on language-specific configuration and don't have a
+general ctags program, set this to the empty string.
+
+-------------------------------------------------------------------------------
+The *g:easytags_languages* option
+
+Exuberant Ctags supports many languages and can be extended via regular
+expression patterns, but for some languages separate tools with
+ctags-compatible output exist (e.g. jsctags [9] for Javascript). To use these,
+the executable and its arguments must be configured:
+>
+ let g:easytags_languages = {
+ \ 'language': {
+ \ 'cmd': g:easytags_cmd,
+ \ 'args': [],
+ \ 'fileoutput_opt': '-f',
+ \ 'stdout_opt': '-f-',
+ \ 'recurse_flag': '-R'
+ \ }
+ \}
+
+Each key is a special language definition. The key is in the notation of ctags
+in lowercase; you still need to use 'xolox#easytags#map_filetypes()' to map
+this to Vim's filetypes, if necessary.
+
+Above snippets shows the defaults; you only need to specify options that
+differ.
+
-------------------------------------------------------------------------------
The *g:easytags_file* option
@@ -220,20 +292,15 @@ The *g:easytags_updatetime_min* option
Vim has a setting which influences how often the plug-in is automatically
executed. When this setting is too low, the plug-in can break. For this reason
-the plug-in warns you when |'updatetime'| is lower than 4000 milliseconds. If
-you really want the plug-in to be executed more than once every 4 seconds
-(without a warning) you can lower the minimum acceptable updatetime by setting
-this option (number of milliseconds).
-
--------------------------------------------------------------------------------
-The *g:easytags_updatetime_autodisable* option
+the plug-in compensates by keeping track of when it was last executed. You'll
+get one warning when the plug-in first notices the low value, after that it
+will shut up. The default value of this option is 4000 milliseconds (4
+seconds).
-Other plug-ins may lower the |'updatetime'| value in certain contexts, e.g.
-insert mode in the case of the neocomplcache [9] plug-in. By setting this
-option to 1 (true) you can configure the easytags plug-in so that it doesn't
-give warnings about the updatetime option but instead skip updating and
-highlighting while the updatetime is set too low. When the updatetime is
-restored to a reasonable value the plug-in resumes.
+If you really want the plug-in to be executed more than once every 4 seconds
+you can lower the minimum acceptable updatetime by setting this option (as the
+number of milliseconds) however note that subsecond granularity is not
+supported.
-------------------------------------------------------------------------------
The *g:easytags_auto_update* option
@@ -513,7 +580,7 @@ If you like this plug-in please vote for it on Vim Online [16].
*easytags-license*
License ~
-This software is licensed under the MIT license [17]. Copyright 2011 Peter
+This software is licensed under the MIT license [17]. Copyright 2013 Peter
Odding <peter@peterodding.com>.
===============================================================================
@@ -528,7 +595,7 @@ References ~
[6] http://peterodding.com/code/vim/downloads/easytags.zip
[7] http://peterodding.com/code/vim/shell/
[8] http://en.wikipedia.org/wiki/Dynamic-link_library
-[9] http://www.vim.org/scripts/script.php?script_id=2620
+[9] https://npmjs.org/package/jsctags
[10] http://en.wikipedia.org/wiki/Symbolic_link
[11] http://en.wikipedia.org/wiki/Hard_link
[12] http://en.wikipedia.org/wiki/Canonicalization