diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-03-16 12:20:29 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-03-16 12:20:29 -0700 |
| commit | 0b0ecc662b08a8c05c7427fe80f3a2ec8a14f5af (patch) | |
| tree | 286f0e92bce96804e9f2fe75918fabe10b5f94c4 | |
| parent | a7132eeb1e8044f7d5e3ff8df87a861f0da12045 (diff) | |
| download | rust-0b0ecc662b08a8c05c7427fe80f3a2ec8a14f5af.tar.gz rust-0b0ecc662b08a8c05c7427fe80f3a2ec8a14f5af.zip | |
rustdoc: Escape backslashes
| -rw-r--r-- | src/rustdoc/escape_pass.rs | 18 | ||||
| -rw-r--r-- | src/rustdoc/rustdoc.rc | 3 | ||||
| -rwxr-xr-x | src/rustdoc/rustdoc.rs | 1 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/rustdoc/escape_pass.rs b/src/rustdoc/escape_pass.rs new file mode 100644 index 00000000000..c9dada9026f --- /dev/null +++ b/src/rustdoc/escape_pass.rs @@ -0,0 +1,18 @@ +#[doc = "Escapes text sequences"]; + +export mk_pass; + +fn mk_pass() -> pass { + text_pass::mk_pass("escape", escape) +} + +fn escape(s: str) -> str { + str::replace(s, "\\", "\\\\") +} + +#[test] +fn should_escape_backslashes() { + let s = "\\n"; + let r = escape(s); + assert r == "\\\\n"; +} diff --git a/src/rustdoc/rustdoc.rc b/src/rustdoc/rustdoc.rc index a4df1c7e8ea..111e813b211 100644 --- a/src/rustdoc/rustdoc.rc +++ b/src/rustdoc/rustdoc.rc @@ -38,4 +38,5 @@ mod sort_item_type_pass; mod reexport_pass; mod par; mod page_pass; -mod sectionalize_pass; \ No newline at end of file +mod sectionalize_pass; +mod escape_pass; diff --git a/src/rustdoc/rustdoc.rs b/src/rustdoc/rustdoc.rs index 8c50b492053..ce24f9b1aee 100755 --- a/src/rustdoc/rustdoc.rs +++ b/src/rustdoc/rustdoc.rs @@ -143,6 +143,7 @@ fn run(config: config::config) { tystr_pass::mk_pass(), path_pass::mk_pass(), attr_pass::mk_pass(), + escape_pass::mk_pass(), prune_hidden_pass::mk_pass(), desc_to_brief_pass::mk_pass(), unindent_pass::mk_pass(), |
