diff options
author | Evan Martin <martine@danga.com> | 2012-08-01 23:12:55 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-08-01 23:12:55 (GMT) |
commit | d82e806729bed17bf8fba738ed63eb740863c79e (patch) | |
tree | 5dd194c3aa466e5b0a597efd27e7fb478256c261 /src/util.cc | |
parent | 080314c22ff73fd9e6bc085e0e7053a09a3a6592 (diff) | |
parent | 8b590881013a05fd5017aa94185a02f6b7d09758 (diff) | |
download | Ninja-d82e806729bed17bf8fba738ed63eb740863c79e.zip Ninja-d82e806729bed17bf8fba738ed63eb740863c79e.tar.gz Ninja-d82e806729bed17bf8fba738ed63eb740863c79e.tar.bz2 |
Merge branch 'factor-elide-middle' of git://github.com/polrop/ninja
Conflicts:
src/util.cc
Diffstat (limited to 'src/util.cc')
-rw-r--r-- | src/util.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/util.cc b/src/util.cc index 4ce610b..be2347c 100644 --- a/src/util.cc +++ b/src/util.cc @@ -330,3 +330,15 @@ double GetLoadAverage() { return loadavg[0]; } #endif // _WIN32 + +string ElideMiddle(const string& str, size_t width) { + const int kMargin = 3; // Space for "...". + string result = str; + if (result.size() + kMargin > width) { + int elide_size = (width - kMargin) / 2; + result = result.substr(0, elide_size) + + "..." + + result.substr(result.size() - elide_size, elide_size); + } + return result; +} |