I just spent quite a lot of time figuring out how to change popup background colors. I use coc.vim so I incorrectly thought coc was setting the color. Then I accidentally typed
:hi and it displayed ALL my colors, and there discovered my Pmenu was set to magenta. I don’t know how it got set to that, but to change it all I had to add in my vimrc was
highlight Pmenu guibg=#808080 or whatever color you want. You may need to set
cterm depending on if you’re using the gui or not, and if you’re trying to set a foreground or a background.
I’ve spent too much time, twice, figuring this out, so I’m writing it here so future me won’t waste so much time. There are a lot of ways to do this, feel free to comment on your solution. I like my commit messages to contain the issue URL because 1) it tends to link the commit to the issue and vice versa in most git managers like github and gitlab 2) when searching git logs it makes it trivial to find the original issue.
We will be using a global gitmessage file and using a prepare-commit-msg hook. This assumes that your git branch will contain a group of digits which is the gitlab issue number. If your branch contains multiple groups of digits (jason/6456/description-stuff-343) then it assumes the first group of digits is the issue number
- Navigate to your project’s git hooks directory (ProjectDirectory/.git/hooks), and rename
prepare-commit-msg. By removing ‘sample’ you are telling git to actually use the file.
- Add this to your prepare-commit-msg. Note that this is for macOS, and if you’re using a different operating system your
sed commands might work differently.
# gets digits in current branch name. `head -1` gets just the first group. Note that this assumes you are adding your git issue numbers to your branches.
issueNumber=$(git symbolic-ref HEAD | grep -oE '\d+' | head -1)
# of course you need to change this URL to match your project's URL.
# if there's a digit in branch name
if [ -n "$issueNumber" ]; then
# replace #gitlabIssueURL with the value above
sed -i '' -e "s/\#gitlabURL/$gitlabIssueURL/" "$1"
# delete the line containing #gitlabIssueURL
sed -i '' -e "/\#gitlabURL/d" "$1"
- Create a file (if you don’t have one already) named
.gitmessage somewhere. Usually you should create it in your home directory, $HOME. Add #gitlabURL to wherever you want to add the url. Mine looks like this, to remind me how to make a decent commit message:
when applied, this commit will...
- Modify your global
.gitconfig file, usually located in your home directory, $HOME, to add these two lines:
template = ~/.gitmessage
Putting all this together, whenever you do
git commit, git runs the prepare-commit-msg hook, which will take your git message template (created in #3 above) and modify it with the fancy bash scripting we did in #2 above.
I’ve been writing automated regression tests at work over the past month, using Jest and Selenium WebDriver, and have really been struggling to get my tests to pass consistently. I began to suspect that methods like
This one was a bit confusing. The wording of the problem is, “Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.” I assumed that they wanted the ones place through the billionths place, but they wanted the first ten digits starting from the left side of the number. Continue reading
I just finished this one. My code is incredibly huge, over 100 lines. I’ve seen a few solutions that were far shorter than mine, but I found the answer. It took me a half hour to realize this, but for those who are trying to solve this and are stuck, don’t forget to check the correct diagonal directions. I was checking diagonally down from left to right, and then checking diagonally up from right to left, which is the exact same thing. That produced the exact same results, so I had to change one of those checks.
Here are a couple other hints, that most of you probably understood right away: Continue reading
Project Euler is great. The first problems are much easier to solve than any other programming-oriented problem-solving website I’ve yet to come across, but there are plenty of problems available (400+ as of this writing), and the difficulty does increase. Continue reading