.*\.sh commentDoxygen #!(.|\\[\\\n])*?$ comment #(.|\\[\\\n])*?$ doubleQuoteText "(.|\\[\\"])*?" doubleQuoteText '(.|\\[\\'])*?' keyword \b(for|done|do|while|in|if|elif|then|else|fi)\b keyword [\$]+[a-zA-Z_][a-zA-Z0-9_]* functionName function (\w|_)+[ \t]*\( boolean ==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}