@@ -11,6 +11,31 @@ index 618861a5be..9d4fdea14e 100644
1111+ withBase(path: string ): string;
1212+ withBase(resource: { path: string }): { toString: (skipEncoding?: boolean) => string };
1313 }
14+ diff --git a/src/vs/base/browser/ui/menu/menu.ts b/src/vs/base/browser/ui/menu/menu.ts
15+ index 7913bb42fd..80d5970970 100644
16+ --- a/src/vs/base/browser/ui/menu/menu.ts
17+ +++ b/src/vs/base/browser/ui/menu/menu.ts
18+ @@ -22,7 +22,7 @@ import { isLinux, isMacintosh } from 'vs/base/common/platform';
19+
20+ function createMenuMnemonicRegExp() {
21+ try {
22+ - return new RegExp('\\(&([^\\s&])\\)|(?<!&)&([^\\s&])');
23+ + return new RegExp('\\(&([^\\s&])\\)|([^&]|^)&([^\\s&])');
24+ } catch (err) {
25+ return new RegExp('\uFFFF'); // never match please
26+ }
27+ @@ -799,7 +799,7 @@ export function cleanMnemonic(label: string): string {
28+ return label;
29+ }
30+
31+ - const mnemonicInText = matches[0].charAt(0) === '&';
32+ + const mnemonicInText = matches[3]; // matches[0].charAt(0) === '&';
33+
34+ - return label.replace(regex, mnemonicInText ? '$2' : '').trim();
35+ - }
36+ \ No newline at end of file
37+ + return label.replace(regex, mnemonicInText ? '$2$3' : '').trim();
38+ + }
1439diff --git a/src/vs/base/common/buffer.ts b/src/vs/base/common/buffer.ts
1540index 7b4e9cc8d6..7722cb12c6 100644
1641--- a/src/vs/base/common/buffer.ts
0 commit comments