Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complex YAML generates many linting errors #712

Closed
1 of 4 tasks
lewisl opened this issue Mar 10, 2022 · 5 comments · Fixed by redhat-developer/yaml-language-server#693
Closed
1 of 4 tasks

Complex YAML generates many linting errors #712

lewisl opened this issue Mar 10, 2022 · 5 comments · Fixed by redhat-developer/yaml-language-server#693

Comments

@lewisl
Copy link

lewisl commented Mar 10, 2022

Describe the bug

You'll see the example below, but I get these linting errors:

  • All mapping items must start at the same column. # I use a nice text editor--everything starts in the same column
  • Map keys must be unique YAML
    I do use the same keys in DIFFERENT mappings. There are no duplicate map keys within a mapping.

Finally, onlineyamltools.com validate yaml tool is very happy with it. Note also that githubs markdown processor seems ok because it syntax highlights the yaml text with no problems.

For non schema related issues please post the relevant YAML along with any other info that
may be relevant.
-->

1:                                          # agegrp
  [5,5]:                                      # node is [sickdayday effective, from condition]
    - {tocond: 5, next: [9, 5], pr: 0.4}
    - {tocond: 6, next: [9, 6], pr: 0.5}
    - {tocond: 7, next: [9, 7], pr: 0.1}
  [9,5]:                                      # node
    - {tocond: 3, next: [0,0], pr: 0.9}         # branch. node [0,0] denotes recovered
    - {tocond: 7, next: [14,7], pr: 0.1}        # branch
  [9,6]:                                      # node
    - {tocond: 6, next: [14, 6], pr: 1.0}       # branch
  [9,7]:                                      # this will turn into a dict item that is an
    - {tocond: 7, next: [14, 7], pr: 0.95}        # array of 2 elements that are dicts
    - {tocond: 8, next: [14, 8], pr: 0.05}
  [14,6]: 
    - {tocond: 3, next: [0,0], pr: 1.0}
  [14,7]:
    - {tocond: 3, next: [0,0], pr: 0.85}
    - {tocond: 7, next: [25, 7], pr: 0.12}
    - {tocond: 8, next: [19, 8], pr: 0.03}
  [14,8]:
    - {tocond: 3, next: [0,0], pr: 0.692}
    - {tocond: 8, next: [19,8], pr: 0.302}
    - {tocond: 4, next: [0,5], pr: 0.006}     # branch. node [0,5] denotes dead
  [19,8]:
    - {tocond: 3, next: [0,0], pr: 0.891}
    - {tocond: 8, next: [25,8], pr: 0.106}
    - {tocond: 4, next: [0,5], pr: 0.003}
  [25,7]:
    - {tocond: 3, next: [0,0], pr: 0.976}
    - {tocond: 4, next: [0,5], pr: 0.024}
  [25,8]:
    - {tocond: 3, next: [0,0], pr: 0.91}
    - {tocond: 4, next: [0,5], pr: 0.09}
2:
  [5,5]:
    - {tocond: 5, next: [9, 5], pr: 0.2}
    - {tocond: 6, next: [9, 6], pr: 0.7}
    - {tocond: 7, next: [9, 7], pr: 0.1}
  [9,5]:
    - {tocond: 3, next: [0,0], pr: 0.85}
    - {tocond: 7, next: [14, 7], pr: 0.15}
  [9,6]:
    - {tocond: 6, next: [14,6], pr: 1.0}
  [9,7]:
    - {tocond: 7, next: [14, 7], pr: 0.9}
    - {tocond: 8, next: [14, 8], pr: 0.1}
  [14,6]:
    - {tocond: 3, next: [0,0], pr: 1.0}
  [14,7]:
    - {tocond: 3, next: [0, 0], pr: 0.83}
    - {tocond: 7, next: [25, 7], pr: 0.1}
    - {tocond: 8, next: [19, 8], pr: 0.07}
  [14,8]:
    - {tocond: 3, next: [0,0], pr: 0.474}
    - {tocond: 8, next: [19,8], pr: 0.514}
    - {tocond: 4, next: [0,5], pr: 0.012}
  [19,8]:
    - {tocond: 3, next: [0,0], pr: 0.922}
    - {tocond: 8, next: [25,8], pr: 0.072}
    - {tocond: 4, next: [0,5], pr: 0.006}
  [25,7]:
    - {tocond: 3, next: [0,0], pr: 0.964}
    - {tocond: 4, next: [0,5], pr: 0.036}
  [25,8]:
    - {tocond: 3, next: [0,0], pr: 0.964}
    - {tocond: 4, next: [0,5], pr: 0.036}
