11'use strict' ;
22
33var utils = require ( './utils' ) ;
4- var define = require ( 'define-property' ) ;
54
65/**
76 * Text regex
@@ -19,7 +18,7 @@ function parsers(brackets) {
1918 brackets . parser . sets . bracket = brackets . parser . sets . bracket || [ ] ;
2019 brackets . parser
2120
22- . capture ( 'escape' , function ( ) {
21+ . set ( 'escape' , function ( ) {
2322 if ( this . isInside ( 'bracket' ) ) return ;
2423 var pos = this . position ( ) ;
2524 var m = this . match ( / ^ \\ ( .) / ) ;
@@ -35,7 +34,7 @@ function parsers(brackets) {
3534 * Text parser
3635 */
3736
38- . capture ( 'text' , function ( ) {
37+ . set ( 'text' , function ( ) {
3938 if ( this . isInside ( 'bracket' ) ) return ;
4039 var pos = this . position ( ) ;
4140 var m = this . match ( not ) ;
@@ -51,7 +50,7 @@ function parsers(brackets) {
5150 * POSIX character classes: "[[:alpha:][:digits:]]"
5251 */
5352
54- . capture ( 'posix' , function ( ) {
53+ . set ( 'posix' , function ( ) {
5554 var pos = this . position ( ) ;
5655 var m = this . match ( / ^ \[ : ( .* ?) : \] (? = .* \] ) / ) ;
5756 if ( ! m ) return ;
@@ -73,13 +72,13 @@ function parsers(brackets) {
7372 * Bracket (noop)
7473 */
7574
76- . capture ( 'bracket' , function ( ) { } )
75+ . set ( 'bracket' , function ( ) { } )
7776
7877 /**
7978 * Open: '['
8079 */
8180
82- . capture ( 'bracket.open' , function ( ) {
81+ . set ( 'bracket.open' , function ( ) {
8382 var parsed = this . parsed ;
8483 var pos = this . position ( ) ;
8584 var m = this . match ( / ^ \[ (? = .* \] ) / ) ;
@@ -110,20 +109,19 @@ function parsers(brackets) {
110109
111110 var node = pos ( {
112111 type : 'bracket' ,
113- nodes : [ open ]
112+ nodes : [ ]
114113 } ) ;
115114
116- define ( node , 'parent' , prev ) ;
117- define ( open , 'parent' , node ) ;
118115 this . push ( 'bracket' , node ) ;
119- prev . nodes . push ( node ) ;
116+ this . pushNode ( node , prev ) ;
117+ this . pushNode ( open , node ) ;
120118 } )
121119
122120 /**
123121 * Bracket text
124122 */
125123
126- . capture ( 'bracket.inner' , function ( ) {
124+ . set ( 'bracket.inner' , function ( ) {
127125 if ( ! this . isInside ( 'bracket' ) ) return ;
128126 var pos = this . position ( ) ;
129127 var m = this . match ( not ) ;
@@ -161,7 +159,7 @@ function parsers(brackets) {
161159 * Close: ']'
162160 */
163161
164- . capture ( 'bracket.close' , function ( ) {
162+ . set ( 'bracket.close' , function ( ) {
165163 var parsed = this . parsed ;
166164 var pos = this . position ( ) ;
167165 var m = this . match ( / ^ \] / ) ;
@@ -201,8 +199,7 @@ function parsers(brackets) {
201199 return node ;
202200 }
203201
204- bracket . nodes . push ( node ) ;
205- define ( node , 'parent' , bracket ) ;
202+ this . pushNode ( node , bracket ) ;
206203 } ) ;
207204}
208205
0 commit comments