diff --git a/.gitignore b/.gitignore index f0e3bcacb..a81d3520e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,12 @@ -/target -**/*.rs.bk \ No newline at end of file +# will have compiled files and executables +/target/ + +# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries +# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +Cargo.lock + +# These are backup files generated by rustfmt +**/*.rs.bk + +# VSCode configuration +.vscode/ diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..acec0046b --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,45 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "lldb", + "request": "launch", + "name": "Debug executable 'starship'", + "cargo": { + "args": [ + "build", + "--bin=starship", + "--package=starship" + ], + "filter": { + "name": "starship", + "kind": "bin" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + }, + { + "type": "lldb", + "request": "launch", + "name": "Debug unit tests in executable 'starship'", + "cargo": { + "args": [ + "test", + "--no-run", + "--bin=starship", + "--package=starship" + ], + "filter": { + "name": "starship", + "kind": "bin" + } + }, + "args": [], + "cwd": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index e22bf4685..4dba8a84f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
The cross-platform prompt for astronauts.
--- diff --git a/src/char.rs b/src/char.rs deleted file mode 100644 index 7d0998b4a..000000000 --- a/src/char.rs +++ /dev/null @@ -1,20 +0,0 @@ -use std::env; -use ansi_term::Color; - -pub fn display() { - let PROMPT_CHAR = "➜ "; - let COLOR_SUCCESS = Color::Green; - let COLOR_FAILURE = Color::Red; - - let color = match env::var_os("status") { - None | "0" => COLOR_SUCCESS, - _ => COLOR_FAILURE - }; - - // let color = match env::var("status") { - // Ok("0") | _ => COLOR_SUCCESS, - // Ok("1") => COLOR_FAILURE - // }; - - print!("{}", color.paint(PROMPT_CHAR)); -} diff --git a/src/main.rs b/src/main.rs index 8a6cd5fd7..ab7e04e56 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,19 @@ #[macro_use] extern crate clap; -use clap::App; -use std::io; +extern crate ansi_term; -mod char; +mod modules; +mod print; + +use ansi_term::Style; +use clap::App; + +pub struct Segment { + style: Style, + value: String, + prefix: Option