gurgeous / bust-a-gem Goto Github PK
View Code? Open in Web Editor NEWAdds "Go to Definition" for Ruby projects in VS Code.
Home Page: https://marketplace.visualstudio.com/items?itemName=gurgeous.bust-a-gem
License: MIT License
Adds "Go to Definition" for Ruby projects in VS Code.
Home Page: https://marketplace.visualstudio.com/items?itemName=gurgeous.bust-a-gem
License: MIT License
Hello,
Is it possible to load several tags file like what we have in Vim?
For exampe we have a TAGS contains our code (e.g. lib/
) and GEMTAGS for libraries (e.g. vendor/
).
How may I help?
Thanks!
Would like to auto-rip all gems that are provided by the bustagem.cmd.bundle
(bundle show --paths
). The plugin only rips gem that are whitelisted in bustagem.gems
.
Do you think it would be possible to just change the rip
command to be something like this:
ripper-tags -f TAGSSSSSSS -R --force --extra=q $(pwd) $(bundle show --paths)
(pseudo code)
When navigating to symbols inside a file, they include the preceding definition keyword.
e.g. when I want to navigate to a method called foobar
the jump to symbol dropdown lists it as def foobar
.
This can likely be fixed by narrowing the symbol regex capture group to not include the keyword itself.
I set up Bust A Gem to run whenever I save a Ruby file. It works great!
Here's my setup settings.json
:
"runOnSave.commands": [
{
"match": "\\.(rb|rake)$",
"command": "bust-a-gem.rebuild",
"runIn": "vscode",
"runningStatusMessage": "Rebuilding project tags",
"finishStatusMessage": "Project tags rebuilt"
}
],
I use this dated, but still working VS Code extension:
https://marketplace.visualstudio.com/items?itemName=pucelle.run-on-save
Since my projects grew bigger and I also allow Bust A Gem to rip some gems so I can "Go to Definition" directly inside the gem files, it's taking about 3 seconds for Bust A Gem to generate TAGS
file. During this time, "Go to Definition" doesn't work.
Any chance this can be changed?
If this is changed, my setup would be PERFECT! :)
I could use "Go to Definition" all the time, even for new files and whenever I save a file Bust A Gem will automatically generate TAGS
, but it will work all the time, except for the newly added definitions that are just being added to TAGS
for the first time. Only for those I'd need to wait those ~3 seconds.
When I'm trying to open gem I get an additional line: Found no changes, using resolution from the lockfile
I cannot figure it out the origin of this.
When running bundle show --paths
from the terminal there is no such thing.
A quick fix I made is smithing like:
dirs.shift() if dirs[0].startsWith("Found no changes")
...
The extension should be able to use the tags file for populating symbols. This way, it should enable both navigating to workspace and in-file symbols easily.
Is there any way to put the TAGS
file outside of the repository or is this at least planned?
PS: Thank you so much for bust-a-gem
! ๐
the TAGS file name is conflicting because I use both of VIM and VSCode. Thanks.
In a model file, highlight the class name and invoke go-to-definition. You land right where you started :-)
It would be very helpful if that command would take you to the schema.rb section showing the table structure for the model. The other approach looks like https://github.com/ctran/annotate_models, but it's static and a bit messy compared to just jumping to the relevant information. The rails console can give similar info with Model.column_names, but then you have to be in the rails console...
I keep getting the error Command failed: bundle show --paths
when It ry to go to a definition inside my project.
I've installed ripper tags, when checking the debug console I see that vs code is trying to fire bundle show --paths
from correct directory.
When I open a terminal inside VS code and try to fire the same command it correctly lists all the paths.
Any idea what I'm doing wrong?
Hi!
I have separate dirs in my project. For api and frontend. So gemfile is located in subdirectory. Is there way to specify this subfolder to rip tags?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.