This application generates ctags-compatible output for the sections of a Markdown document.
The motivation was to have a tool fast enough to use with the TagBar plugin in Vim.
To use this tool with TagBar, add the following into your ~/.vimrc
:
" Add support for markdown files in tagbar.
let g:tagbar_type_markdown = {
\ 'ctagstype': 'markdown',
\ 'ctagsbin' : '/path/to/markdown2ctags.py',
\ 'ctagsargs' : '-f - --sort=yes --sro=»',
\ 'kinds' : [
\ 's:sections',
\ 'i:images'
\ ],
\ 'sro' : '»',
\ 'kind2scope' : {
\ 's' : 'section',
\ },
\ 'sort': 0,
\ }
Note
The suggested sro
used to be |
, but this symbol could be used in headings (when talking about logical operators, for example). As a result, I recommend using something like the UTF-8 chevron above and specifying this new sro character on the command line via the --sro
option.
However, some folks have had issues with the chevron--TagBar is failing to split on the character correctly and it results in incorrect headings that contain <bb>
in TagBar. I'm not sure what the underlying cause is just yet, but if you're suffering from this issue, you may want to fall back to using the |
character. You can do this by dropping the --sro=»
parameter from ctagsargs
and setting 'sro'
to '|'
.
You'll need to have the TagBar plugin installed for this to work. Also, you may need to call the variable g:tagbar_type_mkd
and change ctagstype
to 'mkd'
if you're Ben William's Markdown syntax highlighting script. It sets the file type to mkd
whereas Tim Pope's sets it to markdown
.
This tool is licensed under a Simplified BSD license. See LICENSE.txt
for details.