about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorSheng Hau <shioju12@gmail.com>2017-04-19 00:23:57 +0800
committerSheng Hau <shioju12@gmail.com>2017-04-19 00:25:48 +0800
commit0653b8413e11ea0a75fc86ea3ea08d54762ea594 (patch)
tree53d57156e161299fff9142611e2fa40f47c9cc1b /src
parentb4833a8c581f92e87eeb0f5a6f11719f4eb94092 (diff)
Show exit codes' meanings with the rustfmt help message
Diffstat (limited to 'src')
-rw-r--r--src/bin/rustfmt.rs1
-rw-r--r--src/summary.rs10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/bin/rustfmt.rs b/src/bin/rustfmt.rs
index 227ab849b3c..a802c3360ff 100644
--- a/src/bin/rustfmt.rs
+++ b/src/bin/rustfmt.rs
@@ -202,6 +202,7 @@ fn execute(opts: &Options) -> FmtResult<Summary> {
     match try!(determine_operation(&matches)) {
         Operation::Help => {
             print_usage(opts, "");
+            Summary::print_exit_codes();
             Ok(Summary::new())
         }
         Operation::Version => {
diff --git a/src/summary.rs b/src/summary.rs
index 5846afde7fc..6fc1bbded1d 100644
--- a/src/summary.rs
+++ b/src/summary.rs
@@ -63,4 +63,14 @@ impl Summary {
         self.has_parsing_errors |= other.has_parsing_errors;
         self.has_diff |= other.has_diff;
     }
+
+    pub fn print_exit_codes() {
+        let exit_codes = r#"Exit Codes:
+    0 = No errors
+    1 = Encountered operational errors e.g. an IO error
+    2 = Failed to reformat code because of parsing errors
+    3 = Code is valid, but it is impossible to format it properly
+    4 = Formatted code differs from existing code (write-mode diff only)"#;
+        println!("{}", exit_codes);
+    }
 }