1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
use scrawl::error::ScrawlError as ScrawlError;
use super::UserError;
impl From<ScrawlError> for UserError {
fn from(error: ScrawlError) -> Self {
const SUMMARY: &str = "Scrawl Error";
match error {
ScrawlError::EditorNotFound => UserError::hardcoded(SUMMARY,
&["Could not determine the user's preferred editor"],
&["Make sure your $EDITOR environment variable is set."]),
ScrawlError::FailedToCreateTempfile => UserError::hardcoded(SUMMARY,
&["Could not create a temporary file to use as a buffer"],
&[]),
ScrawlError::FailedToOpenEditor(editor) => UserError::hardcoded(SUMMARY,
&[&format!("Could not open {} as a text editor", editor)],
&[]),
ScrawlError::FailedToReadIntoString => UserError::hardcoded(SUMMARY,
&["Failed to parse file into valid UTF-8 String."],
&[]),
ScrawlError::FailedToCopyToTempFile(filename) => UserError::hardcoded(SUMMARY,
&[&format!("Failed to copy the contents of the `{}` to the temporary buffer for editing.", filename)],
&["Make sure the file exists."]),
ScrawlError::Other(string) => UserError::simple(&string)
}
}
}