OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library path.style.windows; | 5 library path.style.windows; |
6 | 6 |
7 import '../parsed_path.dart'; | 7 import '../parsed_path.dart'; |
8 import '../style.dart'; | 8 import '../internal_style.dart'; |
9 | 9 |
10 /// The style for Windows paths. | 10 /// The style for Windows paths. |
11 class WindowsStyle extends Style { | 11 class WindowsStyle extends InternalStyle { |
12 WindowsStyle(); | 12 WindowsStyle(); |
13 | 13 |
14 final name = 'windows'; | 14 final name = 'windows'; |
15 final separator = '\\'; | 15 final separator = '\\'; |
16 final separatorPattern = new RegExp(r'[/\\]'); | 16 final separatorPattern = new RegExp(r'[/\\]'); |
17 final needsSeparatorPattern = new RegExp(r'[^/\\]$'); | 17 final needsSeparatorPattern = new RegExp(r'[^/\\]$'); |
18 final rootPattern = new RegExp(r'^(\\\\[^\\]+\\[^\\/]+|[a-zA-Z]:[/\\])'); | 18 final rootPattern = new RegExp(r'^(\\\\[^\\]+\\[^\\/]+|[a-zA-Z]:[/\\])'); |
19 final relativeRootPattern = new RegExp(r"^[/\\](?![/\\])"); | 19 final relativeRootPattern = new RegExp(r"^[/\\](?![/\\])"); |
20 | 20 |
21 String pathFromUri(Uri uri) { | 21 String pathFromUri(Uri uri) { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 } | 65 } |
66 | 66 |
67 // Get rid of the trailing "\" in "C:\" because the URI constructor will | 67 // Get rid of the trailing "\" in "C:\" because the URI constructor will |
68 // add a separator on its own. | 68 // add a separator on its own. |
69 parsed.parts.insert(0, parsed.root.replaceAll(separatorPattern, "")); | 69 parsed.parts.insert(0, parsed.root.replaceAll(separatorPattern, "")); |
70 | 70 |
71 return new Uri(scheme: 'file', pathSegments: parsed.parts); | 71 return new Uri(scheme: 'file', pathSegments: parsed.parts); |
72 } | 72 } |
73 } | 73 } |
74 } | 74 } |
OLD | NEW |