https://github.com/rixo/atom-refs
Jump between references & refactor for Atom
https://github.com/rixo/atom-refs
Last synced: 6 months ago
JSON representation
Jump between references & refactor for Atom
- Host: GitHub
- URL: https://github.com/rixo/atom-refs
- Owner: rixo
- Created: 2019-05-20T19:22:47.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-27T12:20:01.000Z (about 2 years ago)
- Last Synced: 2025-03-03T00:04:34.480Z (over 1 year ago)
- Language: JavaScript
- Size: 893 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# atom-refs
This project recomposes big parts of [atom-refactor] / [js-refactor] and [js-hyperclick]. Big thanks to them.
**WARNING This is very early alpha version.** Expect bugs.
## Motivations
- add navigation between occurrences
- add support for svelte3
- avoid to open temporary editors when resolving re-exported modules (`export { ... } from`)
- share AST to avoid double parsing of same code
## Features
- highlights all references (bindings) to a variables in a JS scope
- select all references (to rename all references at once)
- navigate to previous / next reference
- jump to variable declaration / import statement
- jump through files to imported module definition
- either from local import declaration, or a reference later in the code
- to `./local-module`, `'global-ones'` and even atom's doc! (actually using js-hyperclick for module resolution currently)
- skip through `import { default as foo } from 'foo'` to the actual declaration (optionally, by using one of two jump command variants)
- can provide to [hyperclick] for mouse support (but does not depends on it)
- supports svelte3! including references in the template!!
- supports jsx
- maybe supports vue? (don't remember, not tested recently, probably somewhat partial support)
- does NOT support typescript (because typescript has all of this more or less built-in)
[atom-refactor]: https://atom.io/packages/refactor
[js-refactor]: https://atom.io/packages/js-refactor
[js-hyperclick]: https://atom.io/packages/js-hyperclick
[hyperclick]: https://atom.io/packages/hyperclick
## Keymap
Provided keymap works with vim-mode-plus because it's what I use. You'll need to map atom-refs's command yourself if not using vim-mode-plus. (Please post an issue if you find a combination that works well in non-vim, to have it integrated in the defaults).