| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 WebInspector.SASSSupport = {} | 5 WebInspector.SASSSupport = {} |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * @param {!WebInspector.CSSParserService} cssParserService | 8 * @param {!WebInspector.CSSParserService} cssParserService |
| 9 * @param {string} url | 9 * @param {string} url |
| 10 * @param {string} text | 10 * @param {string} text |
| 11 * @return {!Promise<!WebInspector.SASSSupport.AST>} | 11 * @return {!Promise<!WebInspector.SASSSupport.AST>} |
| 12 */ | 12 */ |
| 13 WebInspector.SASSSupport.parseCSS = function(cssParserService, url, text) | 13 WebInspector.SASSSupport.parseCSS = function(cssParserService, url, text) |
| 14 { | 14 { |
| 15 return cssParserService.parseCSS(text) | 15 return cssParserService.parseCSS(text) |
| 16 .then(onParsed); | 16 .then(onParsed); |
| 17 | 17 |
| 18 /** | 18 /** |
| 19 * @param {!Array.<!WebInspector.CSSParser.Rule>} parsedCSS | 19 * @param {!Array.<!WebInspector.CSSParser.Rule>} parsedCSS |
| 20 * @return {!WebInspector.SASSSupport.AST} | 20 * @return {!WebInspector.SASSSupport.AST} |
| 21 */ | 21 */ |
| 22 function onParsed(parsedCSS) | 22 function onParsed(parsedCSS) |
| 23 { | 23 { |
| 24 var document = new WebInspector.SASSSupport.ASTDocument(url, text); | 24 var document = new WebInspector.SASSSupport.ASTDocument(url, new WebInsp
ector.Text(text)); |
| 25 var rules = []; | 25 var rules = []; |
| 26 for (var i = 0; i < parsedCSS.length; ++i) { | 26 for (var i = 0; i < parsedCSS.length; ++i) { |
| 27 var rule = parsedCSS[i]; | 27 var rule = parsedCSS[i]; |
| 28 if (!rule.properties) | 28 if (!rule.properties) |
| 29 continue; | 29 continue; |
| 30 var properties = []; | 30 var properties = []; |
| 31 for (var j = 0; j < rule.properties.length; ++j) { | 31 for (var j = 0; j < rule.properties.length; ++j) { |
| 32 var cssProperty = rule.properties[j]; | 32 var cssProperty = rule.properties[j]; |
| 33 var name = new WebInspector.SASSSupport.TextNode(document, cssPr
operty.name, WebInspector.TextRange.fromObject(cssProperty.nameRange)); | 33 var name = new WebInspector.SASSSupport.TextNode(document, cssPr
operty.name, WebInspector.TextRange.fromObject(cssProperty.nameRange)); |
| 34 var value = new WebInspector.SASSSupport.TextNode(document, cssP
roperty.value, WebInspector.TextRange.fromObject(cssProperty.valueRange)); | 34 var value = new WebInspector.SASSSupport.TextNode(document, cssP
roperty.value, WebInspector.TextRange.fromObject(cssProperty.valueRange)); |
| 35 var property = new WebInspector.SASSSupport.Property(document, n
ame, value, WebInspector.TextRange.fromObject(cssProperty.range), !!cssProperty.
disabled); | 35 var property = new WebInspector.SASSSupport.Property(document, n
ame, value, WebInspector.TextRange.fromObject(cssProperty.range), !!cssProperty.
disabled); |
| 36 properties.push(property); | 36 properties.push(property); |
| 37 } | 37 } |
| 38 rules.push(new WebInspector.SASSSupport.Rule(document, rule.selector
Text, WebInspector.TextRange.fromObject(rule.styleRange), properties)); | 38 rules.push(new WebInspector.SASSSupport.Rule(document, rule.selector
Text, WebInspector.TextRange.fromObject(rule.styleRange), properties)); |
| 39 } | 39 } |
| 40 return new WebInspector.SASSSupport.AST(document, rules); | 40 return new WebInspector.SASSSupport.AST(document, rules); |
| 41 } | 41 } |
| 42 } | 42 } |
| 43 | 43 |
| 44 /** | 44 /** |
| 45 * @param {!WebInspector.TokenizerFactory} tokenizerFactory | 45 * @param {!WebInspector.TokenizerFactory} tokenizerFactory |
| 46 * @param {string} url | 46 * @param {string} url |
| 47 * @param {string} text | 47 * @param {string} text |
| 48 * @return {!WebInspector.SASSSupport.AST} | 48 * @return {!WebInspector.SASSSupport.AST} |
| 49 */ | 49 */ |
| 50 WebInspector.SASSSupport.parseSCSS = function(tokenizerFactory, url, text) | 50 WebInspector.SASSSupport.parseSCSS = function(tokenizerFactory, url, text) |
| 51 { | 51 { |
| 52 var document = new WebInspector.SASSSupport.ASTDocument(url, text); | 52 var document = new WebInspector.SASSSupport.ASTDocument(url, new WebInspecto
r.Text(text)); |
| 53 var result = WebInspector.SASSSupport._innerParseSCSS(document, tokenizerFac
tory); | 53 var result = WebInspector.SASSSupport._innerParseSCSS(document, tokenizerFac
tory); |
| 54 | 54 |
| 55 var rules = [ | 55 var rules = [ |
| 56 new WebInspector.SASSSupport.Rule(document, "variables", WebInspector.Te
xtRange.createFromLocation(0, 0), result.variables), | 56 new WebInspector.SASSSupport.Rule(document, "variables", WebInspector.Te
xtRange.createFromLocation(0, 0), result.variables), |
| 57 new WebInspector.SASSSupport.Rule(document, "properties", WebInspector.T
extRange.createFromLocation(0, 0), result.properties), | 57 new WebInspector.SASSSupport.Rule(document, "properties", WebInspector.T
extRange.createFromLocation(0, 0), result.properties), |
| 58 new WebInspector.SASSSupport.Rule(document, "mixins", WebInspector.TextR
ange.createFromLocation(0, 0), result.mixins) | 58 new WebInspector.SASSSupport.Rule(document, "mixins", WebInspector.TextR
ange.createFromLocation(0, 0), result.mixins) |
| 59 ]; | 59 ]; |
| 60 | 60 |
| 61 return new WebInspector.SASSSupport.AST(document, rules); | 61 return new WebInspector.SASSSupport.AST(document, rules); |
| 62 } | 62 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 73 Media: "Media" | 73 Media: "Media" |
| 74 } | 74 } |
| 75 | 75 |
| 76 /** | 76 /** |
| 77 * @param {!WebInspector.SASSSupport.ASTDocument} document | 77 * @param {!WebInspector.SASSSupport.ASTDocument} document |
| 78 * @param {!WebInspector.TokenizerFactory} tokenizerFactory | 78 * @param {!WebInspector.TokenizerFactory} tokenizerFactory |
| 79 * @return {!{variables: !Array<!WebInspector.SASSSupport.Property>, properties:
!Array<!WebInspector.SASSSupport.Property>, mixins: !Array<!WebInspector.SASSSu
pport.Property>}} | 79 * @return {!{variables: !Array<!WebInspector.SASSSupport.Property>, properties:
!Array<!WebInspector.SASSSupport.Property>, mixins: !Array<!WebInspector.SASSSu
pport.Property>}} |
| 80 */ | 80 */ |
| 81 WebInspector.SASSSupport._innerParseSCSS = function(document, tokenizerFactory) | 81 WebInspector.SASSSupport._innerParseSCSS = function(document, tokenizerFactory) |
| 82 { | 82 { |
| 83 var lines = document.text.split("\n"); | 83 var lines = document.text.value().split("\n"); |
| 84 var properties = []; | 84 var properties = []; |
| 85 var variables = []; | 85 var variables = []; |
| 86 var mixins = []; | 86 var mixins = []; |
| 87 | 87 |
| 88 var States = WebInspector.SASSSupport.SCSSParserStates; | 88 var States = WebInspector.SASSSupport.SCSSParserStates; |
| 89 var state = States.Initial; | 89 var state = States.Initial; |
| 90 var propertyName, propertyValue; | 90 var propertyName, propertyValue; |
| 91 var variableName, variableValue; | 91 var variableName, variableValue; |
| 92 var mixinName, mixinValue; | 92 var mixinName, mixinValue; |
| 93 var UndefTokenType = {}; | 93 var UndefTokenType = {}; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 111 state = States.PropertyName; | 111 state = States.PropertyName; |
| 112 } else if (tokenType["css-def"] && tokenValue === "@include") { | 112 } else if (tokenType["css-def"] && tokenValue === "@include") { |
| 113 mixinName = new WebInspector.SASSSupport.TextNode(document, toke
nValue, new WebInspector.TextRange(lineNumber, column, lineNumber, newColumn)); | 113 mixinName = new WebInspector.SASSSupport.TextNode(document, toke
nValue, new WebInspector.TextRange(lineNumber, column, lineNumber, newColumn)); |
| 114 state = States.MixinName; | 114 state = States.MixinName; |
| 115 } else if (tokenType["css-comment"]) { | 115 } else if (tokenType["css-comment"]) { |
| 116 // Support only a one-line comments. | 116 // Support only a one-line comments. |
| 117 if (tokenValue.substring(0, 2) !== "/*" || tokenValue.substring(
tokenValue.length - 2) !== "*/") | 117 if (tokenValue.substring(0, 2) !== "/*" || tokenValue.substring(
tokenValue.length - 2) !== "*/") |
| 118 break; | 118 break; |
| 119 var uncommentedText = tokenValue.substring(2, tokenValue.length
- 2); | 119 var uncommentedText = tokenValue.substring(2, tokenValue.length
- 2); |
| 120 var fakeRuleText = "a{\n" + uncommentedText + "}"; | 120 var fakeRuleText = "a{\n" + uncommentedText + "}"; |
| 121 var fakeDocument = new WebInspector.SASSSupport.ASTDocument("",
fakeRuleText); | 121 var fakeDocument = new WebInspector.SASSSupport.ASTDocument("",
new WebInspector.Text(fakeRuleText)); |
| 122 var result = WebInspector.SASSSupport._innerParseSCSS(fakeDocume
nt, tokenizerFactory); | 122 var result = WebInspector.SASSSupport._innerParseSCSS(fakeDocume
nt, tokenizerFactory); |
| 123 if (result.properties.length === 1 && result.variables.length ==
= 0 && result.mixins.length === 0) { | 123 if (result.properties.length === 1 && result.variables.length ==
= 0 && result.mixins.length === 0) { |
| 124 var disabledProperty = result.properties[0]; | 124 var disabledProperty = result.properties[0]; |
| 125 // We should offset property to current coordinates. | 125 // We should offset property to current coordinates. |
| 126 var offset = column + 2; | 126 var offset = column + 2; |
| 127 var nameRange = new WebInspector.TextRange(lineNumber, disab
ledProperty.name.range.startColumn + offset, | 127 var nameRange = new WebInspector.TextRange(lineNumber, disab
ledProperty.name.range.startColumn + offset, |
| 128 lineNumber, disabledProperty.name.range.endColumn +
offset); | 128 lineNumber, disabledProperty.name.range.endColumn +
offset); |
| 129 var valueRange = new WebInspector.TextRange(lineNumber, disa
bledProperty.value.range.startColumn + offset, | 129 var valueRange = new WebInspector.TextRange(lineNumber, disa
bledProperty.value.range.startColumn + offset, |
| 130 lineNumber, disabledProperty.value.range.endColumn +
offset); | 130 lineNumber, disabledProperty.value.range.endColumn +
offset); |
| 131 var name = new WebInspector.SASSSupport.TextNode(document, d
isabledProperty.name.text, nameRange); | 131 var name = new WebInspector.SASSSupport.TextNode(document, d
isabledProperty.name.text, nameRange); |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 return { | 230 return { |
| 231 variables: variables, | 231 variables: variables, |
| 232 properties: properties, | 232 properties: properties, |
| 233 mixins: mixins | 233 mixins: mixins |
| 234 }; | 234 }; |
| 235 } | 235 } |
| 236 | 236 |
| 237 /** | 237 /** |
| 238 * @constructor | 238 * @constructor |
| 239 * @param {string} url | 239 * @param {string} url |
| 240 * @param {string} text | 240 * @param {!WebInspector.Text} text |
| 241 */ | 241 */ |
| 242 WebInspector.SASSSupport.ASTDocument = function(url, text) | 242 WebInspector.SASSSupport.ASTDocument = function(url, text) |
| 243 { | 243 { |
| 244 this.url = url; | 244 this.url = url; |
| 245 this.text = text; | 245 this.text = text; |
| 246 this.edits = []; | 246 this.edits = []; |
| 247 } | 247 } |
| 248 | 248 |
| 249 WebInspector.SASSSupport.ASTDocument.prototype = { | 249 WebInspector.SASSSupport.ASTDocument.prototype = { |
| 250 /** | 250 /** |
| 251 * @return {!WebInspector.SASSSupport.ASTDocument} | 251 * @return {!WebInspector.SASSSupport.ASTDocument} |
| 252 */ | 252 */ |
| 253 clone: function() | 253 clone: function() |
| 254 { | 254 { |
| 255 return new WebInspector.SASSSupport.ASTDocument(this.url, this.text); | 255 return new WebInspector.SASSSupport.ASTDocument(this.url, this.text); |
| 256 }, | 256 }, |
| 257 | 257 |
| 258 /** | 258 /** |
| 259 * @return {boolean} | 259 * @return {boolean} |
| 260 */ | 260 */ |
| 261 hasChanged: function() | 261 hasChanged: function() |
| 262 { | 262 { |
| 263 return !!this.edits.length; | 263 return !!this.edits.length; |
| 264 }, | 264 }, |
| 265 | 265 |
| 266 /** | 266 /** |
| 267 * @return {string} | 267 * @return {!WebInspector.Text} |
| 268 */ | 268 */ |
| 269 newText: function() | 269 newText: function() |
| 270 { | 270 { |
| 271 this.edits.stableSort(sequentialOrder); | 271 this.edits.stableSort(sequentialOrder); |
| 272 var text = this.text; | 272 var text = this.text; |
| 273 for (var i = this.edits.length - 1; i >= 0; --i) | 273 for (var i = this.edits.length - 1; i >= 0; --i) { |
| 274 text = this.edits[i].applyToText(text); | 274 var range = this.edits[i].oldRange; |
| 275 var newText = this.edits[i].newText; |
| 276 text = new WebInspector.Text(text.replaceRange(range, newText)); |
| 277 } |
| 275 return text; | 278 return text; |
| 276 | 279 |
| 277 /** | 280 /** |
| 278 * @param {!WebInspector.SourceEdit} edit1 | 281 * @param {!WebInspector.SourceEdit} edit1 |
| 279 * @param {!WebInspector.SourceEdit} edit2 | 282 * @param {!WebInspector.SourceEdit} edit2 |
| 280 * @return {number} | 283 * @return {number} |
| 281 */ | 284 */ |
| 282 function sequentialOrder(edit1, edit2) | 285 function sequentialOrder(edit1, edit2) |
| 283 { | 286 { |
| 284 var range1 = edit1.oldRange.collapseToStart(); | 287 var range1 = edit1.oldRange.collapseToStart(); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 this.disabled = disabled; | 418 this.disabled = disabled; |
| 416 if (disabled) { | 419 if (disabled) { |
| 417 var oldRange1 = WebInspector.TextRange.createFromLocation(this.range
.startLine, this.range.startColumn); | 420 var oldRange1 = WebInspector.TextRange.createFromLocation(this.range
.startLine, this.range.startColumn); |
| 418 var edit1 = new WebInspector.SourceEdit(this.document.url, oldRange1
, "/* "); | 421 var edit1 = new WebInspector.SourceEdit(this.document.url, oldRange1
, "/* "); |
| 419 var oldRange2 = WebInspector.TextRange.createFromLocation(this.range
.endLine, this.range.endColumn); | 422 var oldRange2 = WebInspector.TextRange.createFromLocation(this.range
.endLine, this.range.endColumn); |
| 420 var edit2 = new WebInspector.SourceEdit(this.document.url, oldRange2
, " */"); | 423 var edit2 = new WebInspector.SourceEdit(this.document.url, oldRange2
, " */"); |
| 421 this.document.edits.push(edit1, edit2); | 424 this.document.edits.push(edit1, edit2); |
| 422 return; | 425 return; |
| 423 } | 426 } |
| 424 var oldRange1 = new WebInspector.TextRange(this.range.startLine, this.ra
nge.startColumn, this.range.startLine, this.name.range.startColumn); | 427 var oldRange1 = new WebInspector.TextRange(this.range.startLine, this.ra
nge.startColumn, this.range.startLine, this.name.range.startColumn); |
| 425 var text = this.document.text; | |
| 426 var edit1 = new WebInspector.SourceEdit(this.document.url, oldRange1, ""
); | 428 var edit1 = new WebInspector.SourceEdit(this.document.url, oldRange1, ""
); |
| 427 var oldRange2 = new WebInspector.TextRange(this.range.endLine, this.rang
e.endColumn - 2, this.range.endLine, this.range.endColumn); | 429 var oldRange2 = new WebInspector.TextRange(this.range.endLine, this.rang
e.endColumn - 2, this.range.endLine, this.range.endColumn); |
| 428 var edit2 = new WebInspector.SourceEdit(this.document.url, oldRange2, ""
); | 430 var edit2 = new WebInspector.SourceEdit(this.document.url, oldRange2, ""
); |
| 429 this.document.edits.push(edit1, edit2); | 431 this.document.edits.push(edit1, edit2); |
| 430 }, | 432 }, |
| 431 | 433 |
| 432 remove: function() | 434 remove: function() |
| 433 { | 435 { |
| 434 console.assert(this.parent); | 436 console.assert(this.parent); |
| 435 var rule = this.parent; | 437 var rule = this.parent; |
| 436 var index = rule.properties.indexOf(this); | 438 var index = rule.properties.indexOf(this); |
| 437 rule.properties.splice(index, 1); | 439 rule.properties.splice(index, 1); |
| 438 this.parent = null; | 440 this.parent = null; |
| 439 | 441 |
| 440 var lineRange = new WebInspector.TextRange(this.range.startLine, 0, this
.range.endLine + 1, 0); | 442 var lineRange = new WebInspector.TextRange(this.range.startLine, 0, this
.range.endLine + 1, 0); |
| 441 var oldRange; | 443 var oldRange; |
| 442 if (lineRange.extract(this.document.text).trim() === this.range.extract(
this.document.text).trim()) | 444 if (this.document.text.extract(lineRange).trim() === this.document.text.
extract(this.range).trim()) |
| 443 oldRange = lineRange; | 445 oldRange = lineRange; |
| 444 else | 446 else |
| 445 oldRange = this.range; | 447 oldRange = this.range; |
| 446 this.document.edits.push(new WebInspector.SourceEdit(this.document.url,
oldRange, "")); | 448 this.document.edits.push(new WebInspector.SourceEdit(this.document.url,
oldRange, "")); |
| 447 }, | 449 }, |
| 448 | 450 |
| 449 __proto__: WebInspector.SASSSupport.Node.prototype | 451 __proto__: WebInspector.SASSSupport.Node.prototype |
| 450 } | 452 } |
| 451 | 453 |
| 452 /** | 454 /** |
| 453 * @constructor | 455 * @constructor |
| 454 * @extends {WebInspector.SASSSupport.Node} | 456 * @extends {WebInspector.SASSSupport.Node} |
| 455 * @param {!WebInspector.SASSSupport.ASTDocument} document | 457 * @param {!WebInspector.SASSSupport.ASTDocument} document |
| 456 * @param {string} selector | 458 * @param {string} selector |
| 457 * @param {!WebInspector.TextRange} styleRange | 459 * @param {!WebInspector.TextRange} styleRange |
| 458 * @param {!Array<!WebInspector.SASSSupport.Property>} properties | 460 * @param {!Array<!WebInspector.SASSSupport.Property>} properties |
| 459 */ | 461 */ |
| 460 WebInspector.SASSSupport.Rule = function(document, selector, styleRange, propert
ies) | 462 WebInspector.SASSSupport.Rule = function(document, selector, styleRange, propert
ies) |
| 461 { | 463 { |
| 462 WebInspector.SASSSupport.Node.call(this, document); | 464 WebInspector.SASSSupport.Node.call(this, document); |
| 463 this.selector = selector; | 465 this.selector = selector; |
| 464 this.properties = properties; | 466 this.properties = properties; |
| 465 this.styleRange = styleRange; | 467 this.styleRange = styleRange; |
| 466 for (var i = 0; i < this.properties.length; ++i) | 468 for (var i = 0; i < this.properties.length; ++i) |
| 467 this.properties[i].parent = this; | 469 this.properties[i].parent = this; |
| 468 | 470 |
| 469 this._hasTrailingSemicolon = !this.properties.length || this.properties.peek
Last().range.extract(this.document.text).endsWith(";"); | 471 this._hasTrailingSemicolon = !this.properties.length || this.document.text.e
xtract(this.properties.peekLast().range).endsWith(";"); |
| 470 } | 472 } |
| 471 | 473 |
| 472 WebInspector.SASSSupport.Rule.prototype = { | 474 WebInspector.SASSSupport.Rule.prototype = { |
| 473 /** | 475 /** |
| 474 * @param {!WebInspector.SASSSupport.ASTDocument} document | 476 * @param {!WebInspector.SASSSupport.ASTDocument} document |
| 475 * @return {!WebInspector.SASSSupport.Rule} | 477 * @return {!WebInspector.SASSSupport.Rule} |
| 476 */ | 478 */ |
| 477 clone: function(document) | 479 clone: function(document) |
| 478 { | 480 { |
| 479 var properties = []; | 481 var properties = []; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 * @param {string} nameText | 559 * @param {string} nameText |
| 558 * @param {string} valueText | 560 * @param {string} valueText |
| 559 * @param {boolean} disabled | 561 * @param {boolean} disabled |
| 560 * @param {!WebInspector.SASSSupport.Property} anchorProperty | 562 * @param {!WebInspector.SASSSupport.Property} anchorProperty |
| 561 * @param {boolean} insertBefore | 563 * @param {boolean} insertBefore |
| 562 * @return {!WebInspector.SourceEdit} | 564 * @return {!WebInspector.SourceEdit} |
| 563 */ | 565 */ |
| 564 _insertPropertyEdit: function(nameText, valueText, disabled, anchorProperty,
insertBefore) | 566 _insertPropertyEdit: function(nameText, valueText, disabled, anchorProperty,
insertBefore) |
| 565 { | 567 { |
| 566 var oldRange = insertBefore ? anchorProperty.range.collapseToStart() : a
nchorProperty.range.collapseToEnd(); | 568 var oldRange = insertBefore ? anchorProperty.range.collapseToStart() : a
nchorProperty.range.collapseToEnd(); |
| 567 var indent = (new WebInspector.TextRange(anchorProperty.range.startLine,
0, anchorProperty.range.startLine, anchorProperty.range.startColumn)).extract(t
his.document.text); | 569 var indent = this.document.text.extract(new WebInspector.TextRange(ancho
rProperty.range.startLine, 0, anchorProperty.range.startLine, anchorProperty.ran
ge.startColumn)); |
| 568 if (!/^\s+$/.test(indent)) indent = ""; | 570 if (!/^\s+$/.test(indent)) indent = ""; |
| 569 | 571 |
| 570 var newText = ""; | 572 var newText = ""; |
| 571 var leftComment = disabled ? "/* " : ""; | 573 var leftComment = disabled ? "/* " : ""; |
| 572 var rightComment = disabled ? " */" : ""; | 574 var rightComment = disabled ? " */" : ""; |
| 573 | 575 |
| 574 if (insertBefore) { | 576 if (insertBefore) { |
| 575 newText = String.sprintf("%s%s: %s;%s\n%s", leftComment, nameText, v
alueText, rightComment, indent); | 577 newText = String.sprintf("%s%s: %s;%s\n%s", leftComment, nameText, v
alueText, rightComment, indent); |
| 576 } else { | 578 } else { |
| 577 newText = String.sprintf("\n%s%s%s: %s;%s", indent, leftComment, nam
eText, valueText, rightComment); | 579 newText = String.sprintf("\n%s%s%s: %s;%s", indent, leftComment, nam
eText, valueText, rightComment); |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 803 mapping.set(oldProperty.name, newProperty.name); | 805 mapping.set(oldProperty.name, newProperty.name); |
| 804 mapping.set(oldProperty.value, newProperty.value); | 806 mapping.set(oldProperty.value, newProperty.value); |
| 805 if (oldProperty.name.text.trim() !== newProperty.name.text.trim()) | 807 if (oldProperty.name.text.trim() !== newProperty.name.text.trim()) |
| 806 addChange(T.NameChanged, oldRule, newRule, oldPropertyIndex, newProp
ertyIndex); | 808 addChange(T.NameChanged, oldRule, newRule, oldPropertyIndex, newProp
ertyIndex); |
| 807 if (oldProperty.value.text.trim() !== newProperty.value.text.trim()) | 809 if (oldProperty.value.text.trim() !== newProperty.value.text.trim()) |
| 808 addChange(T.ValueChanged, oldRule, newRule, oldPropertyIndex, newPro
pertyIndex); | 810 addChange(T.ValueChanged, oldRule, newRule, oldPropertyIndex, newPro
pertyIndex); |
| 809 if (oldProperty.disabled !== newProperty.disabled) | 811 if (oldProperty.disabled !== newProperty.disabled) |
| 810 addChange(T.PropertyToggled, oldRule, newRule, oldPropertyIndex, new
PropertyIndex); | 812 addChange(T.PropertyToggled, oldRule, newRule, oldPropertyIndex, new
PropertyIndex); |
| 811 } | 813 } |
| 812 } | 814 } |
| OLD | NEW |