Skip to content
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

Would Like to Help #24

Open
mharris717 opened this issue Oct 12, 2017 · 5 comments
Open

Would Like to Help #24

mharris717 opened this issue Oct 12, 2017 · 5 comments
Labels

Comments

@mharris717
Copy link

Sorry to clutter issues, but couldn't find a real contact method.

This project is sweet. I'd like to help. Anything specific you'd like someone to take a crack at?

@ericfreese
Copy link
Owner

ericfreese commented Oct 12, 2017

I'm working on getting a Gitter set up but it'll probably be a few days (Update: just kidding, it's up and running at https://gitter.im/rat-chat).

Brain dump of some things on my radar:

Lower commitment

Probably the lowest hanging fruit is adding config examples if you want to just play with things a bit and submit a PR to the examples/ directory. I saw someone mention that this might fill a niche for Mercurial users who want something like tig, so you could look into that... Otherwise, how could this be used for managing Docker, Kubernetes, etc? Is there a tool that you use frequently that could be made easier/faster with Rat? As we uncover more use cases, that will generate ideas for new features.

Write some automated tests 😬

Adding an AUR package #15

Adding a homebrew package #5

Mid commitment

Write some external annotators. On my radar is a unified diff parser/annotator to implement applying patches (e.g. git staging single hunks and single lines) but I haven't looked too deeply into it. Check out the annotators/ dir for an example that parses regexes.

Refactoring. The configuration parsing stuff in particular could probably be rewritten or heavily cleaned up.

#23. This can be simple at first, maybe just write some stuff to a rat.log file in current directory when debug flag is provided?

Higher commitment

I'd like to have support for multiple key-stroke keybindings. There's issue #4 for that.

Issue #3: would be nice for folks to be able to use whatever keybindings they want for the builtin actions (moving cursor, paging up/down, etc.)

Issue #17: sourcing many files from ~/.config/rat instead of just one. I also think it would be interesting to source any .ratrc files in current working directory or containing directories (similar to ) so that you could have project specific rat configs. This would require a protocol for merging mode definitions as you travelled upwards, but I don't think it'd be that crazy. The project is still at the stage where I'm not planning any backwards compatibility so we can try out things like this and if it doesn't work out or we decide it's a bad idea, we can just take it out.

Somewhere out on my radar is being able to mark multiple lines and then execute some command with all of the selected ones. This would allow you to diff two arbitrary git commits, for example.

Implement searching with /, n, and S-n (#22). I think this should use an annotator under the hood. Would also be nice if somehow I could hit n and S-n to go to next/previous annotation of some specified class. Been mulling this over but still not sure how exactly it should work so if you have some ideas there...

@mharris717
Copy link
Author

Awesome! I’ll reply here or on the appropriate issue if I start to attempt any of those

@mharris717
Copy link
Author

I'm going to try and write some tests for the config file

@mharris717
Copy link
Author

Would you object if I added a real parser using this and sent a PR? You could feel free to reject the PR if you don't like it, just wondering if you might be interested.

https://github.com/pointlander/peg

@ericfreese
Copy link
Owner

No objections. That would be awesome 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants