-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Parameterizable dynamic profiles #5571
Comments
I agree it might be nice to separate command-line arguments, from the command line. Although I'd probably opt for something like: {
"commandline": "powershell.exe",
"arguments" : "-nologo -noprofile",
"guid": "{ca3da2bd-de18-40f7-9fc6-234345d1e89f}",
"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png",
"name": "Windows PowerShell No Profile",
"tabTitle": "PS No Profile",
"useAcrylic": true
} Taking this a step further I can envision a scenario launching a profile with WT.exe and specifying dynamic arguments. |
Yeah, we should definitely have a story for this. I'm a bit scarred by Docker's It'll take work to comport all these things, and no small amount of design (to make sure it keeps working for everyone), but I love the idea of |
Yeah, I agree with you guys that just using extra arguments might be more sensible. And if for some reason this wouldn't work because the thing to customize appears in weird places, then one could always write a wrapper script that makes it nice again. |
Just came across another user-story for this (or at least, I think it's this) which is customising parts of the profile other than the command line. Per #1669 (comment), my current full-coverage MSYS2 set of profiles look like {
"guid": "{c1372a71-8d9f-49d7-99db-8cb284c50b98}",
//"commandline": "\"C:/msys64/msys2_shell.cmd\" -defterm -no-start -msys2",
"commandline": "C:/msys64/usr/bin/env.exe MSYS='enable_pcon winsymlinks:nativestrict' CHERE_INVOKING=1 MSYSTEM=MSYS /bin/bash --login",
"icon": "C:/msys64/msys2.ico",
"name": "MSYS2 MSYS"
},
{
"guid": "{2367860f-e6b6-4e91-821a-287e0cceee71}",
//"commandline": "\"C:/msys64/msys2_shell.cmd\" -defterm -no-start -mingw64",
"commandline": "C:/msys64/usr/bin/env.exe MSYS='enable_pcon winsymlinks:nativestrict' CHERE_INVOKING=1 MSYSTEM=MINGW64 /bin/bash --login",
"icon": "C:/msys64/mingw64.ico",
"name": "MSYS2 MinGW 64-bit"
},
{
"guid": "{098bcacf-f271-4b79-b6c3-315bb4240e54}",
//"commandline": "\"C:/msys64/msys2_shell.cmd\" -defterm -no-start -mingw32",
"commandline": "C:/msys64/usr/bin/env.exe MSYS='enable_pcon winsymlinks:nativestrict' CHERE_INVOKING=1 MSYSTEM=MINGW32 /bin/bash --login",
"icon": "C:/msys64/mingw32.ico",
"name": "MSYS2 MinGW 32-bit"
},
{
"guid": "{20ca76e4-8d6f-4d37-8468-dbf02385dd18}",
//"commandline": "\"C:/msys64/msys2_shell.cmd\" -defterm -no-start -ucrt64",
"commandline": "C:/msys64/usr/bin/env.exe MSYS='enable_pcon winsymlinks:nativestrict' CHERE_INVOKING=1 MSYSTEM=UCRT64 /bin/bash --login",
"icon": "C:/msys64/ucrt64.ico",
"name": "MSYS2 UCRT 64-bit"
},
{
"guid": "{87536769-301c-4fee-89c9-c1aa8950e471}",
//"commandline": "\"C:/msys64/msys2_shell.cmd\" -defterm -no-start -clang64",
"commandline": "C:/msys64/usr/bin/env.exe MSYS='enable_pcon winsymlinks:nativestrict' CHERE_INVOKING=1 MSYSTEM=CLANG64 /bin/bash --login",
"icon": "C:/msys64/clang64.ico",
"name": "MSYS2 Clang 64-bit"
}, Apart from the name, they are all varying only in the value of the {
"guid": "{87536769-301c-4fee-89c9-c1aa8950e471}",
"name": "MSYS2 Clang 64-bit",
"source": "Some.Plugin.Profiles.MSYS2",
"options": {
"msystem": "clang64" # Default is msys2
}
} although in this case it's likely to be adding profiles (you would still keep the msys2 profile around for The So yeah, MSYS2 wouldn't need the functionality here, but it does illustrate a non-command-line use-case. |
Description of the new feature/enhancement
Eventually the plugin system will allow to contribute new dynamic profiles. I think it would be useful if there was a way to parameterize dynamic profiles. Currently, the automatically provided
"commandline"
has to be overridden to customize anything. I think this breaks abstraction/layering/encapsulation/... and often there would be no need for it if dynamic profile providers become smarter. See examples below. If the community can't come up with more use cases then it's not worth the effort obviously. This issue is about collecting ideas and opinions.Proposed technical implementation details (optional)
Instead of:
I'd like:
Instead of:
I'd like:
The text was updated successfully, but these errors were encountered: