Index: packages/source_span/README.md |
diff --git a/packages/source_span/README.md b/packages/source_span/README.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4e2547e281f3a7fd96ec085504245332ef124451 |
--- /dev/null |
+++ b/packages/source_span/README.md |
@@ -0,0 +1,15 @@ |
+`source_span` is a library for tracking locations in source code. It's designed |
+to provide a standard representation for source code locations and spans so that |
+disparate packages can easily pass them among one another, and to make it easy |
+to generate human-friendly messages associated with a given piece of code. |
+ |
+The most commonly-used class is the package's namesake, `SourceSpan`. It |
+represents a span of characters in some source file, and is often attached to an |
+object that has been parsed to indicate where it was parsed from. It provides |
+access to the text of the span via `SourceSpan.text` and can be used to produce |
+human-friendly messages using `SourceSpan.message()`. |
+ |
+When parsing code from a file, `SourceFile` is useful. Not only does it provide |
+an efficient means of computing line and column numbers, `SourceFile.span()` |
+returns special `FileSpan`s that are able to provide more context for their |
+error messages. |