first-mate
Advanced tools
Comparing version 6.0.0 to 6.1.0
30
api.json
@@ -6,3 +6,3 @@ { | ||
"filename": "src/grammar-registry.coffee", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L11", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L11", | ||
"sections": [ | ||
@@ -23,3 +23,3 @@ { | ||
"sectionName": "Event Subscription", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L38", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L38", | ||
"visibility": "Public", | ||
@@ -54,3 +54,3 @@ "summary": "Invoke the given callback when a grammar is added to the registry.", | ||
"sectionName": "Event Subscription", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L48", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L48", | ||
"visibility": "Public", | ||
@@ -85,3 +85,3 @@ "summary": "Invoke the given callback when a grammar is updated due to a grammar\nit depends on being added or removed from the registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L58", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L58", | ||
"visibility": "Public", | ||
@@ -100,3 +100,3 @@ "summary": "Get all the grammars in this registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L66", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L66", | ||
"visibility": "Public", | ||
@@ -123,3 +123,3 @@ "summary": "Get a grammar with the given scope name.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L78", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L78", | ||
"visibility": "Public", | ||
@@ -146,3 +146,3 @@ "summary": "Add a grammar to this registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L99", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L99", | ||
"visibility": "Public", | ||
@@ -169,3 +169,3 @@ "summary": "Remove the grammar with the given scope name.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L109", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L109", | ||
"visibility": "Public", | ||
@@ -192,3 +192,3 @@ "summary": "Read a grammar synchronously but don't add it to the registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L124", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L124", | ||
"visibility": "Public", | ||
@@ -235,3 +235,3 @@ "summary": "Read a grammar asynchronously but don't add it to the registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L141", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L141", | ||
"visibility": "Public", | ||
@@ -258,3 +258,3 @@ "summary": "Read a grammar synchronously and add it to this registry.", | ||
"sectionName": "Managing Grammars", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar-registry.coffee#L154", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar-registry.coffee#L154", | ||
"visibility": "Public", | ||
@@ -308,3 +308,3 @@ "summary": "Read a grammar asynchronously and add it to the registry.", | ||
"filename": "src/grammar.coffee", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar.coffee#L19", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar.coffee#L19", | ||
"sections": [ | ||
@@ -325,3 +325,3 @@ { | ||
"sectionName": "Event Subscription", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar.coffee#L59", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar.coffee#L59", | ||
"visibility": "Public", | ||
@@ -348,3 +348,3 @@ "summary": "Invoke the given callback when this grammar is updated due to a\ngrammar it depends on being added or removed from the registry.", | ||
"sectionName": "Tokenizing", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar.coffee#L71", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar.coffee#L71", | ||
"visibility": "Public", | ||
@@ -371,3 +371,3 @@ "summary": "Tokenize all lines in the given text.", | ||
"sectionName": "Tokenizing", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.0.0/src/grammar.coffee#L101", | ||
"srcUrl": "https://github.com/atom/first-mate/blob/v6.1.0/src/grammar.coffee#L101", | ||
"visibility": "Public", | ||
@@ -374,0 +374,0 @@ "summary": "Tokenize the line of text.", |
@@ -94,3 +94,3 @@ (function() { | ||
Rule.prototype.findNextMatch = function(ruleStack, line, position, firstLine) { | ||
var baseGrammar, injectionGrammar, lineWithNewline, result, results, scanner, scopes, _i, _len, _ref; | ||
var baseGrammar, injection, injectionGrammar, lineWithNewline, result, results, scanner, scopes, _i, _j, _len, _len1, _ref, _ref1; | ||
lineWithNewline = "" + line + "\n"; | ||
@@ -104,8 +104,18 @@ baseGrammar = ruleStack[0].rule.grammar; | ||
if (result = this.scanInjections(ruleStack, lineWithNewline, position, firstLine)) { | ||
results.push(result); | ||
_ref = baseGrammar.injections.injections; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
injection = _ref[_i]; | ||
if (injection.scanner === result.scanner) { | ||
if (injection.selector.getPrefix(this.grammar.scopesFromStack(ruleStack)) === 'L') { | ||
results.unshift(result); | ||
} else { | ||
results.push(result); | ||
} | ||
} | ||
} | ||
} | ||
scopes = null; | ||
_ref = this.registry.injectionGrammars; | ||
for (_i = 0, _len = _ref.length; _i < _len; _i++) { | ||
injectionGrammar = _ref[_i]; | ||
_ref1 = this.registry.injectionGrammars; | ||
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { | ||
injectionGrammar = _ref1[_j]; | ||
if (injectionGrammar === this.grammar) { | ||
@@ -123,3 +133,7 @@ continue; | ||
if (result = scanner.findNextMatch(lineWithNewline, firstLine, position, this.anchorPosition)) { | ||
results.push(result); | ||
if (injectionGrammar.injectionSelector.getPrefix(scopes) === 'L') { | ||
results.unshift(result); | ||
} else { | ||
results.push(result); | ||
} | ||
} | ||
@@ -126,0 +140,0 @@ } |
(function() { | ||
var AndMatcher, CompositeMatcher, NegateMatcher, OrMatcher, PathMatcher, ScopeMatcher, SegmentMatcher, TrueMatcher; | ||
var AndMatcher, CompositeMatcher, GroupMatcher, NegateMatcher, OrMatcher, PathMatcher, ScopeMatcher, SegmentMatcher, TrueMatcher; | ||
@@ -13,2 +13,4 @@ SegmentMatcher = (function() { | ||
SegmentMatcher.prototype.getPrefix = function(scope) {}; | ||
SegmentMatcher.prototype.toCssSelector = function() { | ||
@@ -31,2 +33,4 @@ return this.segment.split('.').map(function(dotFragment) { | ||
TrueMatcher.prototype.getPrefix = function(scopes) {}; | ||
TrueMatcher.prototype.toCssSelector = function() { | ||
@@ -66,2 +70,19 @@ return '*'; | ||
ScopeMatcher.prototype.getPrefix = function(scope) { | ||
var index, scopeSegments, segment, _i, _len, _ref; | ||
scopeSegments = scope.split('.'); | ||
if (scopeSegments.length < this.segments.length) { | ||
return false; | ||
} | ||
_ref = this.segments; | ||
for (index = _i = 0, _len = _ref.length; _i < _len; index = ++_i) { | ||
segment = _ref[index]; | ||
if (segment.matches(scopeSegments[index])) { | ||
if (segment.prefix != null) { | ||
return segment.prefix; | ||
} | ||
} | ||
} | ||
}; | ||
ScopeMatcher.prototype.toCssSelector = function() { | ||
@@ -77,5 +98,30 @@ return this.segments.map(function(matcher) { | ||
GroupMatcher = (function() { | ||
function GroupMatcher(prefix, selector) { | ||
this.prefix = prefix != null ? prefix[0] : void 0; | ||
this.selector = selector; | ||
} | ||
GroupMatcher.prototype.matches = function(scopes) { | ||
return this.selector.matches(scopes); | ||
}; | ||
GroupMatcher.prototype.getPrefix = function(scopes) { | ||
if (this.selector.matches(scopes)) { | ||
return this.prefix; | ||
} | ||
}; | ||
GroupMatcher.prototype.toCssSelector = function() { | ||
return this.selector.toCssSelector(); | ||
}; | ||
return GroupMatcher; | ||
})(); | ||
PathMatcher = (function() { | ||
function PathMatcher(first, others) { | ||
function PathMatcher(prefix, first, others) { | ||
var matcher, _i, _len; | ||
this.prefix = prefix != null ? prefix[0] : void 0; | ||
this.matchers = [first]; | ||
@@ -104,2 +150,8 @@ for (_i = 0, _len = others.length; _i < _len; _i++) { | ||
PathMatcher.prototype.getPrefix = function(scopes) { | ||
if (this.matches(scopes)) { | ||
return this.prefix; | ||
} | ||
}; | ||
PathMatcher.prototype.toCssSelector = function() { | ||
@@ -125,2 +177,6 @@ return this.matchers.map(function(matcher) { | ||
OrMatcher.prototype.getPrefix = function(scopes) { | ||
return this.left.getPrefix(scopes) || this.right.getPrefix(scopes); | ||
}; | ||
OrMatcher.prototype.toCssSelector = function() { | ||
@@ -144,2 +200,8 @@ return "" + (this.left.toCssSelector()) + ", " + (this.right.toCssSelector()); | ||
AndMatcher.prototype.getPrefix = function(scopes) { | ||
if (this.left.matches(scopes) && this.right.matches(scopes)) { | ||
return this.left.getPrefix(scopes); | ||
} | ||
}; | ||
AndMatcher.prototype.toCssSelector = function() { | ||
@@ -166,2 +228,4 @@ if (this.right instanceof NegateMatcher) { | ||
NegateMatcher.prototype.getPrefix = function(scopes) {}; | ||
NegateMatcher.prototype.toCssSelector = function() { | ||
@@ -193,2 +257,6 @@ return ":not(" + (this.matcher.toCssSelector()) + ")"; | ||
CompositeMatcher.prototype.getPrefix = function(scopes) { | ||
return this.matcher.getPrefix(scopes); | ||
}; | ||
CompositeMatcher.prototype.toCssSelector = function() { | ||
@@ -205,2 +273,3 @@ return this.matcher.toCssSelector(); | ||
CompositeMatcher: CompositeMatcher, | ||
GroupMatcher: GroupMatcher, | ||
NegateMatcher: NegateMatcher, | ||
@@ -207,0 +276,0 @@ OrMatcher: OrMatcher, |
@@ -57,42 +57,33 @@ module.exports = (function() { | ||
}, | ||
peg$c14 = function(first, others) { | ||
return new matchers.PathMatcher(first, others); | ||
peg$c14 = null, | ||
peg$c15 = /^[LRB]/, | ||
peg$c16 = { type: "class", value: "[LRB]", description: "[LRB]" }, | ||
peg$c17 = ":", | ||
peg$c18 = { type: "literal", value: ":", description: "\":\"" }, | ||
peg$c19 = function(prefix, first, others) { | ||
return new matchers.PathMatcher(prefix, first, others); | ||
}, | ||
peg$c15 = "(", | ||
peg$c16 = { type: "literal", value: "(", description: "\"(\"" }, | ||
peg$c17 = ")", | ||
peg$c18 = { type: "literal", value: ")", description: "\")\"" }, | ||
peg$c19 = function(selector) { | ||
return selector; | ||
peg$c20 = "(", | ||
peg$c21 = { type: "literal", value: "(", description: "\"(\"" }, | ||
peg$c22 = ")", | ||
peg$c23 = { type: "literal", value: ")", description: "\")\"" }, | ||
peg$c24 = function(prefix, selector) { | ||
return new matchers.GroupMatcher(prefix, selector); | ||
}, | ||
peg$c20 = /^[LRB]/, | ||
peg$c21 = { type: "class", value: "[LRB]", description: "[LRB]" }, | ||
peg$c22 = ":", | ||
peg$c23 = { type: "literal", value: ":", description: "\":\"" }, | ||
peg$c24 = function(prefix, group) { | ||
return group; | ||
}, | ||
peg$c25 = function(prefix, path) { | ||
return path; | ||
}, | ||
peg$c26 = "-", | ||
peg$c27 = { type: "literal", value: "-", description: "\"-\"" }, | ||
peg$c28 = function(filter) { | ||
return new matchers.NegateMatcher(filter); | ||
}, | ||
peg$c29 = function(group) { | ||
peg$c25 = "-", | ||
peg$c26 = { type: "literal", value: "-", description: "\"-\"" }, | ||
peg$c27 = function(group) { | ||
return new matchers.NegateMatcher(group); | ||
}, | ||
peg$c30 = function(path) { | ||
peg$c28 = function(path) { | ||
return new matchers.NegateMatcher(path); | ||
}, | ||
peg$c31 = /^[|&\-]/, | ||
peg$c32 = { type: "class", value: "[|&\\-]", description: "[|&\\-]" }, | ||
peg$c33 = function(left, operator, right) { | ||
peg$c29 = /^[|&\-]/, | ||
peg$c30 = { type: "class", value: "[|&\\-]", description: "[|&\\-]" }, | ||
peg$c31 = function(left, operator, right) { | ||
return new matchers.CompositeMatcher(left, operator, right); | ||
}, | ||
peg$c34 = ",", | ||
peg$c35 = { type: "literal", value: ",", description: "\",\"" }, | ||
peg$c36 = null, | ||
peg$c37 = function(left, right) { | ||
peg$c32 = ",", | ||
peg$c33 = { type: "literal", value: ",", description: "\",\"" }, | ||
peg$c34 = function(left, right) { | ||
if (right) | ||
@@ -103,4 +94,4 @@ return new matchers.OrMatcher(left, right); | ||
}, | ||
peg$c38 = /^[ \t]/, | ||
peg$c39 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, | ||
peg$c35 = /^[ \t]/, | ||
peg$c36 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, | ||
@@ -482,94 +473,76 @@ peg$currPos = 0, | ||
function peg$parsepath() { | ||
var s0, s1, s2, s3, s4, s5; | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
s0 = peg$currPos; | ||
s1 = peg$parsescope(); | ||
if (s1 !== peg$FAILED) { | ||
s2 = []; | ||
s3 = peg$currPos; | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parsescope(); | ||
if (s5 !== peg$FAILED) { | ||
s4 = [s4, s5]; | ||
s3 = s4; | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$c0; | ||
} | ||
s1 = peg$currPos; | ||
if (peg$c15.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
peg$currPos++; | ||
} else { | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c16); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 58) { | ||
s3 = peg$c17; | ||
peg$currPos++; | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$c0; | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c18); } | ||
} | ||
while (s3 !== peg$FAILED) { | ||
s2.push(s3); | ||
s3 = peg$currPos; | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parsescope(); | ||
if (s5 !== peg$FAILED) { | ||
s4 = [s4, s5]; | ||
s3 = s4; | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s3; | ||
s3 = peg$c0; | ||
} | ||
} | ||
if (s2 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c14(s1, s2); | ||
s0 = s1; | ||
if (s3 !== peg$FAILED) { | ||
s2 = [s2, s3]; | ||
s1 = s2; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
return s0; | ||
} | ||
function peg$parsegroup() { | ||
var s0, s1, s2, s3, s4, s5; | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 40) { | ||
s1 = peg$c15; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c16); } | ||
if (s1 === peg$FAILED) { | ||
s1 = peg$c14; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
s2 = peg$parsescope(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parseselector(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s5 = peg$c17; | ||
peg$currPos++; | ||
s3 = []; | ||
s4 = peg$currPos; | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
s6 = peg$parsescope(); | ||
if (s6 !== peg$FAILED) { | ||
s5 = [s5, s6]; | ||
s4 = s5; | ||
} else { | ||
peg$currPos = s4; | ||
s4 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s4; | ||
s4 = peg$c0; | ||
} | ||
while (s4 !== peg$FAILED) { | ||
s3.push(s4); | ||
s4 = peg$currPos; | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
s6 = peg$parsescope(); | ||
if (s6 !== peg$FAILED) { | ||
s5 = [s5, s6]; | ||
s4 = s5; | ||
} else { | ||
s5 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c18); } | ||
peg$currPos = s4; | ||
s4 = peg$c0; | ||
} | ||
if (s5 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c19(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
peg$currPos = s4; | ||
s4 = peg$c0; | ||
} | ||
} | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c19(s1, s2, s3); | ||
s0 = s1; | ||
} else { | ||
@@ -591,8 +564,8 @@ peg$currPos = s0; | ||
function peg$parsefilter() { | ||
var s0, s1, s2, s3; | ||
function peg$parsegroup() { | ||
var s0, s1, s2, s3, s4, s5, s6; | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
if (peg$c20.test(input.charAt(peg$currPos))) { | ||
if (peg$c15.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
@@ -602,11 +575,11 @@ peg$currPos++; | ||
s2 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c21); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c16); } | ||
} | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 58) { | ||
s3 = peg$c22; | ||
s3 = peg$c17; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c23); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c18); } | ||
} | ||
@@ -624,27 +597,8 @@ if (s3 !== peg$FAILED) { | ||
} | ||
if (s1 === peg$FAILED) { | ||
s1 = peg$c14; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parsegroup(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c24(s1, s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
s1 = peg$currPos; | ||
if (peg$c20.test(input.charAt(peg$currPos))) { | ||
s2 = input.charAt(peg$currPos); | ||
if (input.charCodeAt(peg$currPos) === 40) { | ||
s2 = peg$c20; | ||
peg$currPos++; | ||
@@ -656,28 +610,27 @@ } else { | ||
if (s2 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 58) { | ||
s3 = peg$c22; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c23); } | ||
} | ||
s3 = peg$parse_(); | ||
if (s3 !== peg$FAILED) { | ||
s2 = [s2, s3]; | ||
s1 = s2; | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s1; | ||
s1 = peg$c0; | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parsepath(); | ||
if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c25(s1, s3); | ||
s0 = s1; | ||
s4 = peg$parseselector(); | ||
if (s4 !== peg$FAILED) { | ||
s5 = peg$parse_(); | ||
if (s5 !== peg$FAILED) { | ||
if (input.charCodeAt(peg$currPos) === 41) { | ||
s6 = peg$c22; | ||
peg$currPos++; | ||
} else { | ||
s6 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c23); } | ||
} | ||
if (s6 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c24(s1, s4); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
@@ -695,2 +648,5 @@ peg$currPos = s0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
@@ -706,7 +662,7 @@ | ||
if (input.charCodeAt(peg$currPos) === 45) { | ||
s1 = peg$c26; | ||
s1 = peg$c25; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c27); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c26); } | ||
} | ||
@@ -716,3 +672,3 @@ if (s1 !== peg$FAILED) { | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parsefilter(); | ||
s3 = peg$parsegroup(); | ||
if (s3 !== peg$FAILED) { | ||
@@ -722,3 +678,3 @@ s4 = peg$parse_(); | ||
peg$reportedPos = s0; | ||
s1 = peg$c28(s3); | ||
s1 = peg$c27(s3); | ||
s0 = s1; | ||
@@ -744,7 +700,7 @@ } else { | ||
if (input.charCodeAt(peg$currPos) === 45) { | ||
s1 = peg$c26; | ||
s1 = peg$c25; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c27); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c26); } | ||
} | ||
@@ -754,3 +710,3 @@ if (s1 !== peg$FAILED) { | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parsegroup(); | ||
s3 = peg$parsepath(); | ||
if (s3 !== peg$FAILED) { | ||
@@ -760,3 +716,3 @@ s4 = peg$parse_(); | ||
peg$reportedPos = s0; | ||
s1 = peg$c29(s3); | ||
s1 = peg$c28(s3); | ||
s0 = s1; | ||
@@ -780,44 +736,5 @@ } else { | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$currPos; | ||
if (input.charCodeAt(peg$currPos) === 45) { | ||
s1 = peg$c26; | ||
peg$currPos++; | ||
} else { | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c27); } | ||
} | ||
if (s1 !== peg$FAILED) { | ||
s2 = peg$parse_(); | ||
if (s2 !== peg$FAILED) { | ||
s3 = peg$parsepath(); | ||
if (s3 !== peg$FAILED) { | ||
s4 = peg$parse_(); | ||
if (s4 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c30(s3); | ||
s0 = s1; | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
} else { | ||
peg$currPos = s0; | ||
s0 = peg$c0; | ||
} | ||
s0 = peg$parsegroup(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parsefilter(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parsegroup(); | ||
if (s0 === peg$FAILED) { | ||
s0 = peg$parsepath(); | ||
} | ||
} | ||
s0 = peg$parsepath(); | ||
} | ||
@@ -838,3 +755,3 @@ } | ||
if (s2 !== peg$FAILED) { | ||
if (peg$c31.test(input.charAt(peg$currPos))) { | ||
if (peg$c29.test(input.charAt(peg$currPos))) { | ||
s3 = input.charAt(peg$currPos); | ||
@@ -844,3 +761,3 @@ peg$currPos++; | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c32); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c30); } | ||
} | ||
@@ -853,3 +770,3 @@ if (s3 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c33(s1, s3, s5); | ||
s1 = peg$c31(s1, s3, s5); | ||
s0 = s1; | ||
@@ -892,7 +809,7 @@ } else { | ||
if (input.charCodeAt(peg$currPos) === 44) { | ||
s3 = peg$c34; | ||
s3 = peg$c32; | ||
peg$currPos++; | ||
} else { | ||
s3 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c35); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c33); } | ||
} | ||
@@ -904,7 +821,7 @@ if (s3 !== peg$FAILED) { | ||
if (s5 === peg$FAILED) { | ||
s5 = peg$c36; | ||
s5 = peg$c14; | ||
} | ||
if (s5 !== peg$FAILED) { | ||
peg$reportedPos = s0; | ||
s1 = peg$c37(s1, s5); | ||
s1 = peg$c34(s1, s5); | ||
s0 = s1; | ||
@@ -942,3 +859,3 @@ } else { | ||
s0 = []; | ||
if (peg$c38.test(input.charAt(peg$currPos))) { | ||
if (peg$c35.test(input.charAt(peg$currPos))) { | ||
s1 = input.charAt(peg$currPos); | ||
@@ -948,7 +865,7 @@ peg$currPos++; | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c39); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c36); } | ||
} | ||
while (s1 !== peg$FAILED) { | ||
s0.push(s1); | ||
if (peg$c38.test(input.charAt(peg$currPos))) { | ||
if (peg$c35.test(input.charAt(peg$currPos))) { | ||
s1 = input.charAt(peg$currPos); | ||
@@ -958,3 +875,3 @@ peg$currPos++; | ||
s1 = peg$FAILED; | ||
if (peg$silentFails === 0) { peg$fail(peg$c39); } | ||
if (peg$silentFails === 0) { peg$fail(peg$c36); } | ||
} | ||
@@ -966,3 +883,3 @@ } | ||
var matchers= require('./scope-selector-matchers'); | ||
var matchers = require('./scope-selector-matchers'); | ||
@@ -969,0 +886,0 @@ peg$result = peg$startRuleFunction(); |
@@ -18,2 +18,9 @@ (function() { | ||
ScopeSelector.prototype.getPrefix = function(scopes) { | ||
if (typeof scopes === 'string') { | ||
scopes = [scopes]; | ||
} | ||
return this.matcher.getPrefix(scopes); | ||
}; | ||
ScopeSelector.prototype.toCssSelector = function() { | ||
@@ -20,0 +27,0 @@ return this.matcher.toCssSelector(); |
{ | ||
"name": "first-mate", | ||
"version": "6.0.0", | ||
"version": "6.1.0", | ||
"description": "TextMate helpers", | ||
@@ -15,11 +15,6 @@ "main": "./lib/first-mate.js", | ||
}, | ||
"licenses": [ | ||
{ | ||
"type": "MIT", | ||
"url": "http://github.com/atom/first-mate/raw/master/LICENSE.md" | ||
} | ||
], | ||
"bugs": { | ||
"url": "https://github.com/atom/first-mate/issues" | ||
}, | ||
"license": "MIT", | ||
"homepage": "http://atom.github.io/first-mate", | ||
@@ -26,0 +21,0 @@ "dependencies": { |
@@ -1,2 +0,3 @@ | ||
# First Mate [![Build Status](https://travis-ci.org/atom/first-mate.svg?branch=master)](https://travis-ci.org/atom/first-mate) | ||
# First Mate | ||
[![Linux Build Status](https://travis-ci.org/atom/first-mate.svg?branch=master)](https://travis-ci.org/atom/first-mate) [![Dependency Status](https://david-dm.org/atom/first-mate/status.svg)](https://david-dm.org/atom/first-mate) | ||
@@ -3,0 +4,0 @@ TextMate helpers |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
646128
123
0
16227