Reputation: 709
I'm trying to get vim to provide some form of jQuery Omnicomplete. I have used ctags to generate tags based ont he jquery js file. After which I have turned on omnicompletion for javascript using
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
after which I set the tags variable to the tag file I created
set tags+=~/.vim/tags/jquery
When I open a js file, and use :ta
I'm able to find the function I want, but when I try to use omnicompletion, it just doesn't turn up. For example, I took this code from the net to test:
$("input").has(".email").addClass("email_icon");
In VIM, after typing $("input").
, I hit tab(with supertab set up) and has
does not turn up, even though I can find it through fuzzy finder or :ta
Any suggestions as to what I can do to resolve this? Thanks!:)
Upvotes: 18
Views: 6536
Reputation: 15724
Use Mozilla's DoctorJS (formerly jsctags), which is also used in Cloud9 IDE's Ace online editor.
See my answers for this question and this question for more info (install, config, etc.).
Upvotes: 7
Reputation: 13156
Another way to get javascript autocompletion would be to use mozilla's 'jsctags' project. It generates better tags for javascript than 'exuberant ctags'. Hopefully you'll see more when you use supertab & taglist-plus.
For more info: http://www.discontinuously.com/2011/03/vim-support-javascript-taglist-plus/
Upvotes: 5
Reputation: 3989
javascriptcomplete#CompleteJS
does not use the ctags
file for completion.
What you can do is, you can write your own omni-complete function for jQuery, or even better, expand the javascriptcomplete#CompleteJS
function defined in /usr/share/vim/vim72/autoload/javascriptcomplete.vim
to suit your needs.
Upvotes: 5