3:
  [5,5]:
    - {tocond: 5, next: [9, 5], pr: 0.2}
    - {tocond: 6, next: [9, 6], pr: 0.7}
    - {tocond: 7, next: [9, 7], pr: 0.1}
  [9,5]:
    - {tocond: 3, next: [0,0], pr: 0.9}
    - {tocond: 7, next: [14, 7], pr: 0.1}
  [9,6]:
    - {tocond: 6, next: [14,6], pr: 1.0}
  [9,7]:
    - {tocond: 7, next: [14, 7], pr: 0.9}
    - {tocond: 8, next: [14, 8], pr: 0.1}
  [14,6]:
    - {tocond: 3, next: [0,0], pr: 0.9}
    - {tocond: 7, next: [25,7], pr: 0.1}
  [14,7]:
    - {tocond: 3, next: [0, 0], pr: 0.85}
    - {tocond: 7, next: [25, 7], pr: 0.14}
    - {tocond: 8, next: [19, 8], pr: 0.01}
  [14,8]:
    - {tocond: 3, next: [0,0], pr: 0.776}
    - {tocond: 8, next: [19, 8], pr: 0.206}
    - {tocond: 4, next: [0,5], pr: 0.018}
  [19,8]:
    - {tocond: 3, next: [0,0], pr: 0.856}
    - {tocond: 8, next: [25,8], pr: 0.126}
    - {tocond: 4, next: [0,5], pr: 0.018}
  [25,7]:
    - {tocond: 3, next: [0,0], pr: 0.958}
    - {tocond: 4, next: [0,5], pr: 0.042}
  [25,8]:
    - {tocond: 3, next: [0,0], pr: 0.958}
    - {tocond: 4, next: [0,5], pr: 0.042}
4:
  [5,5]:
    - {tocond: 5, next: [9, 5], pr: 0.15}
    - {tocond: 6, next: [9, 6], pr: 0.6}
    - {tocond: 7, next: [9, 7], pr: 0.25}
  [9,5]:
    - {tocond: 3, next: [0,0], pr: 0.62}
    - {tocond: 7, next: [14,7], pr: 0.38}
  [9,6]:
    - {tocond: 6, next: [14,6], pr: 1.0}
  [9,7]:
    - {tocond: 7, next: [14, 7], pr: 0.78}
    - {tocond: 8, next: [14, 8], pr: 0.22}
  [14,6]:
    - {tocond: 3, next: [0,0], pr: 1.0}
  [14,7]:
    - {tocond: 3, next: [0, 0], pr: 0.8}
    - {tocond: 7, next: [25, 7], pr: 0.1}
    - {tocond: 8, next: [19, 8], pr: 0.1}
  [14,8]:
    - {tocond: 3, next: [0,0], pr: 0.165}
    - {tocond: 8, next: [19, 8], pr: 0.715}
    - {tocond: 4, next: [0,5], pr: 0.12}
  [19,8]:
    - {tocond: 3, next: [0,0], pr: 0.81}
    - {tocond: 8, next: [25,8], pr: 0.13}
    - {tocond: 4, next: [0,5], pr: 0.06}
  [25,7]:
    - {tocond: 3, next: [0,0], pr: 0.76}
    - {tocond: 4, next: [0,5], pr: 0.24}
  [25,8]:
    - {tocond: 3, next: [0,0], pr: 0.688}
    - {tocond: 4, next: [0,5], pr: 0.312}
5:
  [5,5]:
    - {tocond: 5, next: [9, 5], pr: 0.1}
    - {tocond: 6, next: [9, 6], pr: 0.5}
    - {tocond: 7, next: [9, 7], pr: 0.4}
  [9,5]:
    - {tocond: 3, next: [0,0], pr: 0.5}
    - {tocond: 7, next: [14,7], pr: 0.5}
  [9,6]:
    - {tocond: 6, next: [14,6], pr: 0.4}
    - {tocond: 7, next: [14,7], pr: 0.6}
  [9,7]:
    - {tocond: 7, next: [14, 7], pr: 0.6}
    - {tocond: 8, next: [14, 8], pr: 0.4}
  [14,6]:
    - {tocond: 3, next: [0,0], pr: 0.7}
    - {tocond: 7, next: [25,7], pr: 0.3}
  [14,7]:
    - {tocond: 3, next: [0, 0], pr: 0.7}
    - {tocond: 7, next: [25, 7], pr: 0.1}
    - {tocond: 8, next: [19, 8], pr: 0.2}
  [14,8]:
    - {tocond: 3, next: [0,0], pr: 0.12}
    - {tocond: 8, next: [19, 8], pr: 0.67}
    - {tocond: 4, next: [0,5], pr: 0.21}
  [19,8]:
    - {tocond: 3, next: [0,0], pr: 0.49}
    - {tocond: 8, next: [25,8], pr: 0.24}
    - {tocond: 4, next: [0,5], pr: 0.27}
  [25,7]:
    - {tocond: 3, next: [0,0], pr: 0.682}
    - {tocond: 4, next: [0,5], pr: 0.318}
  [25,8]:
    - {tocond: 3, next: [0,0], pr: 0.676}
    - {tocond: 4, next: [0,5], pr: 0.324}

Expected Behavior

There shouldn't be any linting errors based on my use of other yaml validation tools.

Current Behavior

repeated errors show up in the linter

Environment

  • Windows
  • Mac
  • Linux
  • other (please specify)
@gorkem
Copy link
Collaborator

gorkem commented Mar 12, 2022

I think our parse recognizes keys such as[5,5] as flow sequences. I am not sure if that is proper usage, I need to read the specification a bit more. @eemeli any ideas on that one.

@lewisl
Copy link
Author

lewisl commented Mar 12, 2022 via email

@eemeli
Copy link

eemeli commented Mar 13, 2022

This was a bug in yaml: bare flow collection keys within a block mapping had a corner-case that wasn't being correctly handled. Fixed now on its master branch; intending to release a new version by the end of next week.

@gorkem
Copy link
Collaborator

gorkem commented Mar 13, 2022

Thanks, @eemeli for looking at this quickly

@lewisl
Copy link
Author

lewisl commented Mar 14, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants