Skip to content

Instantly share code, notes, and snippets.

@robinknowles
Created November 17, 2023 14:26
Show Gist options
  • Save robinknowles/ab5e5b0c841cc7ce7c805eb39cac90bc to your computer and use it in GitHub Desktop.
Save robinknowles/ab5e5b0c841cc7ce7c805eb39cac90bc to your computer and use it in GitHub Desktop.
Using fzf to fuzzy-find OpenFOAM features

Fuzzy finding 'FOAM features

Accompanies OnCFD Newsletter #173

A couple of code snippets that use fzf to mine your install & extract the answers to everyday OpenFOAM questions, like...

  • How do I use a particular feature?
  • What does so-and-so dictionary look like?
  • Does this need a semi-colon? 🤦‍♂️

It looks like this...

oncfd-173-fzf-OpenFOAM

Here are the code snippets...

fzf + grep + less version

grep \
--line-buffered --line-number --color=never \
--recursive --binary-files=without-match '' $FOAM_TUTORIALS |
fzf \
--delimiter : \
--preview 'less {1}' \
--preview-window 'up,75%,border,+{2}/3'

fzf + ripgrep + bat version

rg \
--color=always --line-number --no-heading \
--smart-case '' $FOAM_TUTORIALS |
fzf --ansi \
--color 'hl:-1:underline,hl+:-1:underline:reverse' \
--delimiter : \
--preview 'bat -lcpp --color=always {1} --highlight-line {2}' \
--preview-window 'up,75%,border,+{2}+3/3,~3'

That should save you some typing, but make sure you check out the original article for more info 👋

@robinknowles
Copy link
Author

Doesn't look hacky to me - nice work @abzrg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment