@codingame/monaco-vscode-keybindings-service-override 4.1.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/keybindings.js +6 -6
  2. package/package.json +9 -9
  3. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +50 -0
  4. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +24 -0
  5. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +146 -0
  6. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +29 -0
  7. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +250 -0
  8. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +126 -0
  9. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +1597 -0
  10. package/vscode/src/vs/workbench/services/commands/common/commandService.js +79 -0
  11. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +947 -0
  12. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +502 -0
  13. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +14 -0
  14. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +163 -0
  15. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +163 -0
  16. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +126 -0
  17. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +181 -0
  18. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +163 -0
  19. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +163 -0
  20. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +126 -0
  21. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +163 -0
  22. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +126 -0
  23. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +163 -0
  24. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +126 -0
  25. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +163 -0
  26. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +126 -0
  27. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +163 -0
  28. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +134 -0
  29. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +183 -0
  30. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +168 -0
  31. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +163 -0
  32. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +126 -0
  33. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +181 -0
  34. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +163 -0
  35. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +126 -0
  36. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +181 -0
  37. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +163 -0
  38. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +163 -0
  39. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +126 -0
  40. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +163 -0
  41. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +126 -0
  42. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +126 -0
  43. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +126 -0
  44. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +17 -0
  45. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +6 -0
  46. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +23 -0
  47. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +163 -0
  48. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +126 -0
  49. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +163 -0
  50. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +163 -0
  51. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +126 -0
  52. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +163 -0
  53. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +126 -0
  54. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +181 -0
  55. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +163 -0
  56. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +165 -0
  57. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +163 -0
  58. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +163 -0
  59. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +126 -0
  60. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +74 -0
  61. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +110 -0
  62. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +888 -0
  63. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +352 -0
@@ -0,0 +1,126 @@
1
+ import { createScanner } from 'vscode/vscode/vs/base/common/json';
2
+ import { Position } from 'vscode/vscode/vs/editor/common/core/position';
3
+ import { Range } from 'vscode/vscode/vs/editor/common/core/range';
4
+
5
+ class SmartSnippetInserter {
6
+ static hasOpenBrace(scanner) {
7
+ while (scanner.scan() !== 17 ) {
8
+ const kind = scanner.getToken();
9
+ if (kind === 1 ) {
10
+ return true;
11
+ }
12
+ }
13
+ return false;
14
+ }
15
+ static offsetToPosition(model, offset) {
16
+ let offsetBeforeLine = 0;
17
+ const eolLength = model.getEOL().length;
18
+ const lineCount = model.getLineCount();
19
+ for (let lineNumber = 1; lineNumber <= lineCount; lineNumber++) {
20
+ const lineTotalLength = model.getLineLength(lineNumber) + eolLength;
21
+ const offsetAfterLine = offsetBeforeLine + lineTotalLength;
22
+ if (offsetAfterLine > offset) {
23
+ return ( new Position(lineNumber, offset - offsetBeforeLine + 1));
24
+ }
25
+ offsetBeforeLine = offsetAfterLine;
26
+ }
27
+ return ( new Position(lineCount, model.getLineMaxColumn(lineCount)));
28
+ }
29
+ static insertSnippet(model, _position) {
30
+ const desiredPosition = model.getValueLengthInRange(( new Range(1, 1, _position.lineNumber, _position.column)));
31
+ let State;
32
+ ( (function(State) {
33
+ State[State["INVALID"] = 0] = "INVALID";
34
+ State[State["AFTER_OBJECT"] = 1] = "AFTER_OBJECT";
35
+ State[State["BEFORE_OBJECT"] = 2] = "BEFORE_OBJECT";
36
+ })(State || (State = {})));
37
+ let currentState = State.INVALID;
38
+ let lastValidPos = -1;
39
+ let lastValidState = State.INVALID;
40
+ const scanner = createScanner(model.getValue());
41
+ let arrayLevel = 0;
42
+ let objLevel = 0;
43
+ const checkRangeStatus = (pos, state) => {
44
+ if (state !== State.INVALID && arrayLevel === 1 && objLevel === 0) {
45
+ currentState = state;
46
+ lastValidPos = pos;
47
+ lastValidState = state;
48
+ }
49
+ else {
50
+ if (currentState !== State.INVALID) {
51
+ currentState = State.INVALID;
52
+ lastValidPos = scanner.getTokenOffset();
53
+ }
54
+ }
55
+ };
56
+ while (scanner.scan() !== 17 ) {
57
+ const currentPos = scanner.getPosition();
58
+ const kind = scanner.getToken();
59
+ let goodKind = false;
60
+ switch (kind) {
61
+ case 3 :
62
+ goodKind = true;
63
+ arrayLevel++;
64
+ checkRangeStatus(currentPos, State.BEFORE_OBJECT);
65
+ break;
66
+ case 4 :
67
+ goodKind = true;
68
+ arrayLevel--;
69
+ checkRangeStatus(currentPos, State.INVALID);
70
+ break;
71
+ case 5 :
72
+ goodKind = true;
73
+ checkRangeStatus(currentPos, State.BEFORE_OBJECT);
74
+ break;
75
+ case 1 :
76
+ goodKind = true;
77
+ objLevel++;
78
+ checkRangeStatus(currentPos, State.INVALID);
79
+ break;
80
+ case 2 :
81
+ goodKind = true;
82
+ objLevel--;
83
+ checkRangeStatus(currentPos, State.AFTER_OBJECT);
84
+ break;
85
+ case 15 :
86
+ case 14 :
87
+ goodKind = true;
88
+ }
89
+ if (currentPos >= desiredPosition && (currentState !== State.INVALID || lastValidPos !== -1)) {
90
+ let acceptPosition;
91
+ let acceptState;
92
+ if (currentState !== State.INVALID) {
93
+ acceptPosition = (goodKind ? currentPos : scanner.getTokenOffset());
94
+ acceptState = currentState;
95
+ }
96
+ else {
97
+ acceptPosition = lastValidPos;
98
+ acceptState = lastValidState;
99
+ }
100
+ if (acceptState === State.AFTER_OBJECT) {
101
+ return {
102
+ position: this.offsetToPosition(model, acceptPosition),
103
+ prepend: ',',
104
+ append: ''
105
+ };
106
+ }
107
+ else {
108
+ scanner.setPosition(acceptPosition);
109
+ return {
110
+ position: this.offsetToPosition(model, acceptPosition),
111
+ prepend: '',
112
+ append: this.hasOpenBrace(scanner) ? ',' : ''
113
+ };
114
+ }
115
+ }
116
+ }
117
+ const modelLineCount = model.getLineCount();
118
+ return {
119
+ position: ( new Position(modelLineCount, model.getLineMaxColumn(modelLineCount))),
120
+ prepend: '\n[',
121
+ append: ']'
122
+ };
123
+ }
124
+ }
125
+
126
+ export { SmartSnippetInserter };