Opening a file with a zero sharing mode makes read-only access exclusive
on Windows. Allow read and write sharing so callers can inspect files
that are already open, such as active log files.
Assume the terminal supports color codes if TERM ends with `-color` or
`-256color`, rather than special-casing a handful of such terminals.
Add tests for terminal color detection.
Co-authored-by: laanwj <126646+laanwj@users.noreply.github.com>
The upstream version of el::base::TypedConfigurations::unsafeGetConfigByRef
accesses uninitialized memory if a key doesn't exist.
Commit b2c59af84d patched the library to
throw in this case, avoiding the invalid access, but the more suitable
pattern, both logically, and as evidenced by the behavior of
unsafeGetConfigByVal, would be to return a const reference to a
default-initialized value with static storage duration.