Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aziz/SublimeHyperClick
Quickly and easily jump between your files. The missing part of Go to definition functionality in Sublime.
https://github.com/aziz/SublimeHyperClick
hyperclick sublime
Last synced: 16 days ago
JSON representation
Quickly and easily jump between your files. The missing part of Go to definition functionality in Sublime.
- Host: GitHub
- URL: https://github.com/aziz/SublimeHyperClick
- Owner: aziz
- License: mit
- Created: 2016-10-16T23:28:16.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T22:02:01.000Z (over 1 year ago)
- Last Synced: 2024-07-05T08:37:21.415Z (4 months ago)
- Topics: hyperclick, sublime
- Language: Python
- Homepage:
- Size: 135 KB
- Stars: 211
- Watchers: 11
- Forks: 25
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sublime HyperClick
Quickly and easily jump between your files.
The missing part of `Go to definition` functionality in Sublime.![sublime hyperclick](https://cloud.githubusercontent.com/assets/3202/19578519/51558bb4-971c-11e6-8ef2-d256da53d1da.gif)
HyperClick detects references to other files and lets you go to them, by pressing a key or clicking on an icon next to the filename. Even package names and filenames without an extension can be detected.
## Supported Languages
- JavaScript, TypeScript
- Vue, Svelte components
- CSS, Sass, SCSS, LESS, Stylus
- HTML
- PHP
- Twig, Smarty, Pug, Nunjucks, Jinja2
- JSTL
- Dart
- SugarML, SugarSSIf you'd like to request another language, [open an issue](https://github.com/aziz/SublimeHyperClick/issues) with an example project in that language.
## Installation
You can install HyperClick via [Sublime Package Control](https://packagecontrol.io/).## Usage
HyperClick gives you three different ways to navigate:
### 1. Green arrows to the right of paths
In Sublime Text 3, you can "Go to file" by clicking the arrow to the right of the filename.This arrow shows up when you **hover your mouse cursor** or **move to the line** (with up/down keys, or Goto Line) that contains the filename.
### 2. Context Menu
If you right click on a required/imported line you'll get a `Goto File` menu item on the context menu.### 3. Shortcut key
HyperClick extends the use of the F12 (`Go to definition`) shortcut, jumping to files when `Go to definition` doesn't work.## Settings
You can customize HyperClick settings by going to
`Preferences > Package Settings > HyperClick > Settings`, or calling `Preferences: HyperClick Settings` from the command palette.### Project settings
You can use [project settings](https://www.sublimetext.com/docs/3/projects.html) to configure HyperClick to look for files at specific dirs, through the settings `"lookup_paths"` and `"aliases"`.
To open the project settings file, go to `Project > Settings`. If the `Settings` option is grayed out, choose the option `Save Project As...` (right above it) to save it to disk. The `Settings` option can now be selected.
#### Example
```json
{
"folders":
[
{
"path": "development/project"
}
],
"settings": {
"HyperClick": {
"scopes": {
"source.sass": {
"lookup_paths": [
"assets/css/src/",
"assets/css/lib/"
]
},
"text.html.smarty": {
"lookup_paths": [
"views/templates/"
]
}
}
}
}
}
```### Upgrading settings for 2.0
In 2.0 the language-specific settings no longer rely on syntax filename mapping.
Each language is supported via an entry in the "scopes" object, by the language ["scope"](https://www.sublimetext.com/docs/3/scope_naming.html) name.To prevent conflicting settings (and for consistency), the settings file has been renamed to [HyperClick.sublime-settings](https://github.com/aziz/SublimeHyperClick/blob/master/HyperClick.sublime-settings). If you have any old settings, they're in `Packages/User/hyper_click.sublime-settings` (where `Packages` can be found via Preferences > Browse Packages).
Project settings have been moved from the `hyper_click`To upgrade your settings, the first step is to rearrange the settings to this new structure. Then:
- Remove now unused settings "supported_syntaxes", "default_filenames".
- Rename "import_line_regex" to "regexes" and "valid_extensions" to "extensions".
- Other settings are unchanged.Example:
```json
{
"import_line_regex": {
"js": [
"^import\\s+['\"](.+)['\"];?$"
]
}
}
```Becomes:
```json
{
"scopes": {
"source.js": {
"regexes": [
"^import\\s+['\"](.+)['\"];?$"
]
}
}
}
```