npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

onigurumajs

1.0.0

@bcoe

npmSnykSocket
Downloads:3
$ npm install onigurumajs
DailyWeeklyMonthlyYearly

onigurumajs

Build Status Coverage Status NPM version

implementation of the node-oniguruma API using xregexp, various shims, replacements, and elbow grease.

Why does this exist?

  1. It would be nice to be able to parse TextMate grammars (the basis for syntax highlighting in Atom) in pure JS:
  1. JavaScript's regex parser lacks some useful features, such as lookbehinds. onigurumajs adds them.

Usage

See node-oniguruma.

Adds support to JavaScript for

  • extended xregexp syntax described here: http://xregexp.com/syntax/
  • leading lookbehind zero-length assertions:
var scanner = new OnigScanner(['(?<!a)b'])
scanner.test('bb') // match.
scanner.test('ab') // fails to match.
  • lookbehind assertions following alternation characters:
var scanner = new OnigScanner(['cat|(?<!a)b'])
scanner.test('cat') // match.
scanner.test('bb') // match.
scanner.test('ab') // fails to match.
  • \x{xxxx} format unicode escape codes
var scanner = new NOnigScanner(['\\x{2603}'])
scanner.findNextMatchSync('☃') // match.

Contribute

This is a work in progress please join in, open some issues, submit pull requests, and help build a crazy full-featured regex parser for JavaScript.

License

ISC