Commits

Anonymous committed be287f8

use extglob to remove all trailing underscores from a nick before deciding color

Comments (0)

Files changed (1)

extras/cw_color.sh

 #!/bin/bash
 
 PAD=12
-NICK=$USER
+NICK="$USER"
 
 # NOTE: make sure you have a 256 color terminal, or change these options
 # to find out which colors are readable...
 done
 
 color_cache["-!-"]="$notice_fmt"
-color_cache["${NICK%_}"]="$my_line_fmt"
+color_cache["${NICK%%+(_)}"]="$my_line_fmt"
 
 set_format() {
-	if [ -n "${color_cache["${*%_}"]}" ]; then
-		format=${color_cache["${*%_}"]}
+	if [ -n "${color_cache["$*"]}" ]; then
+		format=${color_cache["$*"]}
 	else
 		chksm="$(echo "$*" | cksum | sed "s/^0\+//; s/ .*$//")"
 		chksm=$((chksm % ${#colors[@]}))
 
 	time="${notice_fmt}${time}${reset}"
 
-	set_format "$nick"
+	# remove all trailing underscores so nicks foo and foo_ are the same color
+	# if extglob is not set, no harm done, just doesn't remove the underscores
+	set_format "${nick%%+(_)}"
 	nick=$(printf "%s%${PAD}s%s |%s" "$format" "$nick" "$reset" "$format")
 
 	first=1
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.