90 (r'export\s+', Keyword), |
90 (r'export\s+', Keyword), |
91 # assignment |
91 # assignment |
92 (r'([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)', |
92 (r'([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)', |
93 bygroups(Name.Variable, Text, Operator, Text, using(BashLexer))), |
93 bygroups(Name.Variable, Text, Operator, Text, using(BashLexer))), |
94 # strings |
94 # strings |
95 (r'(?s)"(\\\\|\\.|[^"\\])*"', String.Double), |
95 (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double), |
96 (r"(?s)'(\\\\|\\.|[^'\\])*'", String.Single), |
96 (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single), |
97 # targets |
97 # targets |
98 (r'([^\n:]+)(:+)([ \t]*)', bygroups(Name.Function, Operator, Text), |
98 (r'([^\n:]+)(:+)([ \t]*)', bygroups(Name.Function, Operator, Text), |
99 'block-header'), |
99 'block-header'), |
100 # expansions |
100 # expansions |
101 (r'\$\(', Keyword, 'expansion'), |
101 (r'\$\(', Keyword, 'expansion'), |