moving projects
This commit is contained in:
73
highbeam
Executable file
73
highbeam
Executable file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
function usage {
|
||||
echo ' High Beam Highlighter
|
||||
- a trial to create a very generic modifyable
|
||||
syntax highlighter.
|
||||
|
||||
Example rules: ( ~/.highbeamrc )
|
||||
--------------------
|
||||
RULES=(
|
||||
"[0-9]" "$C" # Show numbers with Cyan color. NOTE: since the colors are represented with numbers, having this later in the rules will break coloring!
|
||||
"$USER[ ]\+$USER" "$BGC$BLACK" # Use quotes to have rules with spaces. This colors the "ls -la" usernames. background cyan, black text
|
||||
status "$G" # simple word matching, coloring green
|
||||
"^d[^ ]*" "$H$G" # color words at the beginning of line, starting with d. color bright green
|
||||
"q.\{0,3\}r" "$H$Y" # q*r with maximum 3 characters in between. color bright yellow
|
||||
)
|
||||
--------------------
|
||||
Color variables: $R $G $B $Y $M $C $W $BLACK
|
||||
Modify to bright version by prefixing with $H (e.g. $H$G)
|
||||
Background colors: $BGR $BGG $BGB $BGY $BGC $BGM $BGW
|
||||
'
|
||||
|
||||
}
|
||||
|
||||
[[ "$1" = "-h" ]] && usage && exit
|
||||
|
||||
E='\x1b['
|
||||
H="${E}1m"
|
||||
Z="${E}0m"
|
||||
|
||||
# list of text colors:
|
||||
BLACK="${E}30m"
|
||||
R="${E}31m"
|
||||
G="${E}32m"
|
||||
B="${E}34m"
|
||||
Y="${E}33m"
|
||||
M="${E}35m"
|
||||
C="${E}36m"
|
||||
W="${E}37m"
|
||||
|
||||
|
||||
# list of BG colors:
|
||||
BGR="${E}41m"
|
||||
BGG="${E}42m"
|
||||
BGB="${E}44m"
|
||||
BGY="${E}43m"
|
||||
BGM="${E}45m"
|
||||
BGC="${E}46m"
|
||||
BGW="${E}47m"
|
||||
|
||||
# user rules:
|
||||
[[ -e ~/.highbeamrc ]] && . ~/.highbeamrc || echo You may have wrong construction in .highbeamrc >&2 || exit
|
||||
[[ -e ~/.highbeamrc ]] || {
|
||||
# list of rules
|
||||
RULES=(
|
||||
"[0-9]" "$C" # Show numbers with Cyan color. NOTE: since the colors are represented with numbers, having this later in the rules will break coloring!
|
||||
"$USER[ ]\+$USER" "$BGC$BLACK" # Use quotes to have rules with spaces. background cyan, black text
|
||||
status "$G" # simple word matching, coloring green
|
||||
"^d[^ ]*" "$H$G" # color words at the beginning of line, starting with d. color bright green
|
||||
"q.\{0,3\}r" "$H$Y" # q*r with maximum 3 characters in between. color bright yellow
|
||||
)
|
||||
}
|
||||
# actual code starts here
|
||||
|
||||
for (( r=0; r<${#RULES[@]}; r++ ));
|
||||
do REGEX="$REGEX -e 's/\(${RULES[$r]}\)/${RULES[$(( $r + 1 ))]}\1${Z}/ig'"
|
||||
r=$(( $r + 1 ))
|
||||
done
|
||||
eval sed $REGEX || echo Maybe error in .highbeamrc >&2
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user