Design a site like this with
Get started

Another External Contribution

I was looking around for projects to contribute to and I wanted to try my hand and dealing with a Go project, I came across this TUI program that was made for easy (or lazy) work with git called lazygit. I looked into the issues that they had and saw someone asking to add a configuration option that allows the user to refresh the interfaces at different rates for the changed files that git picks up on in the directory. After about an hour of combing through the code I couldn’t quite figure out the changes I needed to make and the maintainer of the repo seemed like he didn’t check his repo too often so, I took a look at the “good first issue” tag and switched to another issue that suggested to add colors to the menu that shows users the different keybindings for lazygit.

I looked at the strings used in this menu and searched the codebase for this string to see which files they are used it and this helped me very quickly find where I needed to make changes, in this case the keybindings.go and list_context.go files. I used the color library that used throughout the program to color the text different shades of blue to differentiate between the action and menu commands (commands that performed an action vs opened a menu with more options inside). After I verified that all options were colored for all the different keybind menus I made sure to use go fmt and goreturns before pushing my code and submitting my pull request. To my surprise, I didn’t fail any CI builds this time because I actually made sure to format and lint my code.

After my work in other repos the process of finding where to make changes only gets faster and it’s a great feeling.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: