From: Mauricio Fernandez Date: 2006-11-13T18:52:59+09:00 Subject: Re: [ANN] FastRI 0.1.0: faster, smarter RI docs for Ruby, DRb-enabled On Mon, Nov 13, 2006 at 01:13:36PM +0900, Pe�a, Botp wrote: > # fastri-server -b > # to rebuild the index and see if it found any methods/classes/modules: > > yes, that was it. i was too dumb to not recreate it. this pc was a new > install and ri was just lately installed. sorry for me being too dumb. It's not your fault; it should have been created automatically when you ran fastri-server for the first time. Or did you already have an empty .fastri-index? > i have another concern though. > > root@pc4all:/package# fri case > ------------------------------------------------------ Multiple choices: > Regexp#casefold?, String#casecmp > root@pc4all:/package# > root@pc4all:/package# ri case > More than one method matched your request. You can refine > your search by asking for information on one of: > Symbol#camelcase, Symbol#downcase, Symbol#downcase?, Symbol#upcase, [...] > String#lowercase?, String#upcase?, String#uppercase?, > Regexp#casefold? > > which show that ri gets more hits. i think ri is using regex? With FastRI, "partial matches" are of the form /#{sep_re}#{name}/ for methods and /^#{name}/ for namespaces (classes/modules) (where sep_re is '#', '\.' or '(#|\.)'), so it only tries to complete the method and '#case' matches Any::NameSpace::AnyClass#case.*, but not .*case, as it does in ri. It seems to me that method completion is more useful normally. If you want, I can add another search method (I don't really know how to name it though), that behaves like ri. Note that fri will return the results given by the first successful method: $ fri -h [...] -O, --order ORDER Specify lookup order. (default: eEnNpPxX) Uppercase: case-indep. e: exact, n: nested, p: partial x: nested and partial So if I add the new "match anywhere" method at the end (say we call it 'a' and 'A' for the case-indep. variant, and then 'b'/'B' for nested+"match anywhere"), doing -O eEnNpPxXaAbB you'll still get Regexp#casefold?, String#casecmp because it will try partial matching (pP) first. So, in order for it to behave more like ri, you'd need -O eEnNxXaAbB. > # > How do i make the fastri fixed to a certain port, say 12345? we're using > # > firewalls, so the concern.. > # > # I'll implement this. Note that you'll also have to open the # port used by > # the # Rinda Ring (7647). > > yes! thanks again. It's already in HEAD. -- Mauricio Fernandez - http://eigenclass.org - singular Ruby