Add some notes about Paths + URIs to STYLE.md (#7229)
* Add some notes about Paths + URIs to STYLE.md
* Fix typo
diff --git a/STYLE.md b/STYLE.md
index eb66ef3..3d2d367 100644
--- a/STYLE.md
+++ b/STYLE.md
@@ -24,9 +24,29 @@
Use [boilerplaite](https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#common-boilerplates-for-operator--and-hashcode).
+## URIs and File Paths
+
+Care should be taken when using file paths to ensure compatibility with both
+Windows and POSIX style paths. File URIs should generally be preferred and only
+converted to paths when required to interact with the file system.
+
+`String` variables that hold paths or URIs should be named explicitly with a
+`Path` or `Uri` suffix, such as `appRootPath` or `appRootUri`.
+
+Additionally:
+
+- `Uri.parse()` should not be used for converting file paths to URIs, instead
+ `Uri.file()` should be used
+- `Uri.path` should not be used for extracting a file path from a URI, instead
+ `uri.toFilePath()` should be used
+- In code compiled to run in the browser, `Uri.file()` and `uri.toFilePath()`
+ will assume POSIX-style paths even on Windows, so care should be taken to
+ handle these correctly (if possible, avoid converting between URIs and file
+ paths in code running in a browser)
+
## Text styles
The default text style for DevTools is `Theme.of(context).regularTextStyle`. The default
value for `Theme.of(context).bodyMedium` is equivalent to `Theme.of(context).regularTextStyle`.
-When creating a `Text` widget, this is the default style that will be applied.
\ No newline at end of file
+When creating a `Text` widget, this is the default style that will be applied.