我正在运行 Zsh 的最新可用稳定版本,并且!按照传统提交样式在 git 提交消息中使用感叹号时遇到错误。https://www.conventionalcommits.org/en/v1.0.0/
\xe2\x86\x92 zsh --version\nzsh 5.8 (x86_64-apple-darwin19.3.0)\nRun Code Online (Sandbox Code Playgroud)\n\n以及 zsh 违规的提交消息:
\n\n\xe2\x86\x92 git commit -am "chore(foo)!: bar" \nzsh: illegal modifier:\nRun Code Online (Sandbox Code Playgroud)\n\n我已经在 Bash、Fish 和 Hyper 中尝试过相同的命令,并且全部成功,没有问题。所以这似乎是 Zsh 的另一个奇怪的细微差别。有人修复 zsh 了吗?我真的很希望能够使用-am速记,而不必进入完整的git commit交互式编辑器。
在Windows 8之前,添加mailto:协议处理程序的方法很简单(如此处所述,以编程方式使用mailto协议注册Windows程序)
从Windows 8开始,旧方法不再有效.似乎Win8强制执行以下密钥:HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\??MAILTO\UserChoice.
它似乎也是ProgID所选应用程序的哈希值,不能伪造,至少不是我能说的.
有没有人有这方面的工作方法,或者可以指向我的实用程序类/代码,它将概述如何以编程方式完成此操作?
对于代码,任何语言都可以.
编辑
我从其他讨论中被要求指定一个用例,所以我认为在这个问题的上下文中它会有所帮助.请考虑此屏幕截图https://github.com/shellscape/Gmail-Notifier-Plus/raw/master/Promotional/prefs-account.png以及允许用户指定mailto处理的复选框.在这个用例中,没有人强迫用户,用户可以控制并做出决定.虽然Windows 8商店应用程序(metro/modern)有一个可用的应用程序清单条目,可以自动执行上述丢失的过程,但桌面应用程序似乎没有任何内容.