diff options
author | Shav Kinderlehrer <[email protected]> | 2023-08-10 10:44:06 -0400 |
---|---|---|
committer | Shav Kinderlehrer <[email protected]> | 2023-08-10 10:44:06 -0400 |
commit | 26ba41d08f86fc006edf9c0552205e2851a1060b (patch) | |
tree | 06446a566208b343edfd6ad8eec0258afa39ab73 /source/comp/git.d | |
parent | db53ee6c3bdd8d14c196f06b6377f2418779f82d (diff) | |
download | prim-26ba41d08f86fc006edf9c0552205e2851a1060b.tar.gz prim-26ba41d08f86fc006edf9c0552205e2851a1060b.zip |
Fix rendering issues + add git comp
Diffstat (limited to 'source/comp/git.d')
-rw-r--r-- | source/comp/git.d | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/comp/git.d b/source/comp/git.d new file mode 100644 index 0000000..4f68e95 --- /dev/null +++ b/source/comp/git.d @@ -0,0 +1,28 @@ +module comp.git; + +import std.stdio; +import std.file : dirEntries, SpanMode; +import std.process; +import std.string : strip; + +string gitBranch() { + auto result = execute(["git", "rev-parse", "--abbrev-ref", "HEAD"]); + + if (result.status != 0) + return null; + + return result.output.strip(); +} + +string gitStatus() { + auto result = execute(["git", "status", "--porcelain"]); + + if (result.status != 0) + return null; + + if (result.output.length >= 1) { + return "*"; + } + + return ""; +} |