MCPcopy
hub / github.com/di-sukharev/opencommit / _supportsColor

Function _supportsColor

out/cli.cjs:65622–65695  ·  view source on GitHub ↗
(haveStream, { streamIsTTY, sniffFlags = true } = {})

Source from the content-addressed store, hash-verified

65620 }
65621 return {
65622 level,
65623 hasBasic: true,
65624 has256: level >= 2,
65625 has16m: level >= 3
65626 };
65627}
65628function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
65629 const noFlagForceColor = envForceColor();
65630 if (noFlagForceColor !== void 0) {
65631 flagForceColor = noFlagForceColor;
65632 }
65633 const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
65634 if (forceColor === 0) {
65635 return 0;
65636 }
65637 if (sniffFlags) {
65638 if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
65639 return 3;
65640 }
65641 if (hasFlag("color=256")) {
65642 return 2;
65643 }
65644 }
65645 if ("TF_BUILD" in env && "AGENT_NAME" in env) {
65646 return 1;
65647 }
65648 if (haveStream && !streamIsTTY && forceColor === void 0) {
65649 return 0;
65650 }
65651 const min = forceColor || 0;
65652 if (env.TERM === "dumb") {
65653 return min;
65654 }
65655 if (import_node_process3.default.platform === "win32") {
65656 const osRelease = import_node_os.default.release().split(".");
65657 if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
65658 return Number(osRelease[2]) >= 14931 ? 3 : 2;
65659 }
65660 return 1;
65661 }
65662 if ("CI" in env) {
65663 if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
65664 return 3;
65665 }
65666 if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
65667 return 1;
65668 }
65669 return min;
65670 }
65671 if ("TEAMCITY_VERSION" in env) {
65672 return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
65673 }
65674 if (env.COLORTERM === "truecolor") {
65675 return 3;
65676 }
65677 if (env.TERM === "xterm-kitty") {
65678 return 3;
65679 }

Callers 1

createSupportsColorFunction · 0.85

Calls 3

envForceColorFunction · 0.85
hasFlagFunction · 0.85
testMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…