Match-Bracket
Find the matching bracket's position for a bracket in a code.
Install
npm install match-bracket
Usage
Given this code:
sample.js
Fileprototype { var re = /[A-Za-z]*$/g; var matched = re; if matched var ext = matched1; return ext; else return 'none'; };
We can find the matching bracket for the first {
by doing:
var matchBracket = ; var code = ;var bracketPos = line: 1 cursor: 42; var result = ;console;// => {line: 11, cursor: 1}
API
matchBracket(code, bracketPos, extension)
Returns the position of the matching bracket of the bracket given by
bracketPos
from the code
.
extension
is an optional argument. It allows match-bracket to recognize
comments in the code and get more accurate results.
Both bracketPos
and result
are in the format of:
line: // line number, cursor: // cursor number
line
is the line number in which the bracket appears. cursor
denotes order
in which the bracket appears in the line. Most IDEs display this.
Rules
- Unmatched bracket returns results with null as properties.
;// => {line: null, cursor: null}
- In ambiguous matches, brackets closest to each other are matched.
;// => {line: null, cursor: null} ;// => {line: 1, cursor: 3}
License
MIT