Skip to content

Documentation updates and related feedback #12

@kastiglione

Description

@kastiglione

I tried NEAL today and in short time I had a "working" rule. I wanted to provide some feedback on the issues I hit

  1. The readme talks about a rules config file, but doesn't mention a file name. I searched the repo and saw a mention of .rules so I tried that, but it didn't work. At first I thought NEAL was crazy fast but it turns out it just wasn't running any rules.
  2. There is no documentation on > and >> which I found info on through the source and commits. There's one example that uses them, and not many tests that use them.
  3. There is no documentation on var and condition which I noticed in a test, and eventually found more info on in Example of how to write a rule with sibling nodes #9.
  4. I was also looking for how to do cross tree sibling/cousin matches, and I think I now have something working, but there was a bunch of trial and error.
  5. I could not get match() to work, and I wasn't able to debug my use of it since I didn't know what the (generated) string it was matching against would look like.
  6. In the examples/tests, I saw one or two uses of property.access syntax, but it's not documented so I'm not clear what it's used for.
  7. I'm getting a number of swift parsing errors, but it doesn't tell me which syntax NEAL is failing on and the error message is funky: SyntaxError}: satisfy.
  8. As a beginner, it's not clear how to mix where clauses with properties that are lists of nodes, or conversely, how properties mix with matchers.
  9. When there is a syntax error in a .rules file, only a line and column number are shown. It would be nice to show the line and a ^ label just like how warnings/errors in source files are shown.
  10. Wish: Print the number of warnings/errors at the end of processing. Even better if it listed counts by rule name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions