(path)
| 491 | } |
| 492 | |
| 493 | mapFile(path) { |
| 494 | var alienPath = this.path; |
| 495 | var separator = this.separator; |
| 496 | var alienSeparator = this.alienSeparator; |
| 497 | var alien = (alienPath.indexOf(alienSeparator) >= 0); |
| 498 | var s1 = alienPath.split(alien ? alienSeparator : separator); |
| 499 | var c1 = s1.length; |
| 500 | var s2 = path.split(separator); |
| 501 | var c2 = s2.length; |
| 502 | var c = c1 > c2 ? c2 : c1; |
| 503 | for (let i = 1; i <= c; i++) { |
| 504 | if (s1[c1 - i] != s2[c2 - i]) { |
| 505 | if (i > 1) { |
| 506 | let remote = s1.slice(0, c1 - i + 1).join(alien ? alienSeparator : separator); |
| 507 | let locale = s2.slice(0, c2 - i + 1).join(separator); |
| 508 | remote = remote.concat(alien ? alienSeparator : separator); |
| 509 | locale = locale.concat(separator); |
| 510 | var mappings = model.mappings; |
| 511 | mappings.unshift({alien, locale, remote}); |
| 512 | mappings.slice(10); |
| 513 | let state = model.state; |
| 514 | model.doCloseFile(); |
| 515 | model.selectFile(path, state); |
| 516 | } |
| 517 | break; |
| 518 | } |
| 519 | } |
| 520 | } |
| 521 | selectFile(path, state) { |
| 522 | path = this.mapPath(path, true); |
| 523 | if (this.path != path) { |
no test coverage detected