yaml-language-server 1.9.1-eae5206.0 → 1.10.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 (303) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CONTRIBUTING.md +8 -0
  3. package/DCO +37 -0
  4. package/README.md +2 -0
  5. package/lib/esm/languageserver/handlers/settingsHandlers.js +8 -1
  6. package/lib/esm/languageserver/handlers/settingsHandlers.js.map +1 -1
  7. package/lib/esm/languageservice/jsonASTTypes.js +1 -0
  8. package/lib/esm/languageservice/jsonSchema.js +1 -0
  9. package/lib/esm/languageservice/parser/jsonParser07.d.ts +15 -1
  10. package/lib/esm/languageservice/parser/jsonParser07.js +25 -8
  11. package/lib/esm/languageservice/parser/jsonParser07.js.map +1 -1
  12. package/lib/esm/languageservice/parser/yaml-documents.js +10 -2
  13. package/lib/esm/languageservice/parser/yaml-documents.js.map +1 -1
  14. package/lib/esm/languageservice/parser/yamlParser07.js.map +1 -1
  15. package/lib/esm/languageservice/services/validation/types.js +1 -0
  16. package/lib/esm/languageservice/services/validation/yaml-style.d.ts +12 -0
  17. package/lib/esm/languageservice/services/validation/yaml-style.js +25 -0
  18. package/lib/esm/languageservice/services/validation/yaml-style.js.map +1 -0
  19. package/lib/esm/languageservice/services/yamlCodeActions.d.ts +1 -0
  20. package/lib/esm/languageservice/services/yamlCodeActions.js +22 -0
  21. package/lib/esm/languageservice/services/yamlCodeActions.js.map +1 -1
  22. package/lib/esm/languageservice/services/yamlCodeLens.js +2 -17
  23. package/lib/esm/languageservice/services/yamlCodeLens.js.map +1 -1
  24. package/lib/esm/languageservice/services/yamlCompletion.d.ts +1 -1
  25. package/lib/esm/languageservice/services/yamlCompletion.js +41 -41
  26. package/lib/esm/languageservice/services/yamlCompletion.js.map +1 -1
  27. package/lib/esm/languageservice/services/yamlFolding.js.map +1 -1
  28. package/lib/esm/languageservice/services/yamlHover.js +1 -1
  29. package/lib/esm/languageservice/services/yamlHover.js.map +1 -1
  30. package/lib/esm/languageservice/services/yamlSchemaService.js +14 -0
  31. package/lib/esm/languageservice/services/yamlSchemaService.js.map +1 -1
  32. package/lib/esm/languageservice/services/yamlValidation.d.ts +2 -1
  33. package/lib/esm/languageservice/services/yamlValidation.js +10 -9
  34. package/lib/esm/languageservice/services/yamlValidation.js.map +1 -1
  35. package/lib/esm/languageservice/utils/astUtils.js.map +1 -1
  36. package/lib/esm/languageservice/utils/charCode.js +1 -0
  37. package/lib/esm/languageservice/utils/flow-style-rewriter.d.ts +6 -0
  38. package/lib/esm/languageservice/utils/flow-style-rewriter.js +53 -0
  39. package/lib/esm/languageservice/utils/flow-style-rewriter.js.map +1 -0
  40. package/lib/esm/languageservice/utils/indentationGuesser.js +6 -6
  41. package/lib/esm/languageservice/utils/indentationGuesser.js.map +1 -1
  42. package/lib/esm/languageservice/utils/objects.js.map +1 -1
  43. package/lib/esm/languageservice/utils/schemaUtils.d.ts +1 -0
  44. package/lib/esm/languageservice/utils/schemaUtils.js +16 -0
  45. package/lib/esm/languageservice/utils/schemaUtils.js.map +1 -1
  46. package/lib/esm/languageservice/utils/strings.js +1 -1
  47. package/lib/esm/languageservice/utils/strings.js.map +1 -1
  48. package/lib/esm/languageservice/utils/textBuffer.js +1 -1
  49. package/lib/esm/languageservice/utils/textBuffer.js.map +1 -1
  50. package/lib/esm/languageservice/yamlLanguageService.d.ts +8 -0
  51. package/lib/esm/languageservice/yamlLanguageService.js.map +1 -1
  52. package/lib/esm/languageservice/yamlTypes.js +1 -0
  53. package/lib/esm/yamlSettings.d.ts +8 -0
  54. package/lib/esm/yamlSettings.js.map +1 -1
  55. package/lib/umd/index.js +7 -2
  56. package/lib/umd/index.js.map +1 -1
  57. package/lib/umd/languageserver/handlers/languageHandlers.js +1 -1
  58. package/lib/umd/languageserver/handlers/languageHandlers.js.map +1 -1
  59. package/lib/umd/languageserver/handlers/schemaSelectionHandlers.js +1 -1
  60. package/lib/umd/languageserver/handlers/schemaSelectionHandlers.js.map +1 -1
  61. package/lib/umd/languageserver/handlers/settingsHandlers.js +15 -8
  62. package/lib/umd/languageserver/handlers/settingsHandlers.js.map +1 -1
  63. package/lib/umd/languageserver/handlers/validationHandlers.js +2 -2
  64. package/lib/umd/languageserver/handlers/validationHandlers.js.map +1 -1
  65. package/lib/umd/languageservice/parser/ast-converter.js +11 -11
  66. package/lib/umd/languageservice/parser/ast-converter.js.map +1 -1
  67. package/lib/umd/languageservice/parser/custom-tag-provider.js +3 -3
  68. package/lib/umd/languageservice/parser/custom-tag-provider.js.map +1 -1
  69. package/lib/umd/languageservice/parser/jsonParser07.d.ts +15 -1
  70. package/lib/umd/languageservice/parser/jsonParser07.js +50 -33
  71. package/lib/umd/languageservice/parser/jsonParser07.js.map +1 -1
  72. package/lib/umd/languageservice/parser/yaml-documents.js +23 -15
  73. package/lib/umd/languageservice/parser/yaml-documents.js.map +1 -1
  74. package/lib/umd/languageservice/parser/yamlParser07.js +1 -1
  75. package/lib/umd/languageservice/parser/yamlParser07.js.map +1 -1
  76. package/lib/umd/languageservice/services/documentSymbols.js +4 -4
  77. package/lib/umd/languageservice/services/documentSymbols.js.map +1 -1
  78. package/lib/umd/languageservice/services/schemaRequestHandler.js +6 -5
  79. package/lib/umd/languageservice/services/schemaRequestHandler.js.map +1 -1
  80. package/lib/umd/languageservice/services/validation/unused-anchors.js +5 -5
  81. package/lib/umd/languageservice/services/validation/unused-anchors.js.map +1 -1
  82. package/lib/umd/languageservice/services/validation/yaml-style.d.ts +12 -0
  83. package/lib/umd/languageservice/services/validation/yaml-style.js +39 -0
  84. package/lib/umd/languageservice/services/validation/yaml-style.js.map +1 -0
  85. package/lib/umd/languageservice/services/yamlCodeActions.d.ts +1 -0
  86. package/lib/umd/languageservice/services/yamlCodeActions.js +24 -2
  87. package/lib/umd/languageservice/services/yamlCodeActions.js.map +1 -1
  88. package/lib/umd/languageservice/services/yamlCodeLens.js +5 -20
  89. package/lib/umd/languageservice/services/yamlCodeLens.js.map +1 -1
  90. package/lib/umd/languageservice/services/yamlCompletion.d.ts +1 -1
  91. package/lib/umd/languageservice/services/yamlCompletion.js +91 -91
  92. package/lib/umd/languageservice/services/yamlCompletion.js.map +1 -1
  93. package/lib/umd/languageservice/services/yamlDefinition.js +3 -3
  94. package/lib/umd/languageservice/services/yamlDefinition.js.map +1 -1
  95. package/lib/umd/languageservice/services/yamlFolding.js.map +1 -1
  96. package/lib/umd/languageservice/services/yamlHover.js +5 -5
  97. package/lib/umd/languageservice/services/yamlHover.js.map +1 -1
  98. package/lib/umd/languageservice/services/yamlLinks.js +2 -2
  99. package/lib/umd/languageservice/services/yamlLinks.js.map +1 -1
  100. package/lib/umd/languageservice/services/yamlSchemaService.js +18 -4
  101. package/lib/umd/languageservice/services/yamlSchemaService.js.map +1 -1
  102. package/lib/umd/languageservice/services/yamlValidation.d.ts +2 -1
  103. package/lib/umd/languageservice/services/yamlValidation.js +16 -14
  104. package/lib/umd/languageservice/services/yamlValidation.js.map +1 -1
  105. package/lib/umd/languageservice/utils/astUtils.js +3 -3
  106. package/lib/umd/languageservice/utils/astUtils.js.map +1 -1
  107. package/lib/umd/languageservice/utils/flow-style-rewriter.d.ts +6 -0
  108. package/lib/umd/languageservice/utils/flow-style-rewriter.js +67 -0
  109. package/lib/umd/languageservice/utils/flow-style-rewriter.js.map +1 -0
  110. package/lib/umd/languageservice/utils/indentationGuesser.js +6 -6
  111. package/lib/umd/languageservice/utils/indentationGuesser.js.map +1 -1
  112. package/lib/umd/languageservice/utils/objects.js.map +1 -1
  113. package/lib/umd/languageservice/utils/paths.js +9 -6
  114. package/lib/umd/languageservice/utils/paths.js.map +1 -1
  115. package/lib/umd/languageservice/utils/schemaUrls.js +3 -3
  116. package/lib/umd/languageservice/utils/schemaUrls.js.map +1 -1
  117. package/lib/umd/languageservice/utils/schemaUtils.d.ts +1 -0
  118. package/lib/umd/languageservice/utils/schemaUtils.js +19 -2
  119. package/lib/umd/languageservice/utils/schemaUtils.js.map +1 -1
  120. package/lib/umd/languageservice/utils/strings.js +1 -1
  121. package/lib/umd/languageservice/utils/strings.js.map +1 -1
  122. package/lib/umd/languageservice/utils/textBuffer.js +1 -1
  123. package/lib/umd/languageservice/utils/textBuffer.js.map +1 -1
  124. package/lib/umd/languageservice/yamlLanguageService.d.ts +8 -0
  125. package/lib/umd/languageservice/yamlLanguageService.js +1 -1
  126. package/lib/umd/languageservice/yamlLanguageService.js.map +1 -1
  127. package/lib/umd/server.js +4 -4
  128. package/lib/umd/server.js.map +1 -1
  129. package/lib/umd/webworker/yamlServerMain.js +2 -2
  130. package/lib/umd/webworker/yamlServerMain.js.map +1 -1
  131. package/lib/umd/yamlServerInit.js +2 -2
  132. package/lib/umd/yamlServerInit.js.map +1 -1
  133. package/lib/umd/yamlSettings.d.ts +8 -0
  134. package/lib/umd/yamlSettings.js.map +1 -1
  135. package/out/server/src/index.js +7 -2
  136. package/out/server/src/index.js.map +1 -1
  137. package/out/server/src/languageserver/handlers/languageHandlers.js +1 -1
  138. package/out/server/src/languageserver/handlers/languageHandlers.js.map +1 -1
  139. package/out/server/src/languageserver/handlers/schemaSelectionHandlers.js +1 -1
  140. package/out/server/src/languageserver/handlers/schemaSelectionHandlers.js.map +1 -1
  141. package/out/server/src/languageserver/handlers/settingsHandlers.js +15 -8
  142. package/out/server/src/languageserver/handlers/settingsHandlers.js.map +1 -1
  143. package/out/server/src/languageserver/handlers/validationHandlers.js +2 -2
  144. package/out/server/src/languageserver/handlers/validationHandlers.js.map +1 -1
  145. package/out/server/src/languageservice/parser/ast-converter.js +11 -11
  146. package/out/server/src/languageservice/parser/ast-converter.js.map +1 -1
  147. package/out/server/src/languageservice/parser/custom-tag-provider.js +3 -3
  148. package/out/server/src/languageservice/parser/custom-tag-provider.js.map +1 -1
  149. package/out/server/src/languageservice/parser/jsonParser07.d.ts +15 -1
  150. package/out/server/src/languageservice/parser/jsonParser07.js +50 -33
  151. package/out/server/src/languageservice/parser/jsonParser07.js.map +1 -1
  152. package/out/server/src/languageservice/parser/yaml-documents.js +23 -15
  153. package/out/server/src/languageservice/parser/yaml-documents.js.map +1 -1
  154. package/out/server/src/languageservice/parser/yamlParser07.js +1 -1
  155. package/out/server/src/languageservice/parser/yamlParser07.js.map +1 -1
  156. package/out/server/src/languageservice/services/documentSymbols.js +4 -4
  157. package/out/server/src/languageservice/services/documentSymbols.js.map +1 -1
  158. package/out/server/src/languageservice/services/schemaRequestHandler.js +6 -5
  159. package/out/server/src/languageservice/services/schemaRequestHandler.js.map +1 -1
  160. package/out/server/src/languageservice/services/validation/unused-anchors.js +5 -5
  161. package/out/server/src/languageservice/services/validation/unused-anchors.js.map +1 -1
  162. package/out/server/src/languageservice/services/validation/yaml-style.d.ts +12 -0
  163. package/out/server/src/languageservice/services/validation/yaml-style.js +29 -0
  164. package/out/server/src/languageservice/services/validation/yaml-style.js.map +1 -0
  165. package/out/server/src/languageservice/services/yamlCodeActions.d.ts +1 -0
  166. package/out/server/src/languageservice/services/yamlCodeActions.js +23 -1
  167. package/out/server/src/languageservice/services/yamlCodeActions.js.map +1 -1
  168. package/out/server/src/languageservice/services/yamlCodeLens.js +4 -19
  169. package/out/server/src/languageservice/services/yamlCodeLens.js.map +1 -1
  170. package/out/server/src/languageservice/services/yamlCompletion.d.ts +1 -1
  171. package/out/server/src/languageservice/services/yamlCompletion.js +91 -91
  172. package/out/server/src/languageservice/services/yamlCompletion.js.map +1 -1
  173. package/out/server/src/languageservice/services/yamlDefinition.js +3 -3
  174. package/out/server/src/languageservice/services/yamlDefinition.js.map +1 -1
  175. package/out/server/src/languageservice/services/yamlFolding.js.map +1 -1
  176. package/out/server/src/languageservice/services/yamlHover.js +5 -5
  177. package/out/server/src/languageservice/services/yamlHover.js.map +1 -1
  178. package/out/server/src/languageservice/services/yamlLinks.js +2 -2
  179. package/out/server/src/languageservice/services/yamlLinks.js.map +1 -1
  180. package/out/server/src/languageservice/services/yamlSchemaService.js +17 -3
  181. package/out/server/src/languageservice/services/yamlSchemaService.js.map +1 -1
  182. package/out/server/src/languageservice/services/yamlValidation.d.ts +2 -1
  183. package/out/server/src/languageservice/services/yamlValidation.js +15 -13
  184. package/out/server/src/languageservice/services/yamlValidation.js.map +1 -1
  185. package/out/server/src/languageservice/utils/astUtils.js +3 -3
  186. package/out/server/src/languageservice/utils/astUtils.js.map +1 -1
  187. package/out/server/src/languageservice/utils/flow-style-rewriter.d.ts +6 -0
  188. package/out/server/src/languageservice/utils/flow-style-rewriter.js +57 -0
  189. package/out/server/src/languageservice/utils/flow-style-rewriter.js.map +1 -0
  190. package/out/server/src/languageservice/utils/indentationGuesser.js +6 -6
  191. package/out/server/src/languageservice/utils/indentationGuesser.js.map +1 -1
  192. package/out/server/src/languageservice/utils/objects.js.map +1 -1
  193. package/out/server/src/languageservice/utils/paths.js +9 -6
  194. package/out/server/src/languageservice/utils/paths.js.map +1 -1
  195. package/out/server/src/languageservice/utils/schemaUrls.js +3 -3
  196. package/out/server/src/languageservice/utils/schemaUrls.js.map +1 -1
  197. package/out/server/src/languageservice/utils/schemaUtils.d.ts +1 -0
  198. package/out/server/src/languageservice/utils/schemaUtils.js +18 -1
  199. package/out/server/src/languageservice/utils/schemaUtils.js.map +1 -1
  200. package/out/server/src/languageservice/utils/strings.js +1 -1
  201. package/out/server/src/languageservice/utils/strings.js.map +1 -1
  202. package/out/server/src/languageservice/utils/textBuffer.js +1 -1
  203. package/out/server/src/languageservice/utils/textBuffer.js.map +1 -1
  204. package/out/server/src/languageservice/yamlLanguageService.d.ts +8 -0
  205. package/out/server/src/languageservice/yamlLanguageService.js +1 -1
  206. package/out/server/src/languageservice/yamlLanguageService.js.map +1 -1
  207. package/out/server/src/server.js +4 -4
  208. package/out/server/src/server.js.map +1 -1
  209. package/out/server/src/webworker/yamlServerMain.js +2 -2
  210. package/out/server/src/webworker/yamlServerMain.js.map +1 -1
  211. package/out/server/src/yamlServerInit.js +2 -2
  212. package/out/server/src/yamlServerInit.js.map +1 -1
  213. package/out/server/src/yamlSettings.d.ts +8 -0
  214. package/out/server/src/yamlSettings.js.map +1 -1
  215. package/out/server/test/arrUtils.test.js +6 -6
  216. package/out/server/test/arrUtils.test.js.map +1 -1
  217. package/out/server/test/astUtils.test.js +18 -18
  218. package/out/server/test/astUtils.test.js.map +1 -1
  219. package/out/server/test/autoCompletion.test.js +158 -158
  220. package/out/server/test/autoCompletion.test.js.map +1 -1
  221. package/out/server/test/autoCompletionFix.test.js +513 -60
  222. package/out/server/test/autoCompletionFix.test.js.map +1 -1
  223. package/out/server/test/code-action-schema.test.js +12 -12
  224. package/out/server/test/code-action-schema.test.js.map +1 -1
  225. package/out/server/test/customTags.test.js +3 -3
  226. package/out/server/test/customTags.test.js.map +1 -1
  227. package/out/server/test/defaultSnippets.test.js +17 -7
  228. package/out/server/test/defaultSnippets.test.js.map +1 -1
  229. package/out/server/test/documentPositionCalculator.test.js +10 -10
  230. package/out/server/test/documentPositionCalculator.test.js.map +1 -1
  231. package/out/server/test/documentSymbols.test.js +62 -62
  232. package/out/server/test/documentSymbols.test.js.map +1 -1
  233. package/out/server/test/findLinks.test.js +2 -2
  234. package/out/server/test/findLinks.test.js.map +1 -1
  235. package/out/server/test/flow-style-rewriter.test.d.ts +1 -0
  236. package/out/server/test/flow-style-rewriter.test.js +79 -0
  237. package/out/server/test/flow-style-rewriter.test.js.map +1 -0
  238. package/out/server/test/formatter.test.js +2 -2
  239. package/out/server/test/formatter.test.js.map +1 -1
  240. package/out/server/test/hover.test.js +49 -7
  241. package/out/server/test/hover.test.js.map +1 -1
  242. package/out/server/test/integration.test.js +4 -4
  243. package/out/server/test/integration.test.js.map +1 -1
  244. package/out/server/test/jsonParser.test.js +6 -6
  245. package/out/server/test/jsonParser.test.js.map +1 -1
  246. package/out/server/test/multipleDocuments.test.js +4 -4
  247. package/out/server/test/multipleDocuments.test.js.map +1 -1
  248. package/out/server/test/objects.test.js +14 -14
  249. package/out/server/test/objects.test.js.map +1 -1
  250. package/out/server/test/paths.test.js +26 -26
  251. package/out/server/test/paths.test.js.map +1 -1
  252. package/out/server/test/schema.test.js +9 -9
  253. package/out/server/test/schema.test.js.map +1 -1
  254. package/out/server/test/schemaRequestHandler.test.js +3 -3
  255. package/out/server/test/schemaRequestHandler.test.js.map +1 -1
  256. package/out/server/test/schemaSelectionHandlers.test.js +4 -4
  257. package/out/server/test/schemaSelectionHandlers.test.js.map +1 -1
  258. package/out/server/test/schemaValidation.test.js +122 -47
  259. package/out/server/test/schemaValidation.test.js.map +1 -1
  260. package/out/server/test/settingsHandlers.test.js +23 -5
  261. package/out/server/test/settingsHandlers.test.js.map +1 -1
  262. package/out/server/test/strings.test.js +19 -19
  263. package/out/server/test/strings.test.js.map +1 -1
  264. package/out/server/test/telemetry.test.js +2 -2
  265. package/out/server/test/telemetry.test.js.map +1 -1
  266. package/out/server/test/textBuffer.test.js +1 -1
  267. package/out/server/test/utils/serviceSetup.d.ts +2 -0
  268. package/out/server/test/utils/serviceSetup.js +10 -0
  269. package/out/server/test/utils/serviceSetup.js.map +1 -1
  270. package/out/server/test/utils/testHelper.js +2 -2
  271. package/out/server/test/utils/testHelper.js.map +1 -1
  272. package/out/server/test/utils/verifyError.d.ts +1 -2
  273. package/out/server/test/utils/verifyError.js.map +1 -1
  274. package/out/server/test/yaml-documents.test.js +29 -29
  275. package/out/server/test/yaml-documents.test.js.map +1 -1
  276. package/out/server/test/yamlCodeActions.test.js +42 -15
  277. package/out/server/test/yamlCodeActions.test.js.map +1 -1
  278. package/out/server/test/yamlCodeLens.test.js +7 -7
  279. package/out/server/test/yamlCodeLens.test.js.map +1 -1
  280. package/out/server/test/yamlCommands.test.js +3 -3
  281. package/out/server/test/yamlCommands.test.js.map +1 -1
  282. package/out/server/test/yamlDefinition.test.js +5 -5
  283. package/out/server/test/yamlDefinition.test.js.map +1 -1
  284. package/out/server/test/yamlFolding.test.js +44 -44
  285. package/out/server/test/yamlFolding.test.js.map +1 -1
  286. package/out/server/test/yamlOnTypeFormatting.test.js +22 -22
  287. package/out/server/test/yamlOnTypeFormatting.test.js.map +1 -1
  288. package/out/server/test/yamlParser.test.js +24 -24
  289. package/out/server/test/yamlParser.test.js.map +1 -1
  290. package/out/server/test/yamlSchemaService.test.js +7 -7
  291. package/out/server/test/yamlSchemaService.test.js.map +1 -1
  292. package/out/server/test/yamlValidation.test.js +98 -22
  293. package/out/server/test/yamlValidation.test.js.map +1 -1
  294. package/package.json +5 -4
  295. package/lib/esm/languageservice/utils/ranges.d.ts +0 -7
  296. package/lib/esm/languageservice/utils/ranges.js +0 -31
  297. package/lib/esm/languageservice/utils/ranges.js.map +0 -1
  298. package/lib/umd/languageservice/utils/ranges.d.ts +0 -7
  299. package/lib/umd/languageservice/utils/ranges.js +0 -45
  300. package/lib/umd/languageservice/utils/ranges.js.map +0 -1
  301. package/out/server/src/languageservice/utils/ranges.d.ts +0 -7
  302. package/out/server/src/languageservice/utils/ranges.js +0 -35
  303. package/out/server/src/languageservice/utils/ranges.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ import { TextDocument } from 'vscode-languageserver-textdocument';
