1---
 2title: "Grep to Less that maintain colors"
 3url: grep-to-less-maintain-colors.html
 4date: 2023-05-29T21:27:07+02:00
 5type: note
 6draft: false
 7---
 8
 9I often use `grep` to search for todo's in my code and other people's code and
10then pipe them in `less` and I missed having colors that grep outputs in `less`.
11
12- Grep's `--color=always` use markers to highlight the matching strings.
13- Less's `-R` option outputs "raw" control characters.
14
15You could use `alias grep='grep --color=always'` and `alias less='less -R'` or
16create todo function in your `.bashrc` that accepts first argument as search
17string.
18
19```sh
20# This is where the magic happens.
21grep --color=always -rni "TODO:" | less -R
22```
23
24![Less and grep](/assets/notes/grep-less.png)