-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[git] add
Wildcard Suggestions
#358
Conversation
Overviewdev/git.ts:Info:Script: 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),
};
});
} Script: function (out) {
return out.split("\n").map((aliasLine) => {
const splitted = aliasLine.match(/^(\S+)\s(.*)/);
return { name: splitted[1], description: splitted[2] };
});
} Script: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((file) => {
return {
name: file.split(":")[2],
insertValue: file.split(":")[0],
icon: `fig://icon?type=node`,
};
});
} Script: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((file) => {
return {
name: file,
insertValue: "-- " + file,
icon: `fig://icon?type=file`,
description: "staged file",
};
});
} Script: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((elm) => {
let name = elm.trim();
const parts = elm.match(/\S+/g);
if (parts.length > 1) {
if (parts[0] == "*") {
// Current branch.
return {
name: elm.replace("*", "").trim(),
description: "current branch",
icon: "⭐️",
};
} else if (parts[0] == "+") {
// Branch checked out in another worktree.
name = elm.replace("+", "").trim();
}
}
return {
name,
description: "branch",
icon: "fig://icon?type=git",
};
});
} Script: function (out) {
const remoteURLs = out.split("\n").reduce((dict, line) => {
const pair = line.split("\t");
const remote = pair[0];
console.log(remote, pair);
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",
};
});
} Single Scripts:
URLs:
|
Hello @monkeyank,
Please add a 👍 as a reaction to this comment to show that you read this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Add Wildcard Generator for staging files in
git
What is the current behavior? (You can also link to an open issue here)
Issue #73
Revision of PR #349
What is the new behavior (if this is a feature change)?
Checks for matching paths of committed files and adds a suggestion for a wildcard.