beginCommand ` endCommand ยด beginInstruction endInstruction beginVariable $ endVariable (){}=;:[] firstString " secondString ' firstSingleLineComment # secondSingleLineComment beginFirstMultiLineComment endFirstMultiLineComment beginSecondMultiLineComment endSecondMultiLineComment functionDefinition ^\s*\w*\(.*\)\s+\n?\s*{ removeFromFunction keywordsCaseSensitive recolourKeywordIfAlreadyColoured keywords if then elif else fi case in ;; esac while for do done continue local return