Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This adds a bunch of ctag kinds that I find useful for myself. Configuration options: g:elm_ctags_config - Location of the .cnf file that ctags uses. By default, it is defaulting to the one that I've added to this repo. I added this option because people may have their own ~/.ctags file with elm configuration (and other languages) already, which causes tagbar to show duplicate entires. g:elm_ctags_target_dirs - The directories that should be indexed by ctags. By default, I made it ./elm-stuff and ./src so that people can jump around their own source as well as the core library stuff. g:elm_ctags_exe - Name of the ctags executable, just so people can point it to /usr/local/bin or something. Outstanding issues: * No scope features * No idea how to support signatures in ctags. I really just wanted signatures to show up in tagbar. I was able to get it working by changing the .cnf to create tag names like `MyFunc (A -> B)`, but then those are then interpreted as actual tags, so you can't jump around using <c-]> in Vim. I'm considering having two .cnf files: one for generating the `tags` file and one for use with tagbar to get around it. The ctags documentation mentions the --fields+S options, but it also says that it only works for C family languages and there doesn't seem to be a way of adding it via the `--regex-` flags. Hack to make sure that imports don't define tags Currently, `import Html` will make vim jump to the import statement instead of the Html module. This hack will make sure that the tag generated in the import statement doesn't get jumped to.
- Loading branch information