-
-
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] stash pop arg fix #555
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:https://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((line) => {
return {
name: line.substring(0, 7),
icon: "fig:https://icon?type=node",
description: line.substring(7),
};
});
} 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:https://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:https://icon?type=file`,
description: "Staged file",
};
});
} 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:https://icon?type=${icon}`,
description: "Remote",
};
});
} Script: function (output) {
return output.split("\n").map((tag) => ({
name: tag,
icon: "🏷️",
}));
} Script: function (context) {
if (context.includes("--staged") || context.includes("--cached")) {
return `git --no-optional-locks status --short | sed -ne '/^M /p' -e '/A /p'`;
} else {
return `git --no-optional-locks status --short | sed -ne '/M /p' -e '/A /p'`;
}
} Single Scripts:
URLs:
|
Hello @fwesss,
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.
I have been meaning to fix this for so long!!!! Thanks for getting it done @fwesss
git stash pop takes an optional arg. However the spec had an insertValue of 'pop {cursor}' which made it seem as if the arg was mandatory.
This makes it so completing on pop will not add a space or make fig popup again.