Closed darrennoble closed 9 years ago
it looks like zeal does not use the correct mappings for docsets. the mappings are included in the docset plist (keys described in #23) and should be used by zeal. a mapping overview can be found on kapeli's site.
please address this issue with the zeal developers.
Here is the plist from the Java SE8 (http://sanfrancisco.kapeli.com/feeds/Java_SE8.tgz):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>java</string>
<key>CFBundleName</key>
<string>Java SE8</string>
<key>DocSetPlatformFamily</key>
<string>java</string>
<key>dashIndexFilePath</key>
<string>overview-summary.html</string>
<key>DashDocSetFamily</key>
<string>java</string>
</dict>
</plist>
I don't see java8 in there. Am I missing something, or did the plists in the docsets change?
you are right. i just reread #23. first comment says the java version number is added by dash. these versioned mappings are implemented in dash. probably not in zeal though.
with zeal the first keyword java8
should not match. now the second (backup) keyword java
should come into play. it should match against the docset because CFBundleIdentifier
, DashDocSetFamily
and DocSetPlatformFamily
are all java
.
does this not work?
It doesn't work using just java. The only way I've found to get it to work is by changing java8 to java se8, which is the CFBundleName. Zeal doesn't seem to allow searches on CFBundleIdentifier, DashDocSetFamily or DocSetPlatformFamily. If you want I can log a bug against Zeal to add support for searching on those, but ideally I'd want the search to add the CFBundleName because I also have Java SE7 installed for some other projects.
please file an issue with the zeal team. the docsets are dash based and the zeal plugin "api" is also dash based. it should behave the same way as dash. probably some other docsets are also not mapping because of how zeal handles the plist.
i'm also not sure if keywords with a space might be supported. dash keywords never use a space char. i would not like to add too many special conditions for every platform.
That makes sense and I wouldn't want to add a bunch of platform specific code either. I wonder how dash knows which docset java8 is. It must have a mapping somewhere in it's code or a file with the app since I used grep to search for java8 in the docset and it didn't find it.
probably something in its code. right. see: comment #23
Alright, I'm logging a ticket with Zeal. Thanks for your help!
When I do a search in both Java and Python code in IntelliJ on Linux it doesn't find anything because the docset names in the query aren't the ones used by zeal.
For example if I search for datetime in a Python 2 project it opens zeal with this query:
python2,python,django,twisted,sphinx,flask,tornado,sqlalchemy,numpy,scipy,salt,cvp:datetime
the problem is that the space is missing on python 2. It works if I add a space before the 2, like this:
python 2,python,django,twisted,sphinx,flask,tornado,sqlalchemy,numpy,scipy,salt,cvp:datetime
Java has a similar problem. Here is a search for Map in a Java 8 project:
java8,java,javafx,grails,groovy,playjava,spring,cvj,processing,javadoc:Map
The "java8" docset should be "java se8" like this:
java se8,java,javafx,grails,groovy,playjava,spring,cvj,processing,javadoc:Map