From ebe2ba9aedafeac5ffc19b52e9f6cf0d994e5726 Mon Sep 17 00:00:00 2001 From: Peter Odding Date: Fri, 19 Apr 2013 01:25:35 +0200 Subject: Move g:easytags_languages documentation to README.md Integration of pull request #40: https://github.com/xolox/vim-easytags/pull/40 --- README.md | 21 ++++++++++ autoload/xolox/easytags.vim | 2 +- doc/easytags.txt | 93 +++++++++++++++++++++++---------------------- 3 files changed, 70 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index a7b3d24..2e5b1bd 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,26 @@ The plug-in will try to determine the location where Exuberant Ctags is installe :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] [jsctags] 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 As mentioned above the plug-in will store your tags in `~/.vimtags` on UNIX and `~/_vimtags` on Windows. To change the location of this file, set the global variable `g:easytags_file`, e.g.: @@ -278,6 +298,7 @@ This software is licensed under the [MIT license](http://en.wikipedia.org/wiki/M [exctags]: http://ctags.sourceforge.net/ [hlinks]: http://en.wikipedia.org/wiki/Hard_link [ide]: http://en.wikipedia.org/wiki/Integrated_development_environment +[jsctags]: https://npmjs.org/package/jsctags [messages]: http://vimdoc.sourceforge.net/htmldoc/message.html#:messages [neocomplcache]: http://www.vim.org/scripts/script.php?script_id=2620 [shell]: http://peterodding.com/code/vim/shell/ diff --git a/autoload/xolox/easytags.vim b/autoload/xolox/easytags.vim index 22200df..2197be6 100644 --- a/autoload/xolox/easytags.vim +++ b/autoload/xolox/easytags.vim @@ -3,7 +3,7 @@ " Last Change: April 19, 2013 " URL: http://peterodding.com/code/vim/easytags/ -let g:xolox#easytags#version = '2.9' +let g:xolox#easytags#version = '3.0' " Public interface through (automatic) commands. {{{1 diff --git a/doc/easytags.txt b/doc/easytags.txt index 3158f7e..c594817 100644 --- a/doc/easytags.txt +++ b/doc/easytags.txt @@ -12,20 +12,21 @@ Contents ~ 2. The |:HighlightTags| command 4. Options |easytags-options| 1. The |g:easytags_cmd| option - 2. The |g:easytags_file| option - 3. The |g:easytags_dynamic_files| option - 4. The |g:easytags_by_filetype| option - 5. The |g:easytags_always_enabled| option - 6. The |g:easytags_on_cursorhold| option - 7. The |g:easytags_updatetime_min| option - 8. The |g:easytags_updatetime_autodisable| 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 + 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_updatetime_autodisable| option + 10. The |g:easytags_auto_update| option + 11. The |g:easytags_auto_highlight| option + 12. The |g:easytags_autorecurse| option + 13. The |g:easytags_include_members| option + 14. The |g:easytags_resolve_links| option + 15. The |g:easytags_suppress_ctags_warning| option + 16. 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 @@ -169,30 +170,31 @@ where you've installed Exuberant Ctags, e.g.: > :let g:easytags_cmd = '/usr/local/bin/ctags' -If you entirely rely on language-specific configuration and don't have a +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 -The Exuberant Ctags tools supports many languages and can be extended via -regexp patterns, but for some languages, separate tools with ctags-compatible -output exist (e.g. jsctags for Javascript). To use these, the executable and -its arguments must be configured. > - +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' + \ '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. +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. @@ -300,7 +302,7 @@ this option (number of milliseconds). The *g:easytags_updatetime_autodisable* option 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 +insert mode in the case of the neocomplcache [10] 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 @@ -372,14 +374,14 @@ your vimrc script, a file type plug-in, etc.): ------------------------------------------------------------------------------- The *g:easytags_resolve_links* option -UNIX has symbolic links [10] and hard links [11], both of which conflict with +UNIX has symbolic links [11] and hard links [12], both of which conflict with the concept of having one unique location for every identifier. With regards to hard links there's not much anyone can do, but because I use symbolic links quite a lot I've added this option. It's disabled by default since it has a small performance impact and might not do what unknowing users expect it to: When you enable this option the plug-in will resolve symbolic links in pathnames, which means your tags file will only contain entries with canonical -pathnames [12]. To enable this option (which I strongly suggest doing when you +pathnames [13]. To enable this option (which I strongly suggest doing when you run UNIX and use symbolic links) execute the following Vim command: > :let g:easytags_resolve_links = 1 @@ -463,11 +465,11 @@ modes (except of course for the 'Tag' suffix). Passing custom command line arguments to Exuberant Ctags ~ You may want to run Exuberant Ctags with specific command line options, for -example the code_complete [13] plug-in requires the signature field to be +example the code_complete [14] plug-in requires the signature field to be present. To do this you can create a configuration file for Exuberant Ctags, e.g. '~/.ctags' on UNIX or '%USERPROFILE%\ctags.cnf' on Windows. The file should contain one command line option per line. See the Exuberant Ctags -manual [14] for details. +manual [15] for details. =============================================================================== *easytags-troubleshooting* @@ -567,7 +569,7 @@ project directories. ------------------------------------------------------------------------------- The plug-in doesn't seem to work in Cygwin ~ -If you want to use the plug-in with Vim under Cygwin [15], you need to have +If you want to use the plug-in with Vim under Cygwin [16], you need to have the Cygwin version of Ctags installed instead of the Windows version (thanks to Alex Zuroff for reporting this!). @@ -578,13 +580,13 @@ Contact ~ If you have questions, bug reports, suggestions, etc. the author can be contacted at peter@peterodding.com. The latest version is available at http://peterodding.com/code/vim/easytags/ and http://github.com/xolox/vim-easytags. -If you like this plug-in please vote for it on Vim Online [16]. +If you like this plug-in please vote for it on Vim Online [17]. =============================================================================== *easytags-license* License ~ -This software is licensed under the MIT license [17]. Copyright 2011 Peter +This software is licensed under the MIT license [18]. Copyright 2011 Peter Odding . =============================================================================== @@ -599,14 +601,15 @@ 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 -[10] http://en.wikipedia.org/wiki/Symbolic_link -[11] http://en.wikipedia.org/wiki/Hard_link -[12] http://en.wikipedia.org/wiki/Canonicalization -[13] http://www.vim.org/scripts/script.php?script_id=1764 -[14] http://ctags.sourceforge.net/ctags.html#FILES -[15] http://en.wikipedia.org/wiki/Cygwin -[16] http://www.vim.org/scripts/script.php?script_id=3114 -[17] http://en.wikipedia.org/wiki/MIT_License +[9] https://npmjs.org/package/jsctags +[10] http://www.vim.org/scripts/script.php?script_id=2620 +[11] http://en.wikipedia.org/wiki/Symbolic_link +[12] http://en.wikipedia.org/wiki/Hard_link +[13] http://en.wikipedia.org/wiki/Canonicalization +[14] http://www.vim.org/scripts/script.php?script_id=1764 +[15] http://ctags.sourceforge.net/ctags.html#FILES +[16] http://en.wikipedia.org/wiki/Cygwin +[17] http://www.vim.org/scripts/script.php?script_id=3114 +[18] http://en.wikipedia.org/wiki/MIT_License vim: ft=help -- cgit v1.2.3