GotoDocumentation =========================== A Sublime Text plugin to jump to documentation for the current keyword. ## Supports * PHP * JS / CoffeeScript * HTML * CSS/SASS/LESS * Python (via `pydoc`) * Clojure * Go * Ruby (+Rails) * C / C++ * Perl * C# * Lua * Postgres * Erlang * Smarty * Haskell * ...you can add any other language via settings Installation -------------- **Via Package Control** Search for `GotoDocumentation` **Manually** Clone this project in your Packages folder under the name `GotoDocumentation`. `git clone https://github.com/kemayo/sublime-text-2-goto-documentation.git GotoDocumentation` How to use ---------------- Move the cursor inside the word you want the docs for and: * Press `Super+Shift+H` or * Open command palette (Ctrl+Shift+P) and search for for GotoDocumentation ## Edit the urls GotoDocumentation allows you to edit the url that opens by editing the settings. ### The available settings are: ```json { "prefix": "", // added at the begging of the query "suffix": "", // added at the end of the query "docs": { // obj containing the docs for each scope // these are merged with the default ones // the key value pair represent scope -> doc url // supported placeholders: // - %(query)s the selected text/word // - %(scope)s the current scope "css": "http://devdocs.io/#q=%(scope)s+%(query)s", // we can also have an object to // run a command for finding docs // inside the command you can use the same placeholders "python": { // the command to be executed "command": ["python", "-m", "pydoc", "%(query)s"], // a regex to determine if this was an invalid response from the console "failTest": ".*no Python documentation found for.*", // regex to select something from the valid response "changeMatch": "(Related help topics)", // regex to replace the matched result "changeWith": "-------\n\\1", // fallback url: if failTest returns true this will be used "url": "http://docs.python.org/3/search.html?q=%(query)s" } }, // if we have no docs for the current scope // we will try using the fallback one, // to disable set to false "fallback_scope": "google" } ``` The change replace is done with the [`re.sub`](https://docs.python.org/2/library/re.html#re.sub) method ## How to get the scope To get the scope for a specific place open your sublime console with `` ctrl + ` `` and paste in this command `view.scope_name(view.sel()[0].begin()).rpartition('.')[2].strip()` You can then use that scope to set a rule in the `docs` dictionary(object). Contributions ----------------- Submit a patch adding more and I'll include it. If you find a bug or have suggestions open an issue [here](https://github.com/kemayo/sublime-text-2-goto-documentation/issues)