diff --git a/syntax/sh.nanorc b/syntax/sh.nanorc
index cf251858f4fa90e4ba59ecfcf0dccf8f796fcdad..7295029b62fc2e92851ddeca35a01e1111ecac21 100644
--- a/syntax/sh.nanorc
+++ b/syntax/sh.nanorc
@@ -6,12 +6,19 @@ magic "(POSIX|Bourne-Again) shell script.*text"
 linter dash -n
 comment "#"
 
-icolor brightgreen "^[0-9A-Z_]+\(\)"
+# Function declarations.
+color brightgreen "^[A-Za-z0-9_-]+\(\)"
+
+# Keywords, symbols, and comparisons.
 color green "\<(break|case|continue|do|done|elif|else|esac|exit|fi|for|function|if|in|read|return|select|shift|then|time|until|while)\>"
 color green "\<(declare|eval|exec|export|let|local)\>"
 color green "[{}():;|`$<>!=&\\]" "(\]|\[)"
-color green "-[Ldefgruwx]\>"
-color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
+color green "-(eq|ne|gt|lt|ge|le|ef|ot|nt)\>"
+
+# Short and long options.
+color brightmagenta "-[A-Za-z]\>" "--[A-Za-z-]+\>"
+
+# Common commands.
 color brightblue "\<(awk|cat|cd|ch(grp|mod|own)|cp|cut|echo|env|grep|head|install|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|sort|tail|tar|touch|umask|unset)\>"
 color normal "[.-]tar\>"