diff --git a/src/pyplaml/puml_lexer.py b/src/pyplaml/puml_lexer.py index 0c73f676cfd9e58d4c51d70c267071ecc2989758..77d9667c3b5d41d4b00b24147bbe6bf13e291fe3 100644 --- a/src/pyplaml/puml_lexer.py +++ b/src/pyplaml/puml_lexer.py @@ -172,7 +172,11 @@ class PUMLexer(object): @staticmethod def t_SKINPARAM(t): - r"""skinparam\s+.+""" + r"""skinparam\s+(\w+)\s+(\w+)?""" + target = t.lexer.lexmatch.group(32) + value = t.lexer.lexmatch.group(33) + + t.value = (target, value) return t def t_IDENTIFIER(self, t): diff --git a/src/pyplaml/puml_parser.py b/src/pyplaml/puml_parser.py index cf15ebcf05be4a05910f7ff5355d9e36d68ddf7d..6a4ced13d41faed349ed305f470a17e5d6d2762f 100644 --- a/src/pyplaml/puml_parser.py +++ b/src/pyplaml/puml_parser.py @@ -362,7 +362,12 @@ class PUMLParser(object): """ skinparam : SKINPARAM """ - skinparam = p[1].split(" ")[1::] + + @staticmethod + def p_skinparam_with_body(p): + """ + skinparam : SKINPARAM IN_BRACKETS_LINES + """ @staticmethod def p_error(p):