|
@@ -29,7 +29,30 @@ import logging
|
|
|
import bb.utils
|
|
|
from bb.parse import ParseError, resolve_file, ast, logger
|
|
|
|
|
|
-__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-~_+.${}/]+?)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?!'[^']*'[^']*'$)(?!\"[^\"]*\"[^\"]*\"$)(?P<apo>['\"])(?P<value>.*)(?P=apo)$")
|
|
|
+__config_regexp__ = re.compile( r"""
|
|
|
+ ^
|
|
|
+ (?P<exp>export\s*)?
|
|
|
+ (?P<var>[a-zA-Z0-9\-~_+.${}/]+?)
|
|
|
+ (\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?
|
|
|
+
|
|
|
+ \s* (
|
|
|
+ (?P<colon>:=) |
|
|
|
+ (?P<lazyques>\?\?=) |
|
|
|
+ (?P<ques>\?=) |
|
|
|
+ (?P<append>\+=) |
|
|
|
+ (?P<prepend>=\+) |
|
|
|
+ (?P<predot>=\.) |
|
|
|
+ (?P<postdot>\.=) |
|
|
|
+ =
|
|
|
+ ) \s*
|
|
|
+
|
|
|
+ (?!'[^']*'[^']*'$)
|
|
|
+ (?!\"[^\"]*\"[^\"]*\"$)
|
|
|
+ (?P<apo>['\"])
|
|
|
+ (?P<value>.*)
|
|
|
+ (?P=apo)
|
|
|
+ $
|
|
|
+ """, re.X)
|
|
|
__include_regexp__ = re.compile( r"include\s+(.+)" )
|
|
|
__require_regexp__ = re.compile( r"require\s+(.+)" )
|
|
|
__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/]+)$" )
|