@codingame/monaco-vscode-api 1.76.8 → 1.78.0-next.0

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 (332) hide show
  1. package/README.md +87 -49
  2. package/dist/Bibtex.tmLanguage.js +2 -0
  3. package/dist/Handlebars.tmLanguage.js +2 -0
  4. package/dist/JSON.tmLanguage.js +2 -0
  5. package/dist/JSONC.tmLanguage.js +2 -0
  6. package/dist/JavaScript.tmLanguage.js +2 -0
  7. package/dist/JavaScriptReact.tmLanguage.js +2 -0
  8. package/dist/LaTeX.tmLanguage.js +2 -0
  9. package/dist/MagicPython.tmLanguage.js +2 -0
  10. package/dist/MagicRegExp.tmLanguage.js +2 -0
  11. package/dist/Red-color-theme.js +2 -0
  12. package/dist/Regular Expressions (JavaScript).js +2 -0
  13. package/dist/TeX.tmLanguage.js +2 -0
  14. package/dist/TypeScript.tmLanguage.js +2 -0
  15. package/dist/TypeScriptReact.tmLanguage.js +2 -0
  16. package/dist/_.contribution.js +1 -1
  17. package/dist/abyss-color-theme.js +2 -0
  18. package/dist/api.js +1 -3
  19. package/dist/api2.js +421 -18091
  20. package/dist/asp-vb-net.tmlanguage.js +2 -0
  21. package/dist/assets/diffLineDeleted.mp3 +0 -0
  22. package/dist/assets/diffLineInserted.mp3 +0 -0
  23. package/dist/assets/diffLineModified.mp3 +0 -0
  24. package/dist/audioCue.js +108 -478
  25. package/dist/bat.js +9 -0
  26. package/dist/batchfile.js +2 -0
  27. package/dist/batchfile.tmLanguage.js +2 -0
  28. package/dist/button.js +35 -8
  29. package/dist/c.js +2 -0
  30. package/dist/c.tmLanguage.js +2 -0
  31. package/dist/clojure.js +8 -0
  32. package/dist/clojure.tmLanguage.js +2 -0
  33. package/dist/coffeescript.js +9 -0
  34. package/dist/coffeescript.tmLanguage.js +2 -0
  35. package/dist/coffeescript2.js +2 -0
  36. package/dist/configuration.d.ts +269 -4
  37. package/dist/configuration.js +4326 -328
  38. package/dist/configuration2.js +14 -324
  39. package/dist/cpp-grammar-bailout.tmLanguage.js +2 -0
  40. package/dist/cpp.embedded.macro.tmLanguage.js +2 -0
  41. package/dist/cpp.js +16 -0
  42. package/dist/cpp.tmLanguage.js +2 -0
  43. package/dist/cpp2.js +2 -0
  44. package/dist/csharp.js +9 -0
  45. package/dist/csharp.tmLanguage.js +2 -0
  46. package/dist/csharp2.js +2 -0
  47. package/dist/cshtml.tmLanguage.js +2 -0
  48. package/dist/css.js +8 -0
  49. package/dist/css.tmLanguage.js +2 -0
  50. package/dist/cuda-cpp.tmLanguage.js +2 -0
  51. package/dist/dark_plus.js +2 -0
  52. package/dist/dark_plus_experimental.js +2 -0
  53. package/dist/dark_vs.js +2 -0
  54. package/dist/dart.js +8 -0
  55. package/dist/dart.tmLanguage.js +2 -0
  56. package/dist/debug.js +12115 -12209
  57. package/dist/default-extensions/bat.js +12 -0
  58. package/dist/default-extensions/clojure.js +11 -0
  59. package/dist/default-extensions/coffeescript.js +12 -0
  60. package/dist/default-extensions/cpp.js +19 -0
  61. package/dist/default-extensions/csharp.js +12 -0
  62. package/dist/default-extensions/css.js +11 -0
  63. package/dist/default-extensions/dart.js +11 -0
  64. package/dist/default-extensions/diff.js +11 -0
  65. package/dist/default-extensions/docker.js +11 -0
  66. package/dist/default-extensions/fsharp.js +12 -0
  67. package/dist/default-extensions/go.js +11 -0
  68. package/dist/default-extensions/groovy.js +12 -0
  69. package/dist/default-extensions/handlebars.js +11 -0
  70. package/dist/default-extensions/hlsl.js +11 -0
  71. package/dist/default-extensions/html.js +13 -0
  72. package/dist/default-extensions/ini.js +13 -0
  73. package/dist/default-extensions/java.js +12 -0
  74. package/dist/default-extensions/javascript.js +17 -0
  75. package/dist/default-extensions/json.js +13 -0
  76. package/dist/default-extensions/julia.js +11 -0
  77. package/dist/default-extensions/latex.js +14 -0
  78. package/dist/default-extensions/less.js +11 -0
  79. package/dist/default-extensions/log.js +10 -0
  80. package/dist/default-extensions/lua.js +11 -0
  81. package/dist/default-extensions/make.js +11 -0
  82. package/dist/default-extensions/markdown-basics.js +12 -0
  83. package/dist/default-extensions/objective-c.js +13 -0
  84. package/dist/default-extensions/perl.js +13 -0
  85. package/dist/default-extensions/php.js +13 -0
  86. package/dist/default-extensions/powershell.js +11 -0
  87. package/dist/default-extensions/pug.js +11 -0
  88. package/dist/default-extensions/python.js +12 -0
  89. package/dist/default-extensions/r.js +11 -0
  90. package/dist/default-extensions/razor.js +11 -0
  91. package/dist/default-extensions/ruby.js +11 -0
  92. package/dist/default-extensions/rust.js +11 -0
  93. package/dist/default-extensions/scss.js +12 -0
  94. package/dist/default-extensions/shaderlab.js +11 -0
  95. package/dist/default-extensions/shellscript.js +11 -0
  96. package/dist/default-extensions/sql.js +11 -0
  97. package/dist/default-extensions/swift.js +12 -0
  98. package/dist/default-extensions/theme-abyss.js +10 -0
  99. package/dist/default-extensions/theme-defaults.js +18 -0
  100. package/dist/default-extensions/theme-kimbie-dark.js +10 -0
  101. package/dist/default-extensions/theme-monokai-dimmed.js +10 -0
  102. package/dist/default-extensions/theme-monokai.js +10 -0
  103. package/dist/default-extensions/theme-quietlight.js +10 -0
  104. package/dist/default-extensions/theme-red.js +10 -0
  105. package/dist/default-extensions/theme-seti.js +10 -0
  106. package/dist/default-extensions/theme-solarized-dark.js +10 -0
  107. package/dist/default-extensions/theme-solarized-light.js +10 -0
  108. package/dist/default-extensions/theme-tomorrow-night-blue.js +10 -0
  109. package/dist/default-extensions/typescript-basics.js +17 -0
  110. package/dist/default-extensions/vb.js +12 -0
  111. package/dist/default-extensions/xml.js +13 -0
  112. package/dist/default-extensions/yaml.js +13 -0
  113. package/dist/dialogs.js +12 -216
  114. package/dist/diff.js +8 -0
  115. package/dist/diff.tmLanguage.js +2 -0
  116. package/dist/dimmed-monokai-color-theme.js +2 -0
  117. package/dist/docker.js +8 -0
  118. package/dist/docker.tmLanguage.js +2 -0
  119. package/dist/dom.js +101 -0
  120. package/dist/extensionManagement.js +4 -0
  121. package/dist/extensions.d.ts +368 -23
  122. package/dist/extensions.js +4 -85
  123. package/dist/extensionsRegistry.js +63 -64
  124. package/dist/files.d.ts +845 -0
  125. package/dist/files.js +1805 -1151
  126. package/dist/files2.js +32 -0
  127. package/dist/fsharp.js +9 -0
  128. package/dist/fsharp.tmLanguage.js +2 -0
  129. package/dist/fsharp2.js +2 -0
  130. package/dist/go.js +8 -0
  131. package/dist/go.tmLanguage.js +2 -0
  132. package/dist/groovy.js +9 -0
  133. package/dist/groovy.tmLanguage.js +2 -0
  134. package/dist/groovy2.js +2 -0
  135. package/dist/handlebars.js +8 -0
  136. package/dist/hc_black.js +2 -0
  137. package/dist/hc_light.js +2 -0
  138. package/dist/hlsl.js +8 -0
  139. package/dist/hlsl.tmLanguage.js +2 -0
  140. package/dist/html-derivative.tmLanguage.js +2 -0
  141. package/dist/html.js +10 -0
  142. package/dist/html.tmLanguage.js +2 -0
  143. package/dist/html.tmLanguage2.js +2 -0
  144. package/dist/html2.js +2 -0
  145. package/dist/ini.js +10 -0
  146. package/dist/ini.language-configuration.js +2 -0
  147. package/dist/ini.tmLanguage.js +2 -0
  148. package/dist/injection.js +1 -1
  149. package/dist/java.js +9 -0
  150. package/dist/java.tmLanguage.js +2 -0
  151. package/dist/java2.js +2 -0
  152. package/dist/javascript-language-configuration.js +2 -0
  153. package/dist/javascript.js +14 -0
  154. package/dist/javascript2.js +2 -0
  155. package/dist/jsdoc.js.injection.tmLanguage.js +2 -0
  156. package/dist/jsdoc.ts.injection.tmLanguage.js +2 -0
  157. package/dist/json.js +10 -0
  158. package/dist/jsonErrorMessages.js +1 -1
  159. package/dist/julia.js +8 -0
  160. package/dist/julia.tmLanguage.js +2 -0
  161. package/dist/keybindings.d.ts +1 -10
  162. package/dist/keybindings.js +291 -353
  163. package/dist/kimbie-dark-color-theme.js +2 -0
  164. package/dist/language-configuration.js +2 -0
  165. package/dist/language-configuration10.js +2 -0
  166. package/dist/language-configuration11.js +2 -0
  167. package/dist/language-configuration12.js +2 -0
  168. package/dist/language-configuration13.js +2 -0
  169. package/dist/language-configuration14.js +2 -0
  170. package/dist/language-configuration15.js +2 -0
  171. package/dist/language-configuration16.js +2 -0
  172. package/dist/language-configuration17.js +2 -0
  173. package/dist/language-configuration18.js +2 -0
  174. package/dist/language-configuration19.js +2 -0
  175. package/dist/language-configuration2.js +2 -0
  176. package/dist/language-configuration20.js +2 -0
  177. package/dist/language-configuration21.js +2 -0
  178. package/dist/language-configuration22.js +2 -0
  179. package/dist/language-configuration23.js +2 -0
  180. package/dist/language-configuration24.js +2 -0
  181. package/dist/language-configuration25.js +2 -0
  182. package/dist/language-configuration26.js +2 -0
  183. package/dist/language-configuration27.js +2 -0
  184. package/dist/language-configuration28.js +2 -0
  185. package/dist/language-configuration29.js +2 -0
  186. package/dist/language-configuration3.js +2 -0
  187. package/dist/language-configuration30.js +2 -0
  188. package/dist/language-configuration31.js +2 -0
  189. package/dist/language-configuration32.js +2 -0
  190. package/dist/language-configuration33.js +2 -0
  191. package/dist/language-configuration34.js +2 -0
  192. package/dist/language-configuration35.js +2 -0
  193. package/dist/language-configuration36.js +2 -0
  194. package/dist/language-configuration37.js +2 -0
  195. package/dist/language-configuration38.js +2 -0
  196. package/dist/language-configuration39.js +2 -0
  197. package/dist/language-configuration4.js +2 -0
  198. package/dist/language-configuration5.js +2 -0
  199. package/dist/language-configuration6.js +2 -0
  200. package/dist/language-configuration7.js +2 -0
  201. package/dist/language-configuration8.js +2 -0
  202. package/dist/language-configuration9.js +2 -0
  203. package/dist/languageService.js +5 -6
  204. package/dist/languages.d.ts +66 -1
  205. package/dist/languages.js +924 -5
  206. package/dist/latex.js +11 -0
  207. package/dist/layout.contribution.darwin.js +1 -1
  208. package/dist/layout.contribution.linux.js +1 -1
  209. package/dist/layout.contribution.win.js +1 -1
  210. package/dist/layout.js +4 -10
  211. package/dist/layoutService.js +10 -2
  212. package/dist/less.js +8 -0
  213. package/dist/less.tmLanguage.js +2 -0
  214. package/dist/light_plus.js +2 -0
  215. package/dist/light_plus_experimental.js +2 -0
  216. package/dist/light_vs.js +2 -0
  217. package/dist/log.js +7 -0
  218. package/dist/log.tmLanguage.js +2 -0
  219. package/dist/lua.js +8 -0
  220. package/dist/lua.tmLanguage.js +2 -0
  221. package/dist/make.js +8 -0
  222. package/dist/make.tmLanguage.js +2 -0
  223. package/dist/markdown-basics.js +9 -0
  224. package/dist/markdown-latex-combined.tmLanguage.js +2 -0
  225. package/dist/markdown.js +2 -0
  226. package/dist/markdown.tmLanguage.js +2 -0
  227. package/dist/memento.js +91 -0
  228. package/dist/modelEditor.d.ts +1480 -138
  229. package/dist/modelEditor.js +8700 -326
  230. package/dist/monaco.d.ts +987 -15
  231. package/dist/monaco.js +40 -10
  232. package/dist/monokai-color-theme.js +2 -0
  233. package/dist/notifications.js +86 -64
  234. package/dist/objective-c.js +10 -0
  235. package/dist/objective-c.tmLanguage.js +2 -0
  236. package/dist/objective-c__.tmLanguage.js +2 -0
  237. package/dist/perl.js +10 -0
  238. package/dist/perl.language-configuration.js +2 -0
  239. package/dist/perl.tmLanguage.js +2 -0
  240. package/dist/perl6.language-configuration.js +2 -0
  241. package/dist/perl6.tmLanguage.js +2 -0
  242. package/dist/php.js +10 -0
  243. package/dist/php.tmLanguage.js +2 -0
  244. package/dist/php2.js +2 -0
  245. package/dist/platform.js +105 -0
  246. package/dist/platform.tmLanguage.js +2 -0
  247. package/dist/polyfill.js +51922 -11067
  248. package/dist/powershell.js +8 -0
  249. package/dist/powershell.tmLanguage.js +2 -0
  250. package/dist/preferences.js +2532 -0
  251. package/dist/properties.language-configuration.js +2 -0
  252. package/dist/pug.js +8 -0
  253. package/dist/pug.tmLanguage.js +2 -0
  254. package/dist/python.js +9 -0
  255. package/dist/quietlight-color-theme.js +2 -0
  256. package/dist/r.js +8 -0
  257. package/dist/r.tmLanguage.js +2 -0
  258. package/dist/razor.js +8 -0
  259. package/dist/rollup-vsix-plugin.d.ts +8 -0
  260. package/dist/rollup-vsix-plugin.js +104 -0
  261. package/dist/ruby.js +8 -0
  262. package/dist/ruby.tmLanguage.js +2 -0
  263. package/dist/rust.js +8 -0
  264. package/dist/rust.tmLanguage.js +2 -0
  265. package/dist/sassdoc.tmLanguage.js +2 -0
  266. package/dist/scss.js +9 -0
  267. package/dist/scss.tmLanguage.js +2 -0
  268. package/dist/services.d.ts +12988 -12840
  269. package/dist/services.js +1 -1
  270. package/dist/shaderlab.js +8 -0
  271. package/dist/shaderlab.tmLanguage.js +2 -0
  272. package/dist/shell-unix-bash.tmLanguage.js +2 -0
  273. package/dist/shellscript.js +8 -0
  274. package/dist/snippets.js +6 -11
  275. package/dist/snippetsService.js +7 -10
  276. package/dist/solarized-dark-color-theme.js +2 -0
  277. package/dist/solarized-light-color-theme.js +2 -0
  278. package/dist/sql.js +8 -0
  279. package/dist/sql.tmLanguage.js +2 -0
  280. package/dist/swift.js +9 -0
  281. package/dist/swift.tmLanguage.js +2 -0
  282. package/dist/swift2.js +2 -0
  283. package/dist/tags-language-configuration.js +2 -0
  284. package/dist/textmate.d.ts +0 -264
  285. package/dist/textmate.js +402 -66
  286. package/dist/theme-abyss.js +7 -0
  287. package/dist/theme-defaults.js +15 -0
  288. package/dist/theme-kimbie-dark.js +7 -0
  289. package/dist/theme-monokai-dimmed.js +7 -0
  290. package/dist/theme-monokai.js +7 -0
  291. package/dist/theme-quietlight.js +7 -0
  292. package/dist/theme-red.js +7 -0
  293. package/dist/theme-seti.js +7 -0
  294. package/dist/theme-solarized-dark.js +7 -0
  295. package/dist/theme-solarized-light.js +7 -0
  296. package/dist/theme-tomorrow-night-blue.js +7 -0
  297. package/dist/theme.js +6 -11
  298. package/dist/{contextkeys.js → theme2.js} +165 -143
  299. package/dist/tokenClassificationRegistry.js +46 -2
  300. package/dist/tomorrow-night-blue-color-theme.js +2 -0
  301. package/dist/typescript-basics.js +14 -0
  302. package/dist/typescript.js +2 -0
  303. package/dist/unboundCommands.js +41 -0
  304. package/dist/utils.js +345 -0
  305. package/dist/vb.js +9 -0
  306. package/dist/vb2.js +2 -0
  307. package/dist/vs-seti-icon-theme.js +2 -0
  308. package/dist/vs_minimal-icon-theme.js +2 -0
  309. package/dist/xml.js +10 -0
  310. package/dist/xml.language-configuration.js +2 -0
  311. package/dist/xml.tmLanguage.js +2 -0
  312. package/dist/xsl.language-configuration.js +2 -0
  313. package/dist/xsl.tmLanguage.js +2 -0
  314. package/dist/yaml.js +10 -0
  315. package/dist/yaml.tmLanguage.js +2 -0
  316. package/package.json +50 -33
  317. package/dist/async.js +0 -301
  318. package/dist/cancellation.js +0 -3
  319. package/dist/configurationRegistry.js +0 -441
  320. package/dist/extensionResourceLoader.js +0 -96
  321. package/dist/labels.js +0 -14
  322. package/dist/languageConfiguration.js +0 -919
  323. package/dist/missing-services.js +0 -5554
  324. package/dist/resources.js +0 -197
  325. package/dist/services2.js +0 -3467
  326. package/dist/textFileEditorModel.js +0 -2985
  327. package/dist/tokenClassification.d.ts +0 -7
  328. package/dist/tokenClassification.js +0 -277
  329. package/dist/variableResolver.js +0 -1711
  330. package/dist/workbenchThemeService.js +0 -46
  331. package/dist/workspaceContext.js +0 -50
  332. /package/dist/{languageConfiguration.d.ts → preferences.d.ts} +0 -0
