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

Support onigmo Backend #149

Open
4 tasks
iwillspeak opened this issue Sep 9, 2020 · 1 comment
Open
4 tasks

Support onigmo Backend #149

iwillspeak opened this issue Sep 9, 2020 · 1 comment

Comments

@iwillspeak
Copy link
Collaborator

iwillspeak commented Sep 9, 2020

After a discussion on the Aritchoke Discord I've done some preliminary investigation into supporting
k-takata/Onigmo as a backend. There already exists an
onigmo-sys crate. It hasn't been updated in a while and
won't build without an update to the bindgen dependency.

The key things seem to be:

  • PR to onigmo-sys to get it building again
  • Compilation & generation feature flags in onigmo-sys to support building from source.
  • Add a cargo feature to onig to depend on either library.
  • API changes to onig for any differences in the oniguruma/onigmo API surface.

The API of onigmo seems largely unchanged from a C point of view. Most changes seem to be
in relation to the regex support itself. 🤞 most of the work here is build work on the onigmo-sys crate.

@lopopolo
Copy link
Contributor

Despite the linked ticket title, Artichoke does not intend to port oniguruma to Rust. An advantage Artichoke has over JRuby and TruffleRuby is that C FFI is easy; I am happy to take advantage of that.

Artichoke is interested in an Onigmo backend for compatibility with MRI, which builds its Regexp support with Onigmo, not oniguruma.

I'm watching closely. If you'd like me to test out a branch, I can run the Ruby specs against it with Artichoke.

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

No branches or pull requests

2 participants