Skip to content

negation does not capture anything #6

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

Open
ZelphirKaltstahl opened this issue Dec 2, 2023 · 0 comments
Open

negation does not capture anything #6

ZelphirKaltstahl opened this issue Dec 2, 2023 · 0 comments

Comments

@ZelphirKaltstahl
Copy link
Contributor

I am trying to match anything but ; and thought I could do the following:

parser = peg Line do
      Line <- str(!";")
end
Xpeg.match(parser, "a")

But nothing is captured:

%{
  captures: [""],
  match_len: 0,
  rest: 'a',
  result: :ok,
  time: 0.0,
  userdata: nil
}

I also tried various other patterns to no avail:

parser = peg Line do
      Line <- str(!{";"})
end
Xpeg.match(parser, "a")

or

parser = peg Line do
      Line <- str(!{';'})
end
Xpeg.match(parser, "a")

In the tests I could only find a negation without capture: https://github.com/zevv/xpeg/blob/master/test/xpeg_test.exs#L85-L86. Maybe negation does not capture anything?

What am I doing wrong?

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

No branches or pull requests

1 participant