@@ -1,327 +1,8 @@
1
- import { Y as parseTree, Z as findNodeAtLocation, _ as createScanner } from './polyfill.js';
2
- function format(documentText, range, options) {
3
- let initialIndentLevel;
4
- let formatText;
5
- let formatTextStart;
6
- let rangeStart;
7
- let rangeEnd;
8
- if (range) {
9
- rangeStart = range.offset;
10
- rangeEnd = rangeStart + range.length;
11
- formatTextStart = rangeStart;
12
- while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) {
13
- formatTextStart--;
14
- }
15
- let endOffset = rangeEnd;
16
- while (endOffset < documentText.length && !isEOL(documentText, endOffset)) {
17
- endOffset++;
18
- }
19
- formatText = documentText.substring(formatTextStart, endOffset);
20
- initialIndentLevel = computeIndentLevel(formatText, options);
21
- }
22
- else {
23
- formatText = documentText;
24
- initialIndentLevel = 0;
25
- formatTextStart = 0;
26
- rangeStart = 0;
27
- rangeEnd = documentText.length;
28
- }
29
- const eol = getEOL(options, documentText);
30
- let lineBreak = false;
31
- let indentLevel = 0;
32
- let indentValue;
33
- if (options.insertSpaces) {
34
- indentValue = repeat(' ', options.tabSize || 4);
35
- }
36
- else {
37
- indentValue = '\t';
38
- }
39
- const scanner = createScanner(formatText, false);
40
- let hasError = false;
41
- function newLineAndIndent() {
42
- return eol + repeat(indentValue, initialIndentLevel + indentLevel);
43
- }
44
- function scanNext() {
45
- let token = scanner.scan();
46
- lineBreak = false;
47
- while (token === 15 || token === 14 ) {
48
- lineBreak = lineBreak || (token === 14 );
49
- token = scanner.scan();
50
- }
51
- hasError = token === 16 || scanner.getTokenError() !== 0 ;
52
- return token;
53
- }
54
- const editOperations = [];
55
- function addEdit(text, startOffset, endOffset) {
56
- if (!hasError && startOffset < rangeEnd && endOffset > rangeStart && documentText.substring(startOffset, endOffset) !== text) {
57
- editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text });
58
- }
59
- }
60
- let firstToken = scanNext();
61
- if (firstToken !== 17 ) {
62
- const firstTokenStart = scanner.getTokenOffset() + formatTextStart;
63
- const initialIndent = repeat(indentValue, initialIndentLevel);
64
- addEdit(initialIndent, formatTextStart, firstTokenStart);
65
- }
66
- while (firstToken !== 17 ) {
67
- let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
68
- let secondToken = scanNext();
69
- let replaceContent = '';
70
- while (!lineBreak && (secondToken === 12 || secondToken === 13 )) {
71
- const commentTokenStart = scanner.getTokenOffset() + formatTextStart;
72
- addEdit(' ', firstTokenEnd, commentTokenStart);
73
- firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
74
- replaceContent = secondToken === 12 ? newLineAndIndent() : '';
75
- secondToken = scanNext();
76
- }
77
- if (secondToken === 2 ) {
78
- if (firstToken !== 1 ) {
79
- indentLevel--;
80
- replaceContent = newLineAndIndent();
81
- }
82
- }
83
- else if (secondToken === 4 ) {
84
- if (firstToken !== 3 ) {
85
- indentLevel--;
86
- replaceContent = newLineAndIndent();
87
- }
88
- }
89
- else {
90
- switch (firstToken) {
91
- case 3 :
92
- case 1 :
93
- indentLevel++;
94
- replaceContent = newLineAndIndent();
95
- break;
96
- case 5 :
97
- case 12 :
98
- replaceContent = newLineAndIndent();
99
- break;
100
- case 13 :
101
- if (lineBreak) {
102
- replaceContent = newLineAndIndent();
103
- }
104
- else {
105
- replaceContent = ' ';
106
- }
107
- break;
108
- case 6 :
109
- replaceContent = ' ';
110
- break;
111
- case 10 :
112
- if (secondToken === 6 ) {
113
- replaceContent = '';
114
- break;
115
- }
116
- case 7 :
117
- case 8 :
118
- case 9 :
119
- case 11 :
120
- case 2 :
121
- case 4 :
122
- if (secondToken === 12 || secondToken === 13 ) {
123
- replaceContent = ' ';
124
- }
125
- else if (secondToken !== 5 && secondToken !== 17 ) {
126
- hasError = true;
127
- }
128
- break;
129
- case 16 :
130
- hasError = true;
131
- break;
132
- }
133
- if (lineBreak && (secondToken === 12 || secondToken === 13 )) {
134
- replaceContent = newLineAndIndent();
135
- }
136
- }
137
- const secondTokenStart = scanner.getTokenOffset() + formatTextStart;
138
- addEdit(replaceContent, firstTokenEnd, secondTokenStart);
139
- firstToken = secondToken;
140
- }
141
- return editOperations;
142
- }
143
- function repeat(s, count) {
144
- let result = '';
145
- for (let i = 0; i < count; i++) {
146
- result += s;
147
- }
148
- return result;
149
- }
150
- function computeIndentLevel(content, options) {
151
- let i = 0;
152
- let nChars = 0;
153
- const tabSize = options.tabSize || 4;
154
- while (i < content.length) {
155
- const ch = content.charAt(i);
156
- if (ch === ' ') {
157
- nChars++;
158
- }
159
- else if (ch === '\t') {
160
- nChars += tabSize;
161
- }
162
- else {
163
- break;
164
- }
165
- i++;
166
- }
167
- return Math.floor(nChars / tabSize);
168
- }
169
- function getEOL(options, text) {
170
- for (let i = 0; i < text.length; i++) {
171
- const ch = text.charAt(i);
172
- if (ch === '\r') {
173
- if (i + 1 < text.length && text.charAt(i + 1) === '\n') {
174
- return '\r\n';
175
- }
176
- return '\r';
177
- }
178
- else if (ch === '\n') {
179
- return '\n';
180
- }
181
- }
182
- return (options && options.eol) || '\n';
183
- }
184
- function isEOL(text, offset) {
185
- return '\r\n'.indexOf(text.charAt(offset)) !== -1;
186
- }
187
- function setProperty(text, originalPath, value, formattingOptions, getInsertionIndex) {
188
- const path = originalPath.slice();
189
- const errors = [];
190
- const root = parseTree(text, errors);
191
- let parent = undefined;
192
- let lastSegment = undefined;
193
- while (path.length > 0) {
194
- lastSegment = path.pop();
195
- parent = findNodeAtLocation(root, path);
196
- if (parent === undefined && value !== undefined) {
197
- if (typeof lastSegment === 'string') {
198
- value = { [lastSegment]: value };
199
- }
200
- else {
201
- value = [value];
202
- }
203
- }
204
- else {
205
- break;
206
- }
207
- }
208
- if (!parent) {
209
- if (value === undefined) {
210
- throw new Error('Can not delete in empty document');
211
- }
212
- return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, formattingOptions);
213
- }
214
- else if (parent.type === 'object' && typeof lastSegment === 'string' && Array.isArray(parent.children)) {
215
- const existing = findNodeAtLocation(parent, [lastSegment]);
216
- if (existing !== undefined) {
217
- if (value === undefined) {
218
- if (!existing.parent) {
219
- throw new Error('Malformed AST');
220
- }
221
- const propertyIndex = parent.children.indexOf(existing.parent);
222
- let removeBegin;
223
- let removeEnd = existing.parent.offset + existing.parent.length;
224
- if (propertyIndex > 0) {
225
- const previous = parent.children[propertyIndex - 1];
226
- removeBegin = previous.offset + previous.length;
227
- }
228
- else {
229
- removeBegin = parent.offset + 1;
230
- if (parent.children.length > 1) {
231
- const next = parent.children[1];
232
- removeEnd = next.offset;
233
- }
234
- }
235
- return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: '' }, formattingOptions);
236
- }
237
- else {
238
- return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, formattingOptions);
239
- }
240
- }
241
- else {
242
- if (value === undefined) {
243
- return [];
244
- }
245
- const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`;
246
- const index = getInsertionIndex ? getInsertionIndex(( parent.children.map(p => p.children[0].value))) : parent.children.length;
247
- let edit;
248
- if (index > 0) {
249
- const previous = parent.children[index - 1];
250
- edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };
251
- }
252
- else if (parent.children.length === 0) {
253
- edit = { offset: parent.offset + 1, length: 0, content: newProperty };
254
- }
255
- else {
256
- edit = { offset: parent.offset + 1, length: 0, content: newProperty + ',' };
257
- }
258
- return withFormatting(text, edit, formattingOptions);
259
- }
260
- }
261
- else if (parent.type === 'array' && typeof lastSegment === 'number' && Array.isArray(parent.children)) {
262
- if (value !== undefined) {
263
- const newProperty = `${JSON.stringify(value)}`;
264
- let edit;
265
- if (parent.children.length === 0 || lastSegment === 0) {
266
- edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + ',' };
267
- }
268
- else {
269
- const index = lastSegment === -1 || lastSegment > parent.children.length ? parent.children.length : lastSegment;
270
- const previous = parent.children[index - 1];
271
- edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };
272
- }
273
- return withFormatting(text, edit, formattingOptions);
274
- }
275
- else {
276
- const removalIndex = lastSegment;
277
- const toRemove = parent.children[removalIndex];
278
- let edit;
279
- if (parent.children.length === 1) {
280
- edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' };
281
- }
282
- else if (parent.children.length - 1 === removalIndex) {
283
- const previous = parent.children[removalIndex - 1];
284
- const offset = previous.offset + previous.length;
285
- const parentEndOffset = parent.offset + parent.length;
286
- edit = { offset, length: parentEndOffset - 2 - offset, content: '' };
287
- }
288
- else {
289
- edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' };
290
- }
291
- return withFormatting(text, edit, formattingOptions);
292
- }
293
- }
294
- else {
295
- throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);
296
- }
297
- }
298
- function withFormatting(text, edit, formattingOptions) {
299
- let newText = applyEdit(text, edit);
300
- let begin = edit.offset;
301
- let end = edit.offset + edit.content.length;
302
- if (edit.length === 0 || edit.content.length === 0) {
303
- while (begin > 0 && !isEOL(newText, begin - 1)) {
304
- begin--;
305
- }
306
- while (end < newText.length && !isEOL(newText, end)) {
307
- end++;
308
- }
309
- }
310
- const edits = format(newText, { offset: begin, length: end - begin }, formattingOptions);
311
- for (let i = edits.length - 1; i >= 0; i--) {
312
- const curr = edits[i];
313
- newText = applyEdit(newText, curr);
314
- begin = Math.min(begin, curr.offset);
315
- end = Math.max(end, curr.offset + curr.length);
316
- end += curr.content.length - curr.length;
317
- }
318
- const editLength = text.length - (newText.length - end) - begin;
319
- return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }];
320
- }
321
- function applyEdit(text, edit) {
322
- return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);
323
- }
1
+ import { refineServiceDecorator } from './polyfill.js';
2
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
324
3
  const FOLDER_CONFIG_FOLDER_NAME = '.vscode';
4
+ const FOLDER_SETTINGS_NAME = 'settings';
5
+ const FOLDER_SETTINGS_PATH = `${FOLDER_CONFIG_FOLDER_NAME}/${FOLDER_SETTINGS_NAME}.json`;
325
6
  const defaultSettingsSchemaId = 'vscode://schemas/settings/default';
326
7
  const userSettingsSchemaId = 'vscode://schemas/settings/user';
327
8
  const profileSettingsSchemaId = 'vscode://schemas/settings/profile';
@@ -329,6 +10,13 @@ const machineSettingsSchemaId = 'vscode://schemas/settings/machine';
329
10
  const workspaceSettingsSchemaId = 'vscode://schemas/settings/workspace';
330
11
  const folderSettingsSchemaId = 'vscode://schemas/settings/folder';
331
12
  const launchSchemaId = 'vscode://schemas/launch';
13
+ const tasksSchemaId = 'vscode://schemas/tasks';
14
+ const PROFILE_SCOPES = [2 , 3 , 4 , 5 , 6 ];
15
+ const LOCAL_MACHINE_PROFILE_SCOPES = [3 , 4 , 5 ];
16
+ const LOCAL_MACHINE_SCOPES = [1 , ...LOCAL_MACHINE_PROFILE_SCOPES];
17
+ const REMOTE_MACHINE_SCOPES = [2 , 3 , 4 , 5 , 6 ];
18
+ const WORKSPACE_SCOPES = [3 , 4 , 5 , 6 ];
19
+ const FOLDER_SCOPES = [4 , 5 , 6 ];
332
20
  const TASKS_CONFIGURATION_KEY = 'tasks';
333
21
  const LAUNCH_CONFIGURATION_KEY = 'launch';
334
22
  const WORKSPACE_STANDALONE_CONFIGURATIONS = Object.create(null);
@@ -336,4 +24,6 @@ WORKSPACE_STANDALONE_CONFIGURATIONS[TASKS_CONFIGURATION_KEY] = `${FOLDER_CONFIG_
336
24
  WORKSPACE_STANDALONE_CONFIGURATIONS[LAUNCH_CONFIGURATION_KEY] = `${FOLDER_CONFIG_FOLDER_NAME}/${LAUNCH_CONFIGURATION_KEY}.json`;
337
25
  const USER_STANDALONE_CONFIGURATIONS = Object.create(null);
338
26
  USER_STANDALONE_CONFIGURATIONS[TASKS_CONFIGURATION_KEY] = `${TASKS_CONFIGURATION_KEY}.json`;
339
- export { defaultSettingsSchemaId as d, folderSettingsSchemaId as f, launchSchemaId as l, machineSettingsSchemaId as m, profileSettingsSchemaId as p, setProperty as s, userSettingsSchemaId as u, workspaceSettingsSchemaId as w };
27
+ const IWorkbenchConfigurationService = refineServiceDecorator(IConfigurationService);
28
+ const TASKS_DEFAULT = '{\n\t\"version\": \"2.0.0\",\n\t\"tasks\": []\n}';
29
+ export { FOLDER_CONFIG_FOLDER_NAME, FOLDER_SCOPES, FOLDER_SETTINGS_NAME, FOLDER_SETTINGS_PATH, IWorkbenchConfigurationService, LAUNCH_CONFIGURATION_KEY, LOCAL_MACHINE_PROFILE_SCOPES, LOCAL_MACHINE_SCOPES, PROFILE_SCOPES, REMOTE_MACHINE_SCOPES, TASKS_CONFIGURATION_KEY, TASKS_DEFAULT, USER_STANDALONE_CONFIGURATIONS, WORKSPACE_SCOPES, WORKSPACE_STANDALONE_CONFIGURATIONS, defaultSettingsSchemaId, folderSettingsSchemaId, launchSchemaId, machineSettingsSchemaId, profileSettingsSchemaId, tasksSchemaId, userSettingsSchemaId, workspaceSettingsSchemaId };