โฏ lkml -v comma-issue.view.lkml
lkml.parser DEBUG: Check StreamStartToken() == StreamStartToken
lkml.parser DEBUG: Check LiteralToken(view) == CommentToken or WhitespaceToken
lkml.parser DEBUG: Try to parse [expression] = (block / pair / list)*
lkml.parser DEBUG: . Check LiteralToken(view) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . Check LiteralToken(view) == StreamEndToken or BlockEndToken
lkml.parser DEBUG: . Try to parse [block] = key literal? '{' expression '}'
lkml.parser DEBUG: . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . Check LiteralToken(view) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . Check LiteralToken(view) == LiteralToken
lkml.parser DEBUG: . . . Check ValueToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . Check ValueToken() == ValueToken
lkml.parser DEBUG: . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . Check LiteralToken(my_view) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . Successfully parsed key.
lkml.parser DEBUG: . . Check LiteralToken(my_view) == LiteralToken
lkml.parser DEBUG: . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . Check BlockStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . Check BlockStartToken() == BlockStartToken
lkml.parser DEBUG: . . Check WhitespaceToken('\n ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . Check LiteralToken(set) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . Try to parse [expression] = (block / pair / list)*
lkml.parser DEBUG: . . . Check LiteralToken(set) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . Check LiteralToken(set) == StreamEndToken or BlockEndToken
lkml.parser DEBUG: . . . Try to parse [block] = key literal? '{' expression '}'
lkml.parser DEBUG: . . . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . . . Check LiteralToken(set) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . Check LiteralToken(set) == LiteralToken
lkml.parser DEBUG: . . . . . Check ValueToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . Check ValueToken() == ValueToken
lkml.parser DEBUG: . . . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . Check LiteralToken(my_set) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . Successfully parsed key.
lkml.parser DEBUG: . . . . Check LiteralToken(my_set) == LiteralToken
lkml.parser DEBUG: . . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . Check BlockStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . Check BlockStartToken() == BlockStartToken
lkml.parser DEBUG: . . . . Check WhitespaceToken('\n ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . Check LiteralToken(fields) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . Try to parse [expression] = (block / pair / list)*
lkml.parser DEBUG: . . . . . Check LiteralToken(fields) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . Check LiteralToken(fields) == StreamEndToken or BlockEndToken
lkml.parser DEBUG: . . . . . Try to parse [block] = key literal? '{' expression '}'
lkml.parser DEBUG: . . . . . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == LiteralToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == ValueToken
lkml.parser DEBUG: . . . . . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Successfully parsed key.
lkml.parser DEBUG: . . . . . . Check ListStartToken() == LiteralToken
lkml.parser DEBUG: . . . . . . Check ListStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Check ListStartToken() == BlockStartToken
lkml.parser DEBUG: . . . . . Try to parse [pair] = key value
lkml.parser DEBUG: . . . . . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == LiteralToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == ValueToken
lkml.parser DEBUG: . . . . . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Successfully parsed key.
lkml.parser DEBUG: . . . . . . Try to parse [value] = literal / quoted_literal / expression_block
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == LiteralToken
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == QuotedLiteralToken
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == ExpressionBlockToken
lkml.parser DEBUG: . . . . . Try to parse [list] = key '[' csv? ']'
lkml.parser DEBUG: . . . . . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check LiteralToken(fields) == LiteralToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ValueToken() == ValueToken
lkml.parser DEBUG: . . . . . . . Check WhitespaceToken(' ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check ListStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Successfully parsed key.
lkml.parser DEBUG: . . . . . . Check ListStartToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Check ListStartToken() == ListStartToken
lkml.parser DEBUG: . . . . . . Try to parse [csv] = (literal / quoted_literal) ("," (literal / quoted_literal))* ","?
lkml.parser DEBUG: . . . . . . . Try to parse [pair] = key value
lkml.parser DEBUG: . . . . . . . . Try to parse [key] = literal ':'
lkml.parser DEBUG: . . . . . . . . . Check WhitespaceToken('\n ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . . . Check CommaToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . . . Check CommaToken() == LiteralToken
lkml.parser DEBUG: . . . . . . . Check WhitespaceToken('\n ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check CommaToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . . Check CommaToken() == LiteralToken or QuotedLiteralToken
lkml.parser DEBUG: . . . . . . Check WhitespaceToken('\n ') == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Check CommaToken() == CommentToken or WhitespaceToken
lkml.parser DEBUG: . . . . . . Check CommaToken() == ListEndToken
Traceback (most recent call last):
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/bin/lkml", line 8, in <module>
sys.exit(cli())
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/__init__.py", line 119, in cli
result: dict = load(args.file)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/__init__.py", line 50, in load
tree: DocumentNode = parse(text)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/__init__.py", line 29, in parse
tree: DocumentNode = parser.parse()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 213, in parse
container = self.parse_container()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 39, in wrapper
result = fn(self, *args, **kwargs)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 237, in parse_container
block = self.parse_block()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 39, in wrapper
result = fn(self, *args, **kwargs)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 296, in parse_block
container = self.parse_container()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 39, in wrapper
result = fn(self, *args, **kwargs)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 237, in parse_container
block = self.parse_block()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 39, in wrapper
result = fn(self, *args, **kwargs)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 296, in parse_block
container = self.parse_container()
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 39, in wrapper
result = fn(self, *args, **kwargs)
File "/Users/hsheth/projects/datahub/metadata-ingestion/venv/lib/python3.9/site-packages/lkml/parser.py", line 253, in parse_container
raise SyntaxError(
SyntaxError: Unable to find a matching expression for ',' on line 4
If I type this directly into Looker, it is valid syntax as it passes validation.