2
+ import { Diagnostic } from 'vscode-languageserver-types';
3
+ import { SingleYAMLDocument } from '../../parser/yaml-documents';
4
+ import { LanguageSettings } from '../../yamlLanguageService';
5
+ import { AdditionalValidator } from './types';
6
+ export declare class YAMLStyleValidator implements AdditionalValidator {
7
+ private forbidSequence;
8
+ private forbidMapping;
9
+ constructor(settings: LanguageSettings);
10
+ validate(document: TextDocument, yamlDoc: SingleYAMLDocument): Diagnostic[];
11
+ private getRangeOf;
12
+ }
@@ -0,0 +1,25 @@
1
+ import { Diagnostic, DiagnosticSeverity, Range } from 'vscode-languageserver-types';
2
+ import { isMap, isSeq, visit } from 'yaml';
3
+ export class YAMLStyleValidator {
4
+ constructor(settings) {
5
+ this.forbidMapping = settings.flowMapping === 'forbid';
6
+ this.forbidSequence = settings.flowSequence === 'forbid';
7
+ }
8
+ validate(document, yamlDoc) {
9
+ const result = [];
10
+ visit(yamlDoc.internalDocument, (key, node) => {
11
+ var _a, _b;
12
+ if (this.forbidMapping && isMap(node) && ((_a = node.srcToken) === null || _a === void 0 ? void 0 : _a.type) === 'flow-collection') {
13
+ result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), 'Flow style mapping is forbidden', DiagnosticSeverity.Error, 'flowMap'));
14
+ }
15
+ if (this.forbidSequence && isSeq(node) && ((_b = node.srcToken) === null || _b === void 0 ? void 0 : _b.type) === 'flow-collection') {
16
+ result.push(Diagnostic.create(this.getRangeOf(document, node.srcToken), 'Flow style sequence is forbidden', DiagnosticSeverity.Error, 'flowSeq'));
17
+ }
18
+ });
19
+ return result;
20
+ }
21
+ getRangeOf(document, node) {
22
+ return Range.create(document.positionAt(node.start.offset), document.positionAt(node.end.pop().offset));
23
+ }
24
+ }
25
+ //# sourceMappingURL=yaml-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml-style.js","sourceRoot":"","sources":["../../../../../src/languageservice/services/validation/yaml-style.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAM3C,MAAM,OAAO,kBAAkB;IAI7B,YAAY,QAA0B;QACpC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC;IAC3D,CAAC;IACD,QAAQ,CAAC,QAAsB,EAAE,OAA2B;QAC1D,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;YAC5C,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,iBAAiB,EAAE;gBAClF,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,MAAM,CACf,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EACxC,iCAAiC,EACjC,kBAAkB,CAAC,KAAK,EACxB,SAAS,CACV,CACF,CAAC;aACH;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,iBAAiB,EAAE;gBACnF,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,MAAM,CACf,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EACxC,kCAAkC,EAClC,kBAAkB,CAAC,KAAK,EACxB,SAAS,CACV,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,QAAsB,EAAE,IAAoB;QAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF"}
@@ -12,4 +12,5 @@ export declare class YamlCodeActions {
12
12
  private getTabToSpaceConverting;
13
13
  private getUnusedAnchorsDelete;
14
14
  private getConvertToBooleanActions;
15
+ private getConvertToBlockStyleActions;
15
16
  }
