Skip to content

Conversation

Tyriar
Copy link
Contributor

@Tyriar Tyriar commented Aug 9, 2025

Fixes #2606

image

@withfig-bot
Copy link
Contributor

withfig-bot commented Aug 9, 2025

Overview

src/git.ts:

Info:

Single Functions:

postProcess:

 function (out) {
      const output = filterMessages(out);

      if (output.startsWith("fatal:")) {
        return [];
      }

      const lines = output.split("\n");
      const firstLine = lines.length > 0 ? lines[0] : undefined;
      const hashLength =
        firstLine && firstLine.length > 0 ? firstLine.indexOf(" ") : 7;
      const descriptionStart = hashLength + 1;

      return lines.map((line) => {
        return {
          name: line.substring(0, hashLength),
          icon: "fig://icon?type=node",
          description: line.substring(descriptionStart),
        };
      });
    }

postProcess:

 function (out) {
      const output = filterMessages(out);

      if (output.startsWith("fatal:")) {
        return [];
      }

      return output.split("\n").map((line) => {
        return {
          name: line.substring(0, 7),
          icon: "fig://icon?type=node",
          description: line.substring(7),
        };
      });
    }

postProcess:

 function (out) {
      const output = filterMessages(out);

      if (output.startsWith("fatal:")) {
        return [];
      }

      return output.split("\n").map((file) => {
        return {
          // account for conventional commit messages
          name: file.split(":").slice(2).join(":"),
          insertValue: file.split(":")[0],
          icon: `fig://icon?type=node`,
        };
      });
    }

postProcess:

 function (out, tokens) {
      const output = filterMessages(out);

      if (output.startsWith("fatal:")) {
        return [];
      }

      return output.split("\n").map((file) => {
        return {
          name: file,
          insertValue: (!tokens.includes("--") ? "-- " : "") + file,
          icon: `fig://icon?type=file`,
          description: "Staged file",
        };
      });
    }

postProcess:

 function (out) {
      const remoteURLs = out
        .split("\n")
        .reduce<Record<string, string>>((dict, line) => {
          const pair = line.split("\t");
          const remote = pair[0];
          const url = pair[1].split(" ")[0];

          dict[remote] = url;
          return dict;
        }, {});

      return Object.keys(remoteURLs).map((remote) => {
        const url = remoteURLs[remote];
        let icon = "box";
        if (url.includes("github.com")) {
          icon = "github";
        }

        if (url.includes("gitlab.com")) {
          icon = "gitlab";
        }

        if (url.includes("heroku.com")) {
          icon = "heroku";
        }
        return {
          name: remote,
          icon: `fig://icon?type=${icon}`,
          description: "Remote",
        };
      });
    }

postProcess:

 function (output) {
      return output.split("\n").map((tag) => ({
        name: tag,
        icon: "🏷️",
      }));
    }

script:

 function (context) {
      if (context.includes("--staged") || context.includes("--cached")) {
        return [
          "bash",
          "-c",
          `git --no-optional-locks status --short | sed -ne '/^M /p' -e '/A /p'`,
        ];
      } else {
        return [
          "bash",
          "-c",
          `git --no-optional-locks status --short | sed -ne '/M /p' -e '/A /p'`,
        ];
      }
    }

URLs:

  • http://developercertificate.org
  • http://developercertificate.org

@withfig-bot
Copy link
Contributor

Hello @Tyriar,
thank you very much for creating a Pull Request!
Here is a small checklist to get this PR merged as quickly as possible:

  • Do all subcommands / options which take arguments include the args property (args: {})?
  • Are all options modular? E.g. -a -u -x instead of -aux
  • Have all other checks passed?

Please add a 👍 as a reaction to this comment to show that you read this.

@Tyriar Tyriar force-pushed the 2607_commits_hash branch from 7398790 to 583d6c9 Compare August 9, 2025 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[git] gitGenerators.commits doesn't handle extracting commit hash properly
2 participants