DashDoc provides integration of Dash into Sublime Text.
You need to be on OS X to use DashDoc. You might have installed it already. If nothing helps, please check package control troubleshooting page or fill a bug against package control.
You can look up the word under the cursor or selected text in Dash using ctrl+h
.
- Install the Sublime Package Control package.
- Use Package Control to install this package (DashDoc)
As usual, you will find the associated settings under the Preferences / Package Settings / DashDoc menu. Personal settings should be made in Settings - User.
By default, DashDoc is sensitive to the syntax used in the current view. Dash will then consult the docset that matches the current syntax. Example: a lookup for map
in a Haskell buffer will instruct Dash to search in its haskell
docset, a search for the same word in a Python buffer will consult the python
docset instead.
Syntax-insensitive search may be invoked using the ctrl+alt+h
hotkey. You have an option to switch the default method of searching with config option syntax_sensitive_as_default
, which defaults to true. If you set it to false, then ctrl+h
becomes syntax-insensitive, and ctrl+alt+h
becomes the sensitive option.
For any Sublime Text syntax, DashDoc can search a number of docsets of your choosing. Use map entries of the form { <syntax> : [ <docset>, <docset>, ... ] }
. For <docset>
, use the lowercase docset prefixes that Dash indicates in its Preferences / Docsets pane. Dash searches the list of docsets in the given order.
For particular projects, you can override individual syntax-to-docsets mappings in the settings
of the project's .sublime-project
file, for example:
"settings": {
"syntax_docset_map": {
"Objective-C": ["iphoneos", "cocos2d"]
}
}
Mappings that are not overridden this way default to what is found in the DashDoc.sublime-settings
file. The default mapping, derived from Dash's suggestion, is:
"syntax_docset_map":
{
"ActionScript" : ["actionscript"],
"Boo" : ["unity3d"],
"C" : ["c", "glib", "gl2", "gl3", "gl4", "manpages"],
"C99" : ["c", "glib", "gl2", "gl3", "gl4", "manpages"],
"C++" : ["cpp", "net", "boost", "qt", "cvcpp", "cocos2dx", "c", "manpages"],
"C++11" : ["cpp", "net", "boost", "qt", "cvcpp", "cocos2dx", "c", "manpages"],
"Clojure" : ["clojure"],
"CoffeeScript" : ["coffee"],
"ColdFusion" : ["cf"],
"CSS" : ["css", "bootstrap", "foundation", "less", "cordova", "phonegap"],
"Elixir" : ["elixir"],
"Erlang" : ["erlang"],
"Go" : ["go"],
"GoSublime" : ["go"],
"GoSublime-Go" : ["go"],
"Groovy" : ["groovy"],
"Haskell" : ["haskell"],
"Haskell-SublimeHaskell": ["haskell"],
"Literate Haskell" : ["haskell"],
"HTML" : ["html", "svg", "css", "bootstrap", "foundation", "javascript", "jquery", "jqueryui", "jquerym", "angularjs", "backbone", "marionette", "meteor", "moo", "prototype", "ember", "lodash", "underscore", "sencha", "extjs", "knockout", "zepto", "cordova", "phonegap", "yui"],
"Jade" : ["jade"],
"Java" : ["java", "javafx", "grails", "groovy", "playjava", "spring", "cvj", "processing"],
"JavaScript" : ["javascript", "jquery", "jqueryui", "jquerym", "backbone", "marionette", "meteor", "sproutcore", "moo", "prototype", "bootstrap", "foundation", "lodash", "underscore", "ember", "sencha", "extjs", "knockout", "zepto", "yui", "d3", "svg", "dojo", "coffee", "nodejs", "express", "chai", "html", "css", "cordova", "phonegap", "unity3d"],
"Less" : ["less"],
"Lisp" : ["lisp"],
"Lua" : ["lua", "corona"],
"Markdown" : ["markdown"],
"MultiMarkdown" : ["markdown"],
"Objective-C" : ["iphoneos", "macosx", "appledoc", "cocos2d", "cocos3d", "kobold2d", "sparrow", "c", "manpages"],
"Objective-C++" : ["cpp", "iphoneos", "macosx", "appledoc", "cocos2d", "cocos2dx", "cocos3d", "kobold2d", "sparrow", "c", "manpages"],
"Objective-J" : ["cappucino"],
"OCaml" : ["ocaml"],
"Perl" : ["perl", "manpages"],
"PHP" : ["php", "wordpress", "drupal", "zend", "laravel", "yii", "joomla", "ee", "codeigniter", "cakephp", "symfony", "typo3", "twig", "smarty", "html", "mysql", "sqlite", "mongodb", "psql", "redis"],
"Processing" : ["processing"],
"Puppet" : ["puppet"],
"Python" : ["python", "django", "twisted", "sphinx", "flask", "cvp"],
"R" : ["r"],
"Ruby" : ["ruby", "rubygems", "rails"],
"Ruby on Rails" : ["ruby", "rubygems", "rails"],
"(HTML) Rails" : ["ruby", "rubygems", "rails", "html", "svg", "css", "bootstrap", "foundation", "javascript", "jquery", "jqueryui", "jquerym", "angularjs", "backbone", "marionette", "meteor", "moo", "prototype", "ember", "lodash", "underscore", "sencha", "extjs", "knockout", "zepto", "cordova", "phonegap", "yui"],
"(JavaScript) Rails" : ["ruby", "rubygems", "rails", "javascript", "jquery", "jqueryui", "jquerym", "backbone", "marionette", "meteor", "sproutcore", "moo", "prototype", "bootstrap", "foundation", "lodash", "underscore", "ember", "sencha", "extjs", "knockout", "zepto", "yui", "d3", "svg", "dojo", "coffee", "nodejs", "express", "chai", "html", "css", "cordova", "phonegap", "unity3d"],
"(SQL) Rails" : ["ruby", "rubygems", "rails"],
"Ruby Haml" : ["haml"],
"Sass" : ["sass", "compass", "bourbon", "neat", "css"],
"Scala" : ["scala", "akka", "playscala"],
"Shell-Unix-Generic" : ["bash", "manpages"],
"SQL" : ["mysql", "sqlite", "psql"],
"TCL" : ["tcl"],
"YAML" : ["yaml"]
}
More information on Dash docsets.
- Original idea and code by Vladimir Pouzanov
- Syntax sensitivity added by Torsten Grust