@@ -8,6 +8,10 @@ import * as path from 'path';
8
8
  import { TextBuffer } from '../utils/textBuffer';
9
9
  import { YAML_SOURCE } from '../parser/jsonParser07';
10
10
  import { getFirstNonWhitespaceCharacterAfterOffset } from '../utils/strings';
11
+ import { matchOffsetToDocument } from '../utils/arrUtils';
12
+ import { isMap, isSeq } from 'yaml';
13
+ import { yamlDocumentsCache } from '../parser/yaml-documents';
14
+ import { FlowStyleRewriter } from '../utils/flow-style-rewriter';
11
15
  export class YamlCodeActions {
12
16
  constructor(clientCapabilities) {
13
17
  this.clientCapabilities = clientCapabilities;
@@ -25,6 +29,7 @@ export class YamlCodeActions {
25
29
  result.push(...this.getJumpToSchemaActions(params.context.diagnostics));
26
30
  result.push(...this.getTabToSpaceConverting(params.context.diagnostics, document));
27
31
  result.push(...this.getUnusedAnchorsDelete(params.context.diagnostics, document));
32
+ result.push(...this.getConvertToBlockStyleActions(params.context.diagnostics, document));
28
33
  return result;
29
34
  }
30
35
  getJumpToSchemaActions(diagnostics) {
@@ -149,6 +154,23 @@ export class YamlCodeActions {
149
154
  }
150
155
  return results;
151
156
  }
157
+ getConvertToBlockStyleActions(diagnostics, document) {
158
+ const results = [];
159
+ for (const diagnostic of diagnostics) {
160
+ if (diagnostic.code === 'flowMap' || diagnostic.code === 'flowSeq') {
161
+ const yamlDocuments = yamlDocumentsCache.getYamlDocument(document);
162
+ const startOffset = document.offsetAt(diagnostic.range.start);
163
+ const yamlDoc = matchOffsetToDocument(startOffset, yamlDocuments);
164
+ const node = yamlDoc.getNodeFromOffset(startOffset);
165
+ if (isMap(node.internalNode) || isSeq(node.internalNode)) {
166
+ const blockTypeDescription = isMap(node.internalNode) ? 'map' : 'sequence';
167
+ const rewriter = new FlowStyleRewriter(this.indentation);
168
+ results.push(CodeAction.create(`Convert to block style ${blockTypeDescription}`, createWorkspaceEdit(document.uri, [TextEdit.replace(diagnostic.range, rewriter.write(node))]), CodeActionKind.QuickFix));
169
+ }
170
+ }
171
+ }
172
+ return results;
173
+ }
152
174
  }
153
175
  function createWorkspaceEdit(uri, edits) {
154
176
  const changes = {};
@@ -1 +1 @@
1
- {"version":3,"file":"yamlCodeActions.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlCodeActions.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeActions.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  import { CodeLens, Range } from 'vscode-languageserver-types';
15
15
  import { YamlCommands } from '../../commands';
16
16
  import { yamlDocumentsCache } from '../parser/yaml-documents';
17
- import { URI } from 'vscode-uri';
18
- import * as path from 'path';
19
17
  import { getSchemaUrls } from '../utils/schemaUrls';
20
18
  import { convertErrorToTelemetryMsg } from '../utils/objects';
19
+ import { getSchemaTitle } from '../utils/schemaUtils';
21
20
  export class YamlCodeLens {
22
21
  constructor(schemaService, telemetry) {
23
22
  this.schemaService = schemaService;
@@ -39,7 +38,7 @@ export class YamlCodeLens {
39
38
  for (const urlToSchema of schemaUrls) {
40
39
  const lens = CodeLens.create(Range.create(0, 0, 0, 0));
41
40
  lens.command = {
42
- title: getCommandTitle(urlToSchema[0], urlToSchema[1]),
41
+ title: getSchemaTitle(urlToSchema[1], urlToSchema[0]),
43
42
  command: YamlCommands.JUMP_TO_SCHEMA,
44
43
  arguments: [urlToSchema[0]],
45
44
  };
@@ -56,18 +55,4 @@ export class YamlCodeLens {
56
55
  return param;
57
56
  }
58
57
  }
59
- function getCommandTitle(url, schema) {
60
- const uri = URI.parse(url);
61
- let baseName = path.basename(uri.fsPath);
62
- if (!path.extname(uri.fsPath)) {
63
- baseName += '.json';
64
- }
65
- if (Object.getOwnPropertyDescriptor(schema, 'name')) {
66
- return Object.getOwnPropertyDescriptor(schema, 'name').value + ` (${baseName})`;
67
- }
68
- else if (schema.title) {
69
- return schema.title + ` (${baseName})`;
70
- }
71
- return baseName;
72
- }
73
58
  //# sourceMappingURL=yamlCodeLens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yamlCodeLens.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeLens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlCodeLens.js","sourceRoot":"","sources":["../../../../src/languageservice/services/yamlCodeLens.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAGhG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,YAAY;IACvB,YAAoB,aAAgC,EAAmB,SAAoB;QAAvE,kBAAa,GAAb,aAAa,CAAmB;QAAmB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAEzF,WAAW,CAAC,QAAsB;;YACtC,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,IAAI;gBACF,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,UAAU,GAAG,IAAI,GAAG,EAAsB,CAAC;gBAC/C,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,SAAS,EAAE;oBACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;oBAC3F,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;wBAClB,kDAAkD;wBAClD,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;qBACzE;iBACF;gBACD,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE;oBACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,OAAO,GAAG;wBACb,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;wBACrD,OAAO,EAAE,YAAY,CAAC,cAAc;wBACpC,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBAC5B,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACnB;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC7F;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IACD,eAAe,CAAC,KAAe;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -30,7 +30,7 @@ export declare class YamlCompletion {
30
30
  private parentSkeletonSelectedFirst;
31
31
  constructor(schemaService: YAMLSchemaService, clientCapabilities: ClientCapabilities, yamlDocument: YamlDocuments, telemetry: Telemetry);
32
32
  configure(languageSettings: LanguageSettings): void;
33
- doComplete(document: TextDocument, position: Position, isKubernetes?: boolean): Promise<CompletionList>;
33
+ doComplete(document: TextDocument, position: Position, isKubernetes?: boolean, doComplete?: boolean): Promise<CompletionList>;
34
34
  updateCompletionText(completionItem: CompletionItem, text: string): void;
35
35
  mergeSimpleInsertTexts(label: string, existingText: string, addingText: string): string | undefined;
36
36
  getValuesFromInsertText(insertText: string): string[];
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  step((generator = generator.apply(thisArg, _arguments || [])).next());
12
12
  });
13
13
  };
14
- import { CompletionItem as CompletionItemBase, CompletionItemKind, CompletionList, InsertTextFormat, InsertTextMode, MarkupKind, Range, TextEdit, } from 'vscode-languageserver-types';
14
+ import { CompletionItem as CompletionItemBase, CompletionItemKind, CompletionList, InsertTextFormat, InsertTextMode, MarkupKind, Position, Range, TextEdit, } from 'vscode-languageserver-types';
15
15
  import { isPair, isScalar, isMap, isSeq, isNode } from 'yaml';
16
16
  import { filterInvalidCustomTags, matchOffsetToDocument } from '../utils/arrUtils';
17
17
  import { guessIndentation } from '../utils/indentationGuesser';
@@ -46,7 +46,7 @@ export class YamlCompletion {
46
46
  this.disableDefaultProperties = languageSettings.disableDefaultProperties;
47
47
  this.parentSkeletonSelectedFirst = languageSettings.parentSkeletonSelectedFirst;
48
48
  }
49
- doComplete(document, position, isKubernetes = false) {
49
+ doComplete(document, position, isKubernetes = false, doComplete = true) {
50
50
  return __awaiter(this, void 0, void 0, function* () {
51
51
  const result = CompletionList.create([], false);
52
52
  if (!this.completionEnabled) {
@@ -75,9 +75,24 @@ export class YamlCompletion {
75
75
  currentDoc = currentDoc.clone();
76
76
  let [node, foundByClosest] = currentDoc.getNodeFromPosition(offset, textBuffer, this.indentation.length);
77
77
  const currentWord = this.getCurrentWord(document, offset);
78
+ let lineContent = textBuffer.getLineContent(position.line);
79
+ const lineAfterPosition = lineContent.substring(position.character);
80
+ const areOnlySpacesAfterPosition = /^[ ]+\n?$/.test(lineAfterPosition);
78
81
  this.arrayPrefixIndentation = '';
79
82
  let overwriteRange = null;
80
- if (node && isScalar(node) && node.value === 'null') {
83
+ if (areOnlySpacesAfterPosition) {
84
+ overwriteRange = Range.create(position, Position.create(position.line, lineContent.length));
85
+ const isOnlyWhitespace = lineContent.trim().length === 0;
86
+ const isOnlyDash = lineContent.match(/^\s*(-)\s*$/);
87
+ if (node && isScalar(node) && !isOnlyWhitespace && !isOnlyDash) {
88
+ // line contains part of a key with trailing spaces, adjust the overwrite range to include only the text
89
+ const matches = lineContent.match(/^([\s-]*)[^:]+[ \t]+\n?$/);
90
+ if (matches === null || matches === void 0 ? void 0 : matches.length) {
91
+ overwriteRange = Range.create(Position.create(position.line, matches[1].length), Position.create(position.line, lineContent.length));
92
+ }
93
+ }
94
+ }
95
+ else if (node && isScalar(node) && node.value === 'null') {
81
96
  const nodeStartPos = document.positionAt(node.range[0]);
82
97
  nodeStartPos.character += 1;
83
98
  const nodeEndPos = document.positionAt(node.range[2]);
@@ -199,7 +214,6 @@ export class YamlCompletion {
199
214
  if (this.customTags.length > 0) {
200
215
  this.getCustomTagValueCompletions(collector);
201
216
  }
202
- let lineContent = textBuffer.getLineContent(position.line);
203
217
  if (lineContent.endsWith('\n')) {
204
218
  lineContent = lineContent.substr(0, lineContent.length - 1);
205
219
  }
@@ -252,32 +266,8 @@ export class YamlCompletion {
252
266
  foundByClosest = true;
253
267
  }
254
268
  }
255
- let originalNode = node;
269
+ const originalNode = node;
256
270
  if (node) {
257
- // when the value is null but the cursor is between prop name and null value (cursor is not at the end of the line)
258
- if (isMap(node) && node.items.length && isPair(node.items[0])) {
259
- const pairNode = node.items[0];
260
- if (isScalar(pairNode.value) &&
261
- isScalar(pairNode.key) &&
262
- pairNode.value.value === null && // value is null
263
- pairNode.key.range[2] < offset && // cursor is after colon
264
- pairNode.value.range[0] > offset // cursor is before null
265
- ) {
266
- node = pairNode.value;
267
- overwriteRange.end.character += pairNode.value.range[2] - offset; // extend range to the end of the null element
268
- }
269
- }
270
- // when the array item value is null but the cursor is between '-' and null value (cursor is not at the end of the line)
271
- if (isSeq(node) && node.items.length && isScalar(node.items[0]) && lineContent.includes('-')) {
272
- const nullNode = node.items[0];
273
- if (nullNode.value === null && // value is null
274
- nullNode.range[0] > offset // cursor is before null
275
- ) {
276
- node = nullNode;
277
- originalNode = node;
278
- overwriteRange.end.character += nullNode.range[2] - offset; // extend range to the end of the null element
279
- }
280
- }
281
271
  if (lineContent.length === 0) {
282
272
  node = currentDoc.internalDocument.contents;
283
273
  }
@@ -290,6 +280,7 @@ export class YamlCompletion {
290
280
  if (parent.value === node) {
291
281
  if (lineContent.trim().length > 0 && lineContent.indexOf(':') < 0) {
292
282
  const map = this.createTempObjNode(currentWord, node, currentDoc);
283
+ const parentParent = currentDoc.getParent(parent);
293
284
  if (isSeq(currentDoc.internalDocument.contents)) {
294
285
  const index = indexOf(currentDoc.internalDocument.contents, parent);
295
286
  if (typeof index === 'number') {
@@ -298,6 +289,11 @@ export class YamlCompletion {
298
289
  currentDoc.internalDocument = currentDoc.internalDocument;
299
290
  }
300
291
  }
292
+ else if (parentParent && (isMap(parentParent) || isSeq(parentParent))) {
293
+ parentParent.set(parent.key, map);
294
+ // eslint-disable-next-line no-self-assign
295
+ currentDoc.internalDocument = currentDoc.internalDocument;
296
+ }
301
297
  else {
302
298
  currentDoc.internalDocument.set(parent.key, map);
303
299
  // eslint-disable-next-line no-self-assign
@@ -433,7 +429,7 @@ export class YamlCompletion {
433
429
  }
434
430
  }
435
431
  }
436
- this.addPropertyCompletions(schema, currentDoc, node, originalNode, '', collector, textBuffer, overwriteRange);
432
+ this.addPropertyCompletions(schema, currentDoc, node, originalNode, '', collector, textBuffer, overwriteRange, doComplete);
437
433
  if (!schema && currentWord.length > 0 && text.charAt(offset - currentWord.length - 1) !== '"') {
438
434
  collector.add({
439
435
  kind: CompletionItemKind.Property,
@@ -445,7 +441,7 @@ export class YamlCompletion {
445
441
  }
446
442
  // proposals for values
447
443
  const types = {};
448
- this.getValueCompletions(schema, currentDoc, node, offset, document, collector, types);
444
+ this.getValueCompletions(schema, currentDoc, node, offset, document, collector, types, doComplete);
449
445
  }
450
446
  catch (err) {
451
447
  this.telemetry.sendError('yaml.completion.error', { error: convertErrorToTelemetryMsg(err) });
@@ -544,22 +540,23 @@ export class YamlCompletion {
544
540
  map.items[0].value.range = node.range;
545
541
  return map;
546
542
  }
547
- addPropertyCompletions(schema, doc, node, originalNode, separatorAfter, collector, textBuffer, overwriteRange) {
543
+ addPropertyCompletions(schema, doc, node, originalNode, separatorAfter, collector, textBuffer, overwriteRange, doComplete) {
548
544
  var _a, _b;
549
- const matchingSchemas = doc.getMatchingSchemas(schema.schema);
545
+ const matchingSchemas = doc.getMatchingSchemas(schema.schema, -1, null, doComplete);
550
546
  const existingKey = textBuffer.getText(overwriteRange);
551
547
  const lineContent = textBuffer.getLineContent(overwriteRange.start.line);
552
548
  const hasOnlyWhitespace = lineContent.trim().length === 0;
553
549
  const hasColon = lineContent.indexOf(':') !== -1;
550
+ const isInArray = lineContent.trimLeft().indexOf('-') === 0;
554
551
  const nodeParent = doc.getParent(node);
555
552
  const matchOriginal = matchingSchemas.find((it) => it.node.internalNode === originalNode && it.schema.properties);
556
553
  for (const schema of matchingSchemas) {
557
- if (((schema.node.internalNode === node && !matchOriginal) || schema.node.internalNode === originalNode) &&
554
+ if (((schema.node.internalNode === node && !matchOriginal) || (schema.node.internalNode === originalNode && !hasColon)) &&
558
555
  !schema.inverted) {
559
556
  this.collectDefaultSnippets(schema.schema, separatorAfter, collector, {
560
557
  newLineFirst: false,
561
558
  indentFirstObject: false,
562
- shouldIndentWithTab: false,
559
+ shouldIndentWithTab: isInArray,
563
560
  });
564
561
  const schemaProperties = schema.schema.properties;
565
562
  if (schemaProperties) {
@@ -685,7 +682,7 @@ export class YamlCompletion {
685
682
  }
686
683
  }
687
684
  }
688
- getValueCompletions(schema, doc, node, offset, document, collector, types) {
685
+ getValueCompletions(schema, doc, node, offset, document, collector, types, doComplete) {
689
686
  let parentKey = null;
690
687
  if (node && isScalar(node)) {
691
688
  node = doc.getParent(node);
@@ -704,7 +701,7 @@ export class YamlCompletion {
704
701
  }
705
702
  if (node && (parentKey !== null || isSeq(node))) {
706
703
  const separatorAfter = '';
707
- const matchingSchemas = doc.getMatchingSchemas(schema.schema);
704
+ const matchingSchemas = doc.getMatchingSchemas(schema.schema, -1, null, doComplete);
708
705
  for (const s of matchingSchemas) {
709
706
  if (s.node.internalNode === node && !s.inverted && s.schema) {
710
707
  if (s.schema.items) {
@@ -925,7 +922,7 @@ export class YamlCompletion {
925
922
  if (arrayInsertLines.length > 1) {
926
923
  for (let index = 1; index < arrayInsertLines.length; index++) {
927
924
  const element = arrayInsertLines[index];
928
- arrayInsertLines[index] = `${indent}${this.indentation} ${element.trimLeft()}`;
925
+ arrayInsertLines[index] = ` ${element}`;
929
926
  }
930
927
  arrayTemplate = arrayInsertLines.join('\n');
931
928
  }
@@ -1031,13 +1028,16 @@ export class YamlCompletion {
1031
1028
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1032
1029
  getInsertTextForValue(value, separatorAfter, type) {
1033
1030
  if (value === null) {
1034
- value = 'null'; // replace type null with string 'null'
1031
+ return 'null'; // replace type null with string 'null'
1035
1032
  }
1036
1033
  switch (typeof value) {
1037
1034
  case 'object': {
1038
1035
  const indent = this.indentation;
1039
1036
  return this.getInsertTemplateForValue(value, indent, { index: 1 }, separatorAfter);
1040
1037
  }
1038
+ case 'number':
1039
+ case 'boolean':
1040
+ return this.getInsertTextForPlainText(value + separatorAfter);
1041
1041
  }
1042
1042
  type = Array.isArray(type) ? type[0] : type;
1043
1043
  if (type === 'string') {
@@ -1183,7 +1183,7 @@ export class YamlCompletion {
1183
1183
  collector.add({
1184
1184
  kind: this.getSuggestionKind(schema.type),
1185
1185
  label: this.getLabelForValue(enm),
1186
- insertText: this.getInsertTextForValue(enm, separatorAfter, undefined),
1186
+ insertText: this.getInsertTextForValue(enm, separatorAfter, schema.type),
1187
1187
  insertTextFormat: InsertTextFormat.Snippet,
1188
1188
  documentation: documentation,
1189
1189
  });
@@ -1401,7 +1401,7 @@ function convertToStringValue(param) {
1401
1401
  if (value.indexOf('"') !== -1) {
1402
1402
  value = value.replace(doubleQuotesEscapeRegExp, '"');
1403
1403
  }
1404
- let doQuote = value.charAt(0) === '@';
1404
+ let doQuote = !isNaN(parseInt(value)) || value.charAt(0) === '@';
1405
1405
  if (!doQuote) {
1406
1406
  // need to quote value if in `foo: bar`, `foo : bar` (mapping) or `foo:` (partial map) format
1407
1407
  // but `foo:bar` and `:bar` (colon without white-space after it) are just plain string