-
-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
My Thoughts on Harpoon #255
Comments
I use harpoon to create "temporary marks". There are other plugins like grapple.nvim that offer a similar solution, but nothing I have found is as easy and "trigger finger friendly" as harpoon. I use a to add marks and l to open harpoon selection. I think this is the core of harpoon and tasks, terminals, etc should be handled by other plugins or extensions of harpoon. |
I never liked (and used) the terminal/tmux integration.
There are 2 options I see:
Most of the ideas are stolen from: |
you could try making harpoon into a plugin that lets users extend it by creating their own plugins, ex: harpoon-terminal, harpoon-tmux, harpoon-worktrees. And then you could maintain core harpoon just for marking files, this way harpoon stays cohesive and other users get to have their own specific use-cases |
I use it to mark up to 5 files and then navigate to those 5 files, occasionally reorder them. Thats it. That's what you initially presented and it works great. Everything else seems like a scope creep. |
@catgoose Out of genuine curiosity, what is it about grapple.nvim that creates more friction than harpoon? I say this because - reading the comments here - these are the exact reasons I originally wrote Grapple. That is, to create a plugin that strips away all the "extra" features and focuses solely on the concept of file tagging / marking. Harpoon is an amazing plugin and some of its features are unparalleled. I'm truly excited to see how a rewrite would turn out. However, I think understanding where Grapple is missing the mark (pun intended) can help a ton in deciding what the next steps for harpoon could be. |
It feels like in this case, Harpoon is pretty feature complete. Maybe transition ownership to someone that has interest in this version of the plugin and then create a new plugin, as you say, from the ground up. I don't think open-source needs to be a long term commitment in cases like this, if the project is good enough to be used as intended or if there are others available to maintain. Sounds like a pretty great idea, and I'd bet you'll feel motivated creating something new as you're thinking about it already. Use the drive! (I have this exact same feeling with my open-source app, so I'm in the same boat) |
If you need a new name for a new similar project @ThePrimeagen, as a zelda fan, I personally think hookshot.nvim would be a rad name |
Facts 🔝 |
Sounds like converting to a plugin system is the way to go. Strip harpoon down to it's core, then let everything else be added\removed via plugins. That lets everyone make harpoon do what they want for their specific use case. There might be a small hiccup during the cutover from current way to using plugins but that really sounds like the best way. This allows you to manage the core of Harpoon and let you focus on what you think is important and what Harpoon should be, and everything else can be farmed out to plugin maintainers. How hard would it be to convert Harpoon into using plugins? Seems to me this would make a fantastic YouTube series 🙂 |
Not sure, why you are not doing the obvious: Make it a low-level lib, which transparently provides all errors to the user. If you want to provide a way for the user to control all buffers + allow attaching metadata, then you could use https://github.com/matu3ba/libbuf.nvim. Feel free to steal the code, but be warned that I have not finished the storing to disk and loading. And the harpoon part. |
@ThePrimeagen Hello there. I'm not a user of Harpoon (yet?) so take this with a healthy dose of skepticism: but it I feel like it's not super clear from either of the READMEs (for v1 and v2) what Harpoon is. Maybe it would help focus people's efforts if your vision was more clearly asserted in the README? The V2 has this description of problems and solutions:
Those do sound like problems I have, but everything (the problems, the solutions, the connection between them) is a bit abstract. Maybe I just need to play around with it to get it? I feel like a screen recording or two of using it to solve the concrete problem instances you use it for would be very helpful. |
@masaeedu as part of harpoon 2 rewrite, I'll be doing more documentation |
A recipe book that people could contribute to would be great. I like that
about heirline.
…On Mon, Dec 18, 2023 at 7:46 PM ThePrimeagen ***@***.***> wrote:
@masaeedu <https://github.com/masaeedu> as part of harpoon 2 rewrite,
I'll be doing more documentation
—
Reply to this email directly, view it on GitHub
<#255 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFAJNGBUSN2U6EYXY6DA753YKDWYNAVCNFSM6AAAAAAVDIIGYWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNRRHE3DSMBRGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
When i started creating harpoon, i didn't know what I wanted.
I thought,
After 2 years of using harpoon i realized the terminal stuff, i think was a mistake.
More so, the tmux + harpoon stuff feels like a mistake now. I hate the code base, i want to rewrite it, but i don't want to break anyone.
If you are wondering why i haven't been merging much of ANYTHING here is because i am worried. this project slowly got out of my control and lost its focus.
I am REALLY trying to keep harpoon light. its so easy to let everyone's ideas come in and take the project in so many directions that it sucks. Part of me wants to rethink harpoon from the ground up, part of me wants to create a wholly new version that emits events and allows more the "plugin" style. I don't know what to do, and appreciate any thoughts :)
PS, it sucks maintaining open source
The text was updated successfully, but these errors were encountered: