danchoi / ri.vim

browse ri documentation from Vim
http://github.com/danchoi/ri.vim
MIT License
114 stars 15 forks source link

rdoc gem version require #15

Closed rlisowski closed 11 years ago

rlisowski commented 11 years ago

I don't known why but gem 'rdoc', '=> 3.8' stopped working for me on ruby-2.0.0-p247. I change it to gem 'rdoc', '>=3.8' and it work fine now.

rlisowski commented 11 years ago

Sorry for the confusion. I know that the patch #13 has just been accepted.

wikimatze commented 11 years ago

Hey, I did the change you've mentioned in your commit and autocompletion is working now. The next problem is now that I can't open any classes or methods mentioned in the ri autocompletion window. I'm getting the following error

/home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rdoc/store.rb:602:in `initialize': store at /home/helex/.rbenv/versions/2.0.0-p247/share/ri/2.0.0/system missing file /home/helex/.rbenv/versions/2.0.0-p247/share/ri/2.0.0/system/ActionController/Base/cdesc-Base.ri for ActionController::Base (RDoc::Store::MissingFileError)
    from /home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rdoc/store.rb:602:in `open'
    from /home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rdoc/store.rb:602:in `load_class_data'
    from /home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rdoc/store.rb:584:in `load_class'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:194:in `block in display_class'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:192:in `map'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:192:in `display_class'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:283:in `display_name'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:598:in `run'
    from /home/helex/Dropbox/vim-settings/plugins/ri.vim/plugin/ri_vim.rb:614:in `<main>'

The installed gems are:

$ gem list | grep rdoc
rdoc (4.0.0, 3.12.2, 3.8)

I even parsed the docs again as mentioned in https://github.com/korin/ri.vim#how-to-generate-ri-documentation. Some errors I got during the documentation creation are some UTF-8 problems in the following form:

Installing ri documentation for rbx-require-relative-0.0.9
Parsing documentation for rdiscount-2.1.6
unable to convert "\x94" from ASCII-8BIT to UTF-8 for lib/rdiscount.so, skipping
Parsing documentation for redcarpet-2.3.0
unable to convert "\x80" from ASCII-8BIT to UTF-8 for lib/redcarpet.so, skipping
Parsing documentation for rgen-0.6.5
Parsing documentation for ripper-tags-0.1.1
Parsing documentation for rmagick-2.13.2
unable to convert "\x8C" from ASCII-8BIT to UTF-8 for ext/RMagick/RMagick2.so, skipping

Thanks for putting your effort into this plugin.

Cheers Matthias

rlisowski commented 11 years ago

Ok, but now you have tree versions of rdoc. your ri.vim uses 3.8, right? I'm asking becasue you could modify plugin localy. When you have tree version of rdoc rvm docs generate-ri probably uses the newest one. TIP: you dont have to use grep just type $ gem list rdoc it's gonna list only matching gems.

wikimatze commented 11 years ago

Hi @korin thanks for the information. I installed only rdoc in version 4.0.0 and 3.8 for ruby-2.0.0-p247 installed with rbenv instead of rvm.

I explored the error when tyring to open the Array class:

missing file /home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/doc/POpen4-0.1.4/ri/Array/cdesc-Array.ri for Array (RDoc::Store::MissingFileError)

and yeah, this file isn't there! Next I wanted to see, where the documentation for gems is installed on my machine:

$ gem env gemdir
/home/helex/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0

everything fine. Nevertheless a plain

$ ri Array

is working fine. I sadly can't see where ri.vim is opening documentation for ruby 1.9.3 from, which is working. In this case the files placed in ~/.vim/plugins/ri.vim/plugin/ri_vim_cache are cached and readable in the typical ri version. If nothing helps, I'll use ri plain in the terminal by leaving ... :(.

Thanks for your effort to help me!

danchoi commented 11 years ago

Sorry guys I'm busy these days. I wish I could figure this out but I hope someone else can take the initiative.

wikimatze commented 11 years ago

No problem, @danchoi. As I mentioned, I can live without your nice plugin.

agis commented 11 years ago

gem 'rdoc', '=> 3.8' is not valid bundler syntax, while gem 'rdoc', '>= 3.8' is. Changed it and everything works fine again.

wikimatze commented 11 years ago

Hi @Agis, thanks for your help. I tried this and I still got the error mentioned above. Maybe its because I'm using rbenv and compiled ruby 7.4 with support of it? I even removed this line and it still didn't works for me.

If I'm the only user of this plugin with this problem than consider me as an "edge-case".

wikimatze commented 11 years ago

Okay, I switched over to ruby-install and chruby and got it working for ruby-1.9.3-p429 and ruby-2.1.0-preview1. This is solved for me when @danchoi has merged the changes into master. Thnks guys for helping me and giving me the support.

danchoi commented 11 years ago

Thank you.