@platformos/platformos-language-server-common 0.0.2

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 (711) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +87 -0
  3. package/dist/ClientCapabilities.d.ts +14 -0
  4. package/dist/ClientCapabilities.js +52 -0
  5. package/dist/ClientCapabilities.js.map +1 -0
  6. package/dist/PropertyShapeInference.d.ts +57 -0
  7. package/dist/PropertyShapeInference.js +336 -0
  8. package/dist/PropertyShapeInference.js.map +1 -0
  9. package/dist/TypeSystem.d.ts +94 -0
  10. package/dist/TypeSystem.js +1481 -0
  11. package/dist/TypeSystem.js.map +1 -0
  12. package/dist/VariableShapeExtractor.d.ts +14 -0
  13. package/dist/VariableShapeExtractor.js +283 -0
  14. package/dist/VariableShapeExtractor.js.map +1 -0
  15. package/dist/codeActions/BaseCodeActionsProvider.d.ts +11 -0
  16. package/dist/codeActions/BaseCodeActionsProvider.js +14 -0
  17. package/dist/codeActions/BaseCodeActionsProvider.js.map +1 -0
  18. package/dist/codeActions/CodeActionsProvider.d.ts +9 -0
  19. package/dist/codeActions/CodeActionsProvider.js +22 -0
  20. package/dist/codeActions/CodeActionsProvider.js.map +1 -0
  21. package/dist/codeActions/index.d.ts +1 -0
  22. package/dist/codeActions/index.js +7 -0
  23. package/dist/codeActions/index.js.map +1 -0
  24. package/dist/codeActions/providers/FixAllProvider.d.ts +23 -0
  25. package/dist/codeActions/providers/FixAllProvider.js +52 -0
  26. package/dist/codeActions/providers/FixAllProvider.js.map +1 -0
  27. package/dist/codeActions/providers/FixProvider.d.ts +6 -0
  28. package/dist/codeActions/providers/FixProvider.js +72 -0
  29. package/dist/codeActions/providers/FixProvider.js.map +1 -0
  30. package/dist/codeActions/providers/GenerateDocBlockProvider.d.ts +10 -0
  31. package/dist/codeActions/providers/GenerateDocBlockProvider.js +39 -0
  32. package/dist/codeActions/providers/GenerateDocBlockProvider.js.map +1 -0
  33. package/dist/codeActions/providers/SuggestionProvider.d.ts +6 -0
  34. package/dist/codeActions/providers/SuggestionProvider.js +41 -0
  35. package/dist/codeActions/providers/SuggestionProvider.js.map +1 -0
  36. package/dist/codeActions/providers/index.d.ts +3 -0
  37. package/dist/codeActions/providers/index.js +10 -0
  38. package/dist/codeActions/providers/index.js.map +1 -0
  39. package/dist/codeActions/providers/utils.d.ts +20 -0
  40. package/dist/codeActions/providers/utils.js +29 -0
  41. package/dist/codeActions/providers/utils.js.map +1 -0
  42. package/dist/commands/BaseExecuteCommandProvider.d.ts +13 -0
  43. package/dist/commands/BaseExecuteCommandProvider.js +13 -0
  44. package/dist/commands/BaseExecuteCommandProvider.js.map +1 -0
  45. package/dist/commands/ExecuteCommandProvider.d.ts +11 -0
  46. package/dist/commands/ExecuteCommandProvider.js +30 -0
  47. package/dist/commands/ExecuteCommandProvider.js.map +1 -0
  48. package/dist/commands/index.d.ts +2 -0
  49. package/dist/commands/index.js +9 -0
  50. package/dist/commands/index.js.map +1 -0
  51. package/dist/commands/providers/ApplyFixesProvider.d.ts +19 -0
  52. package/dist/commands/providers/ApplyFixesProvider.js +69 -0
  53. package/dist/commands/providers/ApplyFixesProvider.js.map +1 -0
  54. package/dist/commands/providers/ApplySuggestionProvider.d.ts +19 -0
  55. package/dist/commands/providers/ApplySuggestionProvider.js +73 -0
  56. package/dist/commands/providers/ApplySuggestionProvider.js.map +1 -0
  57. package/dist/commands/providers/GenerateDocBlockCommandProvider.d.ts +19 -0
  58. package/dist/commands/providers/GenerateDocBlockCommandProvider.js +64 -0
  59. package/dist/commands/providers/GenerateDocBlockCommandProvider.js.map +1 -0
  60. package/dist/commands/providers/RunChecksProvider.d.ts +26 -0
  61. package/dist/commands/providers/RunChecksProvider.js +32 -0
  62. package/dist/commands/providers/RunChecksProvider.js.map +1 -0
  63. package/dist/commands/providers/index.d.ts +3 -0
  64. package/dist/commands/providers/index.js +12 -0
  65. package/dist/commands/providers/index.js.map +1 -0
  66. package/dist/completions/CompletionsProvider.d.ts +35 -0
  67. package/dist/completions/CompletionsProvider.js +55 -0
  68. package/dist/completions/CompletionsProvider.js.map +1 -0
  69. package/dist/completions/index.d.ts +1 -0
  70. package/dist/completions/index.js +6 -0
  71. package/dist/completions/index.js.map +1 -0
  72. package/dist/completions/params/LiquidCompletionParams.d.ts +24 -0
  73. package/dist/completions/params/LiquidCompletionParams.js +436 -0
  74. package/dist/completions/params/LiquidCompletionParams.js.map +1 -0
  75. package/dist/completions/params/fix.d.ts +11 -0
  76. package/dist/completions/params/fix.js +238 -0
  77. package/dist/completions/params/fix.js.map +1 -0
  78. package/dist/completions/params/index.d.ts +2 -0
  79. package/dist/completions/params/index.js +8 -0
  80. package/dist/completions/params/index.js.map +1 -0
  81. package/dist/completions/providers/ContentForBlockTypeCompletionProvider.d.ts +8 -0
  82. package/dist/completions/providers/ContentForBlockTypeCompletionProvider.js +36 -0
  83. package/dist/completions/providers/ContentForBlockTypeCompletionProvider.js.map +1 -0
  84. package/dist/completions/providers/ContentForCompletionProvider.d.ts +7 -0
  85. package/dist/completions/providers/ContentForCompletionProvider.js +87 -0
  86. package/dist/completions/providers/ContentForCompletionProvider.js.map +1 -0
  87. package/dist/completions/providers/ContentForParameterCompletionProvider.d.ts +23 -0
  88. package/dist/completions/providers/ContentForParameterCompletionProvider.js +127 -0
  89. package/dist/completions/providers/ContentForParameterCompletionProvider.js.map +1 -0
  90. package/dist/completions/providers/FilterCompletionProvider.d.ts +21 -0
  91. package/dist/completions/providers/FilterCompletionProvider.js +162 -0
  92. package/dist/completions/providers/FilterCompletionProvider.js.map +1 -0
  93. package/dist/completions/providers/FilterNamedParameterCompletionProvider.d.ts +15 -0
  94. package/dist/completions/providers/FilterNamedParameterCompletionProvider.js +86 -0
  95. package/dist/completions/providers/FilterNamedParameterCompletionProvider.js.map +1 -0
  96. package/dist/completions/providers/HtmlAttributeCompletionProvider.d.ts +13 -0
  97. package/dist/completions/providers/HtmlAttributeCompletionProvider.js +83 -0
  98. package/dist/completions/providers/HtmlAttributeCompletionProvider.js.map +1 -0
  99. package/dist/completions/providers/HtmlAttributeValueCompletionProvider.d.ts +7 -0
  100. package/dist/completions/providers/HtmlAttributeValueCompletionProvider.js +53 -0
  101. package/dist/completions/providers/HtmlAttributeValueCompletionProvider.js.map +1 -0
  102. package/dist/completions/providers/HtmlTagCompletionProvider.d.ts +7 -0
  103. package/dist/completions/providers/HtmlTagCompletionProvider.js +90 -0
  104. package/dist/completions/providers/HtmlTagCompletionProvider.js.map +1 -0
  105. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.d.ts +9 -0
  106. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.js +56 -0
  107. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.js.map +1 -0
  108. package/dist/completions/providers/LiquidDocTagCompletionProvider.d.ts +8 -0
  109. package/dist/completions/providers/LiquidDocTagCompletionProvider.js +62 -0
  110. package/dist/completions/providers/LiquidDocTagCompletionProvider.js.map +1 -0
  111. package/dist/completions/providers/LiquidTagsCompletionProvider.d.ts +9 -0
  112. package/dist/completions/providers/LiquidTagsCompletionProvider.js +367 -0
  113. package/dist/completions/providers/LiquidTagsCompletionProvider.js.map +1 -0
  114. package/dist/completions/providers/ObjectAttributeCompletionProvider.d.ts +9 -0
  115. package/dist/completions/providers/ObjectAttributeCompletionProvider.js +71 -0
  116. package/dist/completions/providers/ObjectAttributeCompletionProvider.js.map +1 -0
  117. package/dist/completions/providers/ObjectCompletionProvider.d.ts +9 -0
  118. package/dist/completions/providers/ObjectCompletionProvider.js +35 -0
  119. package/dist/completions/providers/ObjectCompletionProvider.js.map +1 -0
  120. package/dist/completions/providers/PartialCompletionProvider.d.ts +9 -0
  121. package/dist/completions/providers/PartialCompletionProvider.js +34 -0
  122. package/dist/completions/providers/PartialCompletionProvider.js.map +1 -0
  123. package/dist/completions/providers/RenderPartialParameterCompletionProvider.d.ts +10 -0
  124. package/dist/completions/providers/RenderPartialParameterCompletionProvider.js +55 -0
  125. package/dist/completions/providers/RenderPartialParameterCompletionProvider.js.map +1 -0
  126. package/dist/completions/providers/TranslationCompletionProvider.d.ts +11 -0
  127. package/dist/completions/providers/TranslationCompletionProvider.js +78 -0
  128. package/dist/completions/providers/TranslationCompletionProvider.js.map +1 -0
  129. package/dist/completions/providers/common/CompletionItemProperties.d.ts +7 -0
  130. package/dist/completions/providers/common/CompletionItemProperties.js +52 -0
  131. package/dist/completions/providers/common/CompletionItemProperties.js.map +1 -0
  132. package/dist/completions/providers/common/Provider.d.ts +5 -0
  133. package/dist/completions/providers/common/Provider.js +3 -0
  134. package/dist/completions/providers/common/Provider.js.map +1 -0
  135. package/dist/completions/providers/common/index.d.ts +7 -0
  136. package/dist/completions/providers/common/index.js +17 -0
  137. package/dist/completions/providers/common/index.js.map +1 -0
  138. package/dist/completions/providers/data/contentForParameterCompletionOptions.d.ts +7 -0
  139. package/dist/completions/providers/data/contentForParameterCompletionOptions.js +13 -0
  140. package/dist/completions/providers/data/contentForParameterCompletionOptions.js.map +1 -0
  141. package/dist/completions/providers/index.d.ts +17 -0
  142. package/dist/completions/providers/index.js +36 -0
  143. package/dist/completions/providers/index.js.map +1 -0
  144. package/dist/css/CSSLanguageService.d.ts +12 -0
  145. package/dist/css/CSSLanguageService.js +94 -0
  146. package/dist/css/CSSLanguageService.js.map +1 -0
  147. package/dist/css/test/test-helpers.d.ts +4 -0
  148. package/dist/css/test/test-helpers.js +19 -0
  149. package/dist/css/test/test-helpers.js.map +1 -0
  150. package/dist/definitions/BaseDefinitionProvider.d.ts +5 -0
  151. package/dist/definitions/BaseDefinitionProvider.js +3 -0
  152. package/dist/definitions/BaseDefinitionProvider.js.map +1 -0
  153. package/dist/definitions/DefinitionProvider.d.ts +8 -0
  154. package/dist/definitions/DefinitionProvider.js +29 -0
  155. package/dist/definitions/DefinitionProvider.js.map +1 -0
  156. package/dist/definitions/providers/SchemaTranslationStringDefinitionProvider.d.ts +10 -0
  157. package/dist/definitions/providers/SchemaTranslationStringDefinitionProvider.js +55 -0
  158. package/dist/definitions/providers/SchemaTranslationStringDefinitionProvider.js.map +1 -0
  159. package/dist/definitions/providers/TranslationStringDefinitionProvider.d.ts +10 -0
  160. package/dist/definitions/providers/TranslationStringDefinitionProvider.js +48 -0
  161. package/dist/definitions/providers/TranslationStringDefinitionProvider.js.map +1 -0
  162. package/dist/diagnostics/DiagnosticsManager.d.ts +24 -0
  163. package/dist/diagnostics/DiagnosticsManager.js +40 -0
  164. package/dist/diagnostics/DiagnosticsManager.js.map +1 -0
  165. package/dist/diagnostics/index.d.ts +2 -0
  166. package/dist/diagnostics/index.js +8 -0
  167. package/dist/diagnostics/index.js.map +1 -0
  168. package/dist/diagnostics/offenseToDiagnostic.d.ts +4 -0
  169. package/dist/diagnostics/offenseToDiagnostic.js +68 -0
  170. package/dist/diagnostics/offenseToDiagnostic.js.map +1 -0
  171. package/dist/diagnostics/runChecks.d.ts +9 -0
  172. package/dist/diagnostics/runChecks.js +103 -0
  173. package/dist/diagnostics/runChecks.js.map +1 -0
  174. package/dist/docset/HtmlDocset.d.ts +35 -0
  175. package/dist/docset/HtmlDocset.js +39 -0
  176. package/dist/docset/HtmlDocset.js.map +1 -0
  177. package/dist/docset/MarkdownRenderer.d.ts +7 -0
  178. package/dist/docset/MarkdownRenderer.js +125 -0
  179. package/dist/docset/MarkdownRenderer.js.map +1 -0
  180. package/dist/docset/index.d.ts +2 -0
  181. package/dist/docset/index.js +22 -0
  182. package/dist/docset/index.js.map +1 -0
  183. package/dist/documentHighlights/BaseDocumentHighlightsProvider.d.ts +5 -0
  184. package/dist/documentHighlights/BaseDocumentHighlightsProvider.js +3 -0
  185. package/dist/documentHighlights/BaseDocumentHighlightsProvider.js.map +1 -0
  186. package/dist/documentHighlights/DocumentHighlightsProvider.d.ts +22 -0
  187. package/dist/documentHighlights/DocumentHighlightsProvider.js +41 -0
  188. package/dist/documentHighlights/DocumentHighlightsProvider.js.map +1 -0
  189. package/dist/documentHighlights/index.d.ts +1 -0
  190. package/dist/documentHighlights/index.js +7 -0
  191. package/dist/documentHighlights/index.js.map +1 -0
  192. package/dist/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.d.ts +11 -0
  193. package/dist/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.js +20 -0
  194. package/dist/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.js.map +1 -0
  195. package/dist/documentHighlights/providers/LiquidBlockTagDocumentHighlightsProvider.d.ts +11 -0
  196. package/dist/documentHighlights/providers/LiquidBlockTagDocumentHighlightsProvider.js +48 -0
  197. package/dist/documentHighlights/providers/LiquidBlockTagDocumentHighlightsProvider.js.map +1 -0
  198. package/dist/documentHighlights/providers/index.d.ts +2 -0
  199. package/dist/documentHighlights/providers/index.js +8 -0
  200. package/dist/documentHighlights/providers/index.js.map +1 -0
  201. package/dist/documentLinks/DocumentLinksProvider.d.ts +12 -0
  202. package/dist/documentLinks/DocumentLinksProvider.js +78 -0
  203. package/dist/documentLinks/DocumentLinksProvider.js.map +1 -0
  204. package/dist/documentLinks/index.d.ts +1 -0
  205. package/dist/documentLinks/index.js +6 -0
  206. package/dist/documentLinks/index.js.map +1 -0
  207. package/dist/documents/DocumentManager.d.ts +60 -0
  208. package/dist/documents/DocumentManager.js +167 -0
  209. package/dist/documents/DocumentManager.js.map +1 -0
  210. package/dist/documents/index.d.ts +2 -0
  211. package/dist/documents/index.js +21 -0
  212. package/dist/documents/index.js.map +1 -0
  213. package/dist/documents/types.d.ts +39 -0
  214. package/dist/documents/types.js +11 -0
  215. package/dist/documents/types.js.map +1 -0
  216. package/dist/formatting/OnTypeFormattingProvider.d.ts +10 -0
  217. package/dist/formatting/OnTypeFormattingProvider.js +24 -0
  218. package/dist/formatting/OnTypeFormattingProvider.js.map +1 -0
  219. package/dist/formatting/index.d.ts +1 -0
  220. package/dist/formatting/index.js +6 -0
  221. package/dist/formatting/index.js.map +1 -0
  222. package/dist/formatting/providers/BracketsAutoclosingOnTypeFormattingProvider.d.ts +49 -0
  223. package/dist/formatting/providers/BracketsAutoclosingOnTypeFormattingProvider.js +105 -0
  224. package/dist/formatting/providers/BracketsAutoclosingOnTypeFormattingProvider.js.map +1 -0
  225. package/dist/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.d.ts +41 -0
  226. package/dist/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.js +105 -0
  227. package/dist/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.js.map +1 -0
  228. package/dist/formatting/types.d.ts +7 -0
  229. package/dist/formatting/types.js +3 -0
  230. package/dist/formatting/types.js.map +1 -0
  231. package/dist/hover/BaseHoverProvider.d.ts +5 -0
  232. package/dist/hover/BaseHoverProvider.js +3 -0
  233. package/dist/hover/BaseHoverProvider.js.map +1 -0
  234. package/dist/hover/HoverProvider.d.ts +20 -0
  235. package/dist/hover/HoverProvider.js +55 -0
  236. package/dist/hover/HoverProvider.js.map +1 -0
  237. package/dist/hover/index.d.ts +1 -0
  238. package/dist/hover/index.js +6 -0
  239. package/dist/hover/index.js.map +1 -0
  240. package/dist/hover/providers/ContentForArgumentHoverProvider.d.ts +8 -0
  241. package/dist/hover/providers/ContentForArgumentHoverProvider.js +37 -0
  242. package/dist/hover/providers/ContentForArgumentHoverProvider.js.map +1 -0
  243. package/dist/hover/providers/ContentForTypeHoverProvider.d.ts +8 -0
  244. package/dist/hover/providers/ContentForTypeHoverProvider.js +32 -0
  245. package/dist/hover/providers/ContentForTypeHoverProvider.js.map +1 -0
  246. package/dist/hover/providers/HtmlAttributeHoverProvider.d.ts +6 -0
  247. package/dist/hover/providers/HtmlAttributeHoverProvider.js +37 -0
  248. package/dist/hover/providers/HtmlAttributeHoverProvider.js.map +1 -0
  249. package/dist/hover/providers/HtmlAttributeValueHoverProvider.d.ts +6 -0
  250. package/dist/hover/providers/HtmlAttributeValueHoverProvider.js +42 -0
  251. package/dist/hover/providers/HtmlAttributeValueHoverProvider.js.map +1 -0
  252. package/dist/hover/providers/HtmlTagHoverProvider.d.ts +6 -0
  253. package/dist/hover/providers/HtmlTagHoverProvider.js +37 -0
  254. package/dist/hover/providers/HtmlTagHoverProvider.js.map +1 -0
  255. package/dist/hover/providers/LiquidDocTagHoverProvider.d.ts +9 -0
  256. package/dist/hover/providers/LiquidDocTagHoverProvider.js +42 -0
  257. package/dist/hover/providers/LiquidDocTagHoverProvider.js.map +1 -0
  258. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.d.ts +8 -0
  259. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.js +36 -0
  260. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.js.map +1 -0
  261. package/dist/hover/providers/LiquidFilterHoverProvider.d.ts +8 -0
  262. package/dist/hover/providers/LiquidFilterHoverProvider.js +29 -0
  263. package/dist/hover/providers/LiquidFilterHoverProvider.js.map +1 -0
  264. package/dist/hover/providers/LiquidObjectAttributeHoverProvider.d.ts +9 -0
  265. package/dist/hover/providers/LiquidObjectAttributeHoverProvider.js +113 -0
  266. package/dist/hover/providers/LiquidObjectAttributeHoverProvider.js.map +1 -0
  267. package/dist/hover/providers/LiquidObjectHoverProvider.d.ts +9 -0
  268. package/dist/hover/providers/LiquidObjectHoverProvider.js +72 -0
  269. package/dist/hover/providers/LiquidObjectHoverProvider.js.map +1 -0
  270. package/dist/hover/providers/LiquidTagHoverProvider.d.ts +8 -0
  271. package/dist/hover/providers/LiquidTagHoverProvider.js +31 -0
  272. package/dist/hover/providers/LiquidTagHoverProvider.js.map +1 -0
  273. package/dist/hover/providers/RenderPartialHoverProvider.d.ts +8 -0
  274. package/dist/hover/providers/RenderPartialHoverProvider.js +28 -0
  275. package/dist/hover/providers/RenderPartialHoverProvider.js.map +1 -0
  276. package/dist/hover/providers/RenderPartialParameterHoverProvider.d.ts +8 -0
  277. package/dist/hover/providers/RenderPartialParameterHoverProvider.js +33 -0
  278. package/dist/hover/providers/RenderPartialParameterHoverProvider.js.map +1 -0
  279. package/dist/hover/providers/TranslationHoverProvider.d.ts +13 -0
  280. package/dist/hover/providers/TranslationHoverProvider.js +45 -0
  281. package/dist/hover/providers/TranslationHoverProvider.js.map +1 -0
  282. package/dist/hover/providers/index.d.ts +11 -0
  283. package/dist/hover/providers/index.js +26 -0
  284. package/dist/hover/providers/index.js.map +1 -0
  285. package/dist/index.d.ts +8 -0
  286. package/dist/index.js +33 -0
  287. package/dist/index.js.map +1 -0
  288. package/dist/internal-types.d.ts +1 -0
  289. package/dist/internal-types.js +3 -0
  290. package/dist/internal-types.js.map +1 -0
  291. package/dist/json/JSONContributions.d.ts +25 -0
  292. package/dist/json/JSONContributions.js +99 -0
  293. package/dist/json/JSONContributions.js.map +1 -0
  294. package/dist/json/JSONLanguageService.d.ts +27 -0
  295. package/dist/json/JSONLanguageService.js +171 -0
  296. package/dist/json/JSONLanguageService.js.map +1 -0
  297. package/dist/json/RequestContext.d.ts +22 -0
  298. package/dist/json/RequestContext.js +14 -0
  299. package/dist/json/RequestContext.js.map +1 -0
  300. package/dist/json/completions/JSONCompletionProvider.d.ts +30 -0
  301. package/dist/json/completions/JSONCompletionProvider.js +3 -0
  302. package/dist/json/completions/JSONCompletionProvider.js.map +1 -0
  303. package/dist/json/completions/providers/BlockSettingsPropertyCompletionProvider.d.ts +44 -0
  304. package/dist/json/completions/providers/BlockSettingsPropertyCompletionProvider.js +98 -0
  305. package/dist/json/completions/providers/BlockSettingsPropertyCompletionProvider.js.map +1 -0
  306. package/dist/json/completions/providers/BlockTypeCompletionProvider.d.ts +35 -0
  307. package/dist/json/completions/providers/BlockTypeCompletionProvider.js +97 -0
  308. package/dist/json/completions/providers/BlockTypeCompletionProvider.js.map +1 -0
  309. package/dist/json/completions/providers/ReferencedBlockTypeCompletionProvider.d.ts +34 -0
  310. package/dist/json/completions/providers/ReferencedBlockTypeCompletionProvider.js +95 -0
  311. package/dist/json/completions/providers/ReferencedBlockTypeCompletionProvider.js.map +1 -0
  312. package/dist/json/completions/providers/SchemaTranslationCompletionProvider.d.ts +9 -0
  313. package/dist/json/completions/providers/SchemaTranslationCompletionProvider.js +46 -0
  314. package/dist/json/completions/providers/SchemaTranslationCompletionProvider.js.map +1 -0
  315. package/dist/json/completions/providers/SettingsPropertyCompletionProvider.d.ts +33 -0
  316. package/dist/json/completions/providers/SettingsPropertyCompletionProvider.js +64 -0
  317. package/dist/json/completions/providers/SettingsPropertyCompletionProvider.js.map +1 -0
  318. package/dist/json/documentLinks/DocumentLinksProvider.d.ts +6 -0
  319. package/dist/json/documentLinks/DocumentLinksProvider.js +45 -0
  320. package/dist/json/documentLinks/DocumentLinksProvider.js.map +1 -0
  321. package/dist/json/hover/JSONHoverProvider.d.ts +7 -0
  322. package/dist/json/hover/JSONHoverProvider.js +3 -0
  323. package/dist/json/hover/JSONHoverProvider.js.map +1 -0
  324. package/dist/json/hover/providers/BlockSettingsHoverProvider.d.ts +12 -0
  325. package/dist/json/hover/providers/BlockSettingsHoverProvider.js +75 -0
  326. package/dist/json/hover/providers/BlockSettingsHoverProvider.js.map +1 -0
  327. package/dist/json/hover/providers/SchemaTranslationHoverProvider.d.ts +10 -0
  328. package/dist/json/hover/providers/SchemaTranslationHoverProvider.js +36 -0
  329. package/dist/json/hover/providers/SchemaTranslationHoverProvider.js.map +1 -0
  330. package/dist/json/hover/providers/SettingsHoverProvider.d.ts +10 -0
  331. package/dist/json/hover/providers/SettingsHoverProvider.js +62 -0
  332. package/dist/json/hover/providers/SettingsHoverProvider.js.map +1 -0
  333. package/dist/json/hover/providers/TranslationPathHoverProvider.d.ts +9 -0
  334. package/dist/json/hover/providers/TranslationPathHoverProvider.js +65 -0
  335. package/dist/json/hover/providers/TranslationPathHoverProvider.js.map +1 -0
  336. package/dist/json/schemaSettings.d.ts +4 -0
  337. package/dist/json/schemaSettings.js +45 -0
  338. package/dist/json/schemaSettings.js.map +1 -0
  339. package/dist/json/test/test-helpers.d.ts +8 -0
  340. package/dist/json/test/test-helpers.js +42 -0
  341. package/dist/json/test/test-helpers.js.map +1 -0
  342. package/dist/json/utils.d.ts +6 -0
  343. package/dist/json/utils.js +31 -0
  344. package/dist/json/utils.js.map +1 -0
  345. package/dist/linkedEditingRanges/BaseLinkedEditingRangesProvider.d.ts +5 -0
  346. package/dist/linkedEditingRanges/BaseLinkedEditingRangesProvider.js +3 -0
  347. package/dist/linkedEditingRanges/BaseLinkedEditingRangesProvider.js.map +1 -0
  348. package/dist/linkedEditingRanges/LinkedEditingRangesProvider.d.ts +8 -0
  349. package/dist/linkedEditingRanges/LinkedEditingRangesProvider.js +31 -0
  350. package/dist/linkedEditingRanges/LinkedEditingRangesProvider.js.map +1 -0
  351. package/dist/linkedEditingRanges/index.d.ts +1 -0
  352. package/dist/linkedEditingRanges/index.js +6 -0
  353. package/dist/linkedEditingRanges/index.js.map +1 -0
  354. package/dist/linkedEditingRanges/providers/EmptyHtmlTagLinkedRangesProvider.d.ts +9 -0
  355. package/dist/linkedEditingRanges/providers/EmptyHtmlTagLinkedRangesProvider.js +37 -0
  356. package/dist/linkedEditingRanges/providers/EmptyHtmlTagLinkedRangesProvider.js.map +1 -0
  357. package/dist/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.d.ts +12 -0
  358. package/dist/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.js +26 -0
  359. package/dist/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.js.map +1 -0
  360. package/dist/linkedEditingRanges/providers/index.d.ts +2 -0
  361. package/dist/linkedEditingRanges/providers/index.js +8 -0
  362. package/dist/linkedEditingRanges/providers/index.js.map +1 -0
  363. package/dist/linkedEditingRanges/wordPattern.d.ts +1 -0
  364. package/dist/linkedEditingRanges/wordPattern.js +7 -0
  365. package/dist/linkedEditingRanges/wordPattern.js.map +1 -0
  366. package/dist/plugins/css.d.ts +3 -0
  367. package/dist/plugins/css.js +12 -0
  368. package/dist/plugins/css.js.map +1 -0
  369. package/dist/progress.d.ts +42 -0
  370. package/dist/progress.js +74 -0
  371. package/dist/progress.js.map +1 -0
  372. package/dist/rename/BaseRenameProvider.d.ts +6 -0
  373. package/dist/rename/BaseRenameProvider.js +3 -0
  374. package/dist/rename/BaseRenameProvider.js.map +1 -0
  375. package/dist/rename/RenameProvider.d.ts +21 -0
  376. package/dist/rename/RenameProvider.js +58 -0
  377. package/dist/rename/RenameProvider.js.map +1 -0
  378. package/dist/rename/providers/HtmlTagNameRenameProvider.d.ts +10 -0
  379. package/dist/rename/providers/HtmlTagNameRenameProvider.js +39 -0
  380. package/dist/rename/providers/HtmlTagNameRenameProvider.js.map +1 -0
  381. package/dist/rename/providers/LiquidVariableRenameProvider.d.ts +16 -0
  382. package/dist/rename/providers/LiquidVariableRenameProvider.js +194 -0
  383. package/dist/rename/providers/LiquidVariableRenameProvider.js.map +1 -0
  384. package/dist/renamed/BaseRenameHandler.d.ts +4 -0
  385. package/dist/renamed/BaseRenameHandler.js +3 -0
  386. package/dist/renamed/BaseRenameHandler.js.map +1 -0
  387. package/dist/renamed/RenameHandler.d.ts +18 -0
  388. package/dist/renamed/RenameHandler.js +37 -0
  389. package/dist/renamed/RenameHandler.js.map +1 -0
  390. package/dist/renamed/handlers/AssetRenameHandler.d.ts +26 -0
  391. package/dist/renamed/handlers/AssetRenameHandler.js +99 -0
  392. package/dist/renamed/handlers/AssetRenameHandler.js.map +1 -0
  393. package/dist/renamed/handlers/BlockRenameHandler.d.ts +41 -0
  394. package/dist/renamed/handlers/BlockRenameHandler.js +304 -0
  395. package/dist/renamed/handlers/BlockRenameHandler.js.map +1 -0
  396. package/dist/renamed/handlers/PartialRenameHandler.d.ts +26 -0
  397. package/dist/renamed/handlers/PartialRenameHandler.js +99 -0
  398. package/dist/renamed/handlers/PartialRenameHandler.js.map +1 -0
  399. package/dist/renamed/handlers/SectionRenameHandler.d.ts +25 -0
  400. package/dist/renamed/handlers/SectionRenameHandler.js +176 -0
  401. package/dist/renamed/handlers/SectionRenameHandler.js.map +1 -0
  402. package/dist/renamed/handlers/utils.d.ts +3 -0
  403. package/dist/renamed/handlers/utils.js +20 -0
  404. package/dist/renamed/handlers/utils.js.map +1 -0
  405. package/dist/server/CachedFileSystem.d.ts +12 -0
  406. package/dist/server/CachedFileSystem.js +29 -0
  407. package/dist/server/CachedFileSystem.js.map +1 -0
  408. package/dist/server/Configuration.d.ts +25 -0
  409. package/dist/server/Configuration.js +77 -0
  410. package/dist/server/Configuration.js.map +1 -0
  411. package/dist/server/ThemeGraphManager.d.ts +35 -0
  412. package/dist/server/ThemeGraphManager.js +200 -0
  413. package/dist/server/ThemeGraphManager.js.map +1 -0
  414. package/dist/server/index.d.ts +1 -0
  415. package/dist/server/index.js +6 -0
  416. package/dist/server/index.js.map +1 -0
  417. package/dist/server/safe.d.ts +19 -0
  418. package/dist/server/safe.js +33 -0
  419. package/dist/server/safe.js.map +1 -0
  420. package/dist/server/startServer.d.ts +13 -0
  421. package/dist/server/startServer.js +598 -0
  422. package/dist/server/startServer.js.map +1 -0
  423. package/dist/settings/index.d.ts +29 -0
  424. package/dist/settings/index.js +11 -0
  425. package/dist/settings/index.js.map +1 -0
  426. package/dist/test/ApplyEditsAssertion.d.ts +14 -0
  427. package/dist/test/ApplyEditsAssertion.js +19 -0
  428. package/dist/test/ApplyEditsAssertion.js.map +1 -0
  429. package/dist/test/CompletionItemsAssertion.d.ts +25 -0
  430. package/dist/test/CompletionItemsAssertion.js +60 -0
  431. package/dist/test/CompletionItemsAssertion.js.map +1 -0
  432. package/dist/test/HoverAssertion.d.ts +16 -0
  433. package/dist/test/HoverAssertion.js +54 -0
  434. package/dist/test/HoverAssertion.js.map +1 -0
  435. package/dist/test/MockChecks.d.ts +2 -0
  436. package/dist/test/MockChecks.js +30 -0
  437. package/dist/test/MockChecks.js.map +1 -0
  438. package/dist/test/MockConnection.d.ts +44 -0
  439. package/dist/test/MockConnection.js +106 -0
  440. package/dist/test/MockConnection.js.map +1 -0
  441. package/dist/test/test-setup.d.ts +1 -0
  442. package/dist/test/test-setup.js +8 -0
  443. package/dist/test/test-setup.js.map +1 -0
  444. package/dist/translations.d.ts +19 -0
  445. package/dist/translations.js +73 -0
  446. package/dist/translations.js.map +1 -0
  447. package/dist/tsconfig.tsbuildinfo +1 -0
  448. package/dist/types.d.ts +149 -0
  449. package/dist/types.js +63 -0
  450. package/dist/types.js.map +1 -0
  451. package/dist/utils/array.d.ts +1 -0
  452. package/dist/utils/array.js +11 -0
  453. package/dist/utils/array.js.map +1 -0
  454. package/dist/utils/debounce.d.ts +37 -0
  455. package/dist/utils/debounce.js +44 -0
  456. package/dist/utils/debounce.js.map +1 -0
  457. package/dist/utils/htmlTagNames.d.ts +5 -0
  458. package/dist/utils/htmlTagNames.js +42 -0
  459. package/dist/utils/htmlTagNames.js.map +1 -0
  460. package/dist/utils/index.d.ts +5 -0
  461. package/dist/utils/index.js +26 -0
  462. package/dist/utils/index.js.map +1 -0
  463. package/dist/utils/isCovered.d.ts +4 -0
  464. package/dist/utils/isCovered.js +7 -0
  465. package/dist/utils/isCovered.js.map +1 -0
  466. package/dist/utils/liquidDoc.d.ts +22 -0
  467. package/dist/utils/liquidDoc.js +78 -0
  468. package/dist/utils/liquidDoc.js.map +1 -0
  469. package/dist/utils/node.d.ts +24 -0
  470. package/dist/utils/node.js +52 -0
  471. package/dist/utils/node.js.map +1 -0
  472. package/dist/utils/uri.d.ts +12 -0
  473. package/dist/utils/uri.js +30 -0
  474. package/dist/utils/uri.js.map +1 -0
  475. package/dist/version.d.ts +1 -0
  476. package/dist/version.js +9 -0
  477. package/dist/version.js.map +1 -0
  478. package/package.json +40 -0
  479. package/src/ClientCapabilities.ts +63 -0
  480. package/src/PropertyShapeInference.ts +394 -0
  481. package/src/TypeSystem.spec.ts +1150 -0
  482. package/src/TypeSystem.ts +1948 -0
  483. package/src/VariableShapeExtractor.ts +380 -0
  484. package/src/codeActions/BaseCodeActionsProvider.ts +18 -0
  485. package/src/codeActions/CodeActionsProvider.ts +28 -0
  486. package/src/codeActions/index.ts +1 -0
  487. package/src/codeActions/providers/FixAllProvider.spec.ts +115 -0
  488. package/src/codeActions/providers/FixAllProvider.ts +60 -0
  489. package/src/codeActions/providers/FixProvider.spec.ts +330 -0
  490. package/src/codeActions/providers/FixProvider.ts +105 -0
  491. package/src/codeActions/providers/SuggestionProvider.spec.ts +143 -0
  492. package/src/codeActions/providers/SuggestionProvider.ts +75 -0
  493. package/src/codeActions/providers/index.ts +3 -0
  494. package/src/codeActions/providers/utils.ts +47 -0
  495. package/src/commands/BaseExecuteCommandProvider.ts +15 -0
  496. package/src/commands/ExecuteCommandProvider.ts +59 -0
  497. package/src/commands/index.ts +2 -0
  498. package/src/commands/providers/ApplyFixesProvider.spec.ts +133 -0
  499. package/src/commands/providers/ApplyFixesProvider.ts +86 -0
  500. package/src/commands/providers/ApplySuggestionProvider.spec.ts +135 -0
  501. package/src/commands/providers/ApplySuggestionProvider.ts +105 -0
  502. package/src/commands/providers/RunChecksProvider.spec.ts +55 -0
  503. package/src/commands/providers/RunChecksProvider.ts +36 -0
  504. package/src/commands/providers/index.ts +3 -0
  505. package/src/completions/CompletionsProvider.ts +128 -0
  506. package/src/completions/index.ts +1 -0
  507. package/src/completions/params/LiquidCompletionParams.spec.ts +319 -0
  508. package/src/completions/params/LiquidCompletionParams.ts +538 -0
  509. package/src/completions/params/fix.spec.ts +159 -0
  510. package/src/completions/params/fix.ts +269 -0
  511. package/src/completions/params/index.ts +2 -0
  512. package/src/completions/params/testcases.txt +104 -0
  513. package/src/completions/providers/ContentForBlockTypeCompletionProvider.spec.ts +41 -0
  514. package/src/completions/providers/ContentForBlockTypeCompletionProvider.ts +42 -0
  515. package/src/completions/providers/ContentForCompletionProvider.spec.ts +96 -0
  516. package/src/completions/providers/ContentForCompletionProvider.ts +113 -0
  517. package/src/completions/providers/ContentForParameterCompletionProvider.spec.ts +362 -0
  518. package/src/completions/providers/ContentForParameterCompletionProvider.ts +187 -0
  519. package/src/completions/providers/FilterCompletionProvider.spec.ts +377 -0
  520. package/src/completions/providers/FilterCompletionProvider.ts +225 -0
  521. package/src/completions/providers/FilterNamedParameterCompletionProvider.spec.ts +239 -0
  522. package/src/completions/providers/FilterNamedParameterCompletionProvider.ts +121 -0
  523. package/src/completions/providers/HtmlAttributeCompletionProvider.spec.ts +150 -0
  524. package/src/completions/providers/HtmlAttributeCompletionProvider.ts +117 -0
  525. package/src/completions/providers/HtmlAttributeValueCompletionProvider.spec.ts +38 -0
  526. package/src/completions/providers/HtmlAttributeValueCompletionProvider.ts +65 -0
  527. package/src/completions/providers/HtmlTagCompletionProvider.spec.ts +57 -0
  528. package/src/completions/providers/HtmlTagCompletionProvider.ts +119 -0
  529. package/src/completions/providers/LiquidDocParamTypeCompletionProvider.spec.ts +79 -0
  530. package/src/completions/providers/LiquidDocParamTypeCompletionProvider.ts +65 -0
  531. package/src/completions/providers/LiquidDocTagCompletionProvider.spec.ts +144 -0
  532. package/src/completions/providers/LiquidDocTagCompletionProvider.ts +74 -0
  533. package/src/completions/providers/LiquidTagsCompletionProvider.spec.ts +377 -0
  534. package/src/completions/providers/LiquidTagsCompletionProvider.ts +459 -0
  535. package/src/completions/providers/ObjectAttributeCompletionProvider.spec.ts +524 -0
  536. package/src/completions/providers/ObjectAttributeCompletionProvider.ts +95 -0
  537. package/src/completions/providers/ObjectCompletionProvider.spec.ts +232 -0
  538. package/src/completions/providers/ObjectCompletionProvider.ts +44 -0
  539. package/src/completions/providers/PartialCompletionProvider.spec.ts +107 -0
  540. package/src/completions/providers/PartialCompletionProvider.ts +50 -0
  541. package/src/completions/providers/RenderPartialParameterCompletionProvider.spec.ts +91 -0
  542. package/src/completions/providers/RenderPartialParameterCompletionProvider.ts +79 -0
  543. package/src/completions/providers/TranslationCompletionProvider.spec.ts +65 -0
  544. package/src/completions/providers/TranslationCompletionProvider.ts +103 -0
  545. package/src/completions/providers/common/CompletionItemProperties.ts +66 -0
  546. package/src/completions/providers/common/Provider.ts +6 -0
  547. package/src/completions/providers/common/index.ts +18 -0
  548. package/src/completions/providers/data/contentForParameterCompletionOptions.ts +9 -0
  549. package/src/completions/providers/index.ts +20 -0
  550. package/src/css/CSSLanguageService.spec.ts +161 -0
  551. package/src/css/CSSLanguageService.ts +113 -0
  552. package/src/css/test/test-helpers.ts +30 -0
  553. package/src/definitions/BaseDefinitionProvider.ts +10 -0
  554. package/src/definitions/DefinitionProvider.ts +48 -0
  555. package/src/definitions/providers/SchemaTranslationStringDefinitionProvider.spec.ts +96 -0
  556. package/src/definitions/providers/SchemaTranslationStringDefinitionProvider.ts +82 -0
  557. package/src/definitions/providers/TranslationStringDefinitionProvider.spec.ts +77 -0
  558. package/src/definitions/providers/TranslationStringDefinitionProvider.ts +72 -0
  559. package/src/diagnostics/DiagnosticsManager.spec.ts +79 -0
  560. package/src/diagnostics/DiagnosticsManager.ts +58 -0
  561. package/src/diagnostics/index.ts +2 -0
  562. package/src/diagnostics/offenseToDiagnostic.ts +80 -0
  563. package/src/diagnostics/runChecks.spec.ts +285 -0
  564. package/src/diagnostics/runChecks.ts +147 -0
  565. package/src/docset/HtmlDocset.ts +43 -0
  566. package/src/docset/MarkdownRenderer.spec.ts +46 -0
  567. package/src/docset/MarkdownRenderer.ts +179 -0
  568. package/src/docset/index.ts +2 -0
  569. package/src/documentHighlights/BaseDocumentHighlightsProvider.ts +10 -0
  570. package/src/documentHighlights/DocumentHighlightsProvider.ts +54 -0
  571. package/src/documentHighlights/index.ts +1 -0
  572. package/src/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.spec.ts +94 -0
  573. package/src/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.ts +22 -0
  574. package/src/documentHighlights/providers/LiquidBlockTagDocumentHighlightsProvider.spec.ts +188 -0
  575. package/src/documentHighlights/providers/LiquidBlockTagDocumentHighlightsProvider.ts +73 -0
  576. package/src/documentHighlights/providers/index.ts +2 -0
  577. package/src/documentLinks/DocumentLinksProvider.spec.ts +66 -0
  578. package/src/documentLinks/DocumentLinksProvider.ts +123 -0
  579. package/src/documentLinks/index.ts +1 -0
  580. package/src/documents/DocumentManager.spec.ts +276 -0
  581. package/src/documents/DocumentManager.ts +232 -0
  582. package/src/documents/index.ts +2 -0
  583. package/src/documents/types.ts +55 -0
  584. package/src/formatting/OnTypeFormattingProvider.spec.ts +74 -0
  585. package/src/formatting/OnTypeFormattingProvider.ts +26 -0
  586. package/src/formatting/index.ts +1 -0
  587. package/src/formatting/providers/BracketsAutoclosingOnTypeFormattingProvider.spec.ts +88 -0
  588. package/src/formatting/providers/BracketsAutoclosingOnTypeFormattingProvider.ts +114 -0
  589. package/src/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.spec.ts +183 -0
  590. package/src/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.ts +127 -0
  591. package/src/formatting/types.ts +12 -0
  592. package/src/hover/BaseHoverProvider.ts +10 -0
  593. package/src/hover/HoverProvider.ts +86 -0
  594. package/src/hover/index.ts +1 -0
  595. package/src/hover/providers/ContentForArgumentHoverProvider.spec.ts +76 -0
  596. package/src/hover/providers/ContentForArgumentHoverProvider.ts +56 -0
  597. package/src/hover/providers/ContentForTypeHoverProvider.spec.ts +91 -0
  598. package/src/hover/providers/ContentForTypeHoverProvider.ts +42 -0
  599. package/src/hover/providers/HtmlAttributeHoverProvider.spec.ts +50 -0
  600. package/src/hover/providers/HtmlAttributeHoverProvider.ts +48 -0
  601. package/src/hover/providers/HtmlAttributeValueHoverProvider.spec.ts +38 -0
  602. package/src/hover/providers/HtmlAttributeValueHoverProvider.ts +52 -0
  603. package/src/hover/providers/HtmlTagHoverProvider.spec.ts +39 -0
  604. package/src/hover/providers/HtmlTagHoverProvider.ts +42 -0
  605. package/src/hover/providers/LiquidDocTagHoverProvider.spec.ts +64 -0
  606. package/src/hover/providers/LiquidDocTagHoverProvider.ts +58 -0
  607. package/src/hover/providers/LiquidFilterArgumentHoverProvider.spec.ts +57 -0
  608. package/src/hover/providers/LiquidFilterArgumentHoverProvider.ts +42 -0
  609. package/src/hover/providers/LiquidFilterHoverProvider.spec.ts +50 -0
  610. package/src/hover/providers/LiquidFilterHoverProvider.ts +29 -0
  611. package/src/hover/providers/LiquidObjectAttributeHoverProvider.spec.ts +238 -0
  612. package/src/hover/providers/LiquidObjectAttributeHoverProvider.ts +156 -0
  613. package/src/hover/providers/LiquidObjectHoverProvider.spec.ts +278 -0
  614. package/src/hover/providers/LiquidObjectHoverProvider.ts +95 -0
  615. package/src/hover/providers/LiquidTagHoverProvider.spec.ts +51 -0
  616. package/src/hover/providers/LiquidTagHoverProvider.ts +33 -0
  617. package/src/hover/providers/RenderPartialHoverProvider.spec.ts +85 -0
  618. package/src/hover/providers/RenderPartialHoverProvider.ts +38 -0
  619. package/src/hover/providers/RenderPartialParameterHoverProvider.spec.ts +70 -0
  620. package/src/hover/providers/RenderPartialParameterHoverProvider.ts +47 -0
  621. package/src/hover/providers/TranslationHoverProvider.spec.ts +59 -0
  622. package/src/hover/providers/TranslationHoverProvider.ts +61 -0
  623. package/src/hover/providers/index.ts +11 -0
  624. package/src/index.spec.ts +8 -0
  625. package/src/index.ts +34 -0
  626. package/src/internal-types.ts +1 -0
  627. package/src/json/JSONContributions.ts +150 -0
  628. package/src/json/JSONLanguageService.spec.ts +424 -0
  629. package/src/json/JSONLanguageService.ts +239 -0
  630. package/src/json/RequestContext.ts +35 -0
  631. package/src/json/completions/JSONCompletionProvider.ts +33 -0
  632. package/src/json/completions/providers/BlockSettingsPropertyCompletionProvider.spec.ts +163 -0
  633. package/src/json/completions/providers/BlockSettingsPropertyCompletionProvider.ts +121 -0
  634. package/src/json/completions/providers/BlockTypeCompletionProvider.spec.ts +137 -0
  635. package/src/json/completions/providers/BlockTypeCompletionProvider.ts +108 -0
  636. package/src/json/completions/providers/ReferencedBlockTypeCompletionProvider.spec.ts +132 -0
  637. package/src/json/completions/providers/ReferencedBlockTypeCompletionProvider.ts +120 -0
  638. package/src/json/completions/providers/SchemaTranslationCompletionProvider.ts +51 -0
  639. package/src/json/completions/providers/SettingsPropertyCompletionProvider.spec.ts +211 -0
  640. package/src/json/completions/providers/SettingsPropertyCompletionProvider.ts +75 -0
  641. package/src/json/documentLinks/DocumentLinksProvider.spec.ts +223 -0
  642. package/src/json/documentLinks/DocumentLinksProvider.ts +61 -0
  643. package/src/json/hover/JSONHoverProvider.ts +8 -0
  644. package/src/json/hover/providers/BlockSettingsHoverProvider.spec.ts +292 -0
  645. package/src/json/hover/providers/BlockSettingsHoverProvider.ts +99 -0
  646. package/src/json/hover/providers/SchemaTranslationHoverProvider.ts +35 -0
  647. package/src/json/hover/providers/SettingsHoverProvider.spec.ts +139 -0
  648. package/src/json/hover/providers/SettingsHoverProvider.ts +79 -0
  649. package/src/json/hover/providers/TranslationPathHoverProvider.ts +71 -0
  650. package/src/json/schemaSettings.spec.ts +103 -0
  651. package/src/json/schemaSettings.ts +53 -0
  652. package/src/json/test/test-helpers.ts +68 -0
  653. package/src/json/utils.ts +30 -0
  654. package/src/linkedEditingRanges/BaseLinkedEditingRangesProvider.ts +10 -0
  655. package/src/linkedEditingRanges/LinkedEditingRangesProvider.ts +40 -0
  656. package/src/linkedEditingRanges/index.ts +1 -0
  657. package/src/linkedEditingRanges/providers/EmptyHtmlTagLinkedRangesProvider.spec.ts +74 -0
  658. package/src/linkedEditingRanges/providers/EmptyHtmlTagLinkedRangesProvider.ts +47 -0
  659. package/src/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.spec.ts +102 -0
  660. package/src/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.ts +28 -0
  661. package/src/linkedEditingRanges/providers/index.ts +2 -0
  662. package/src/linkedEditingRanges/wordPattern.ts +3 -0
  663. package/src/plugins/css.ts +12 -0
  664. package/src/progress.ts +83 -0
  665. package/src/rename/BaseRenameProvider.ts +21 -0
  666. package/src/rename/RenameProvider.ts +91 -0
  667. package/src/rename/providers/HtmlTagNameRenameProvider.spec.ts +84 -0
  668. package/src/rename/providers/HtmlTagNameRenameProvider.ts +59 -0
  669. package/src/rename/providers/LiquidVariableRenameProvider.spec.ts +511 -0
  670. package/src/rename/providers/LiquidVariableRenameProvider.ts +300 -0
  671. package/src/renamed/BaseRenameHandler.ts +5 -0
  672. package/src/renamed/RenameHandler.ts +45 -0
  673. package/src/renamed/handlers/AssetRenameHandler.spec.ts +217 -0
  674. package/src/renamed/handlers/AssetRenameHandler.ts +108 -0
  675. package/src/renamed/handlers/BlockRenameHandler.spec.ts +399 -0
  676. package/src/renamed/handlers/BlockRenameHandler.ts +402 -0
  677. package/src/renamed/handlers/PartialRenameHandler.spec.ts +153 -0
  678. package/src/renamed/handlers/PartialRenameHandler.ts +110 -0
  679. package/src/renamed/handlers/SectionRenameHandler.spec.ts +321 -0
  680. package/src/renamed/handlers/SectionRenameHandler.ts +224 -0
  681. package/src/renamed/handlers/utils.ts +22 -0
  682. package/src/server/CachedFileSystem.ts +39 -0
  683. package/src/server/Configuration.ts +89 -0
  684. package/src/server/ThemeGraphManager.ts +265 -0
  685. package/src/server/index.ts +1 -0
  686. package/src/server/safe.ts +30 -0
  687. package/src/server/startServer.spec.ts +423 -0
  688. package/src/server/startServer.ts +771 -0
  689. package/src/settings/index.ts +50 -0
  690. package/src/test/ApplyEditsAssertion.spec.ts +57 -0
  691. package/src/test/ApplyEditsAssertion.ts +34 -0
  692. package/src/test/CompletionItemsAssertion.spec.ts +48 -0
  693. package/src/test/CompletionItemsAssertion.ts +99 -0
  694. package/src/test/HoverAssertion.ts +84 -0
  695. package/src/test/MockChecks.ts +32 -0
  696. package/src/test/MockConnection.ts +158 -0
  697. package/src/test/test-setup.ts +6 -0
  698. package/src/translations.ts +83 -0
  699. package/src/types.ts +173 -0
  700. package/src/utils/array.ts +6 -0
  701. package/src/utils/debounce.ts +60 -0
  702. package/src/utils/htmlTagNames.ts +61 -0
  703. package/src/utils/index.ts +12 -0
  704. package/src/utils/isCovered.ts +3 -0
  705. package/src/utils/liquidDoc.spec.ts +167 -0
  706. package/src/utils/liquidDoc.ts +102 -0
  707. package/src/utils/node.ts +69 -0
  708. package/src/utils/uri.ts +22 -0
  709. package/src/version.ts +3 -0
  710. package/tsconfig.build.json +10 -0
  711. package/tsconfig.json +24 -0
@@ -0,0 +1,149 @@
1
+ import { Config, Dependencies as ThemeCheckDependencies } from '@platformos/platformos-check-common';
2
+ import { AbstractFileSystem } from '@platformos/platformos-common';
3
+ import { URI } from 'vscode-languageserver';
4
+ import * as rpc from 'vscode-jsonrpc';
5
+ import { WithOptional } from './utils';
6
+ import { Range } from 'vscode-json-languageservice';
7
+ import { Reference } from '@platformos/platformos-graph';
8
+ export type Dependencies = WithOptional<RequiredDependencies, 'log' | 'getMetafieldDefinitions' | 'fetchMetafieldDefinitionsForURI'>;
9
+ export interface RequiredDependencies {
10
+ /**
11
+ * A basic logging function.
12
+ *
13
+ * You might want console.log in development, and bugsnag in production.
14
+ */
15
+ log(message: string): void;
16
+ /**
17
+ * loadConfig(uri)
18
+ *
19
+ * In local environments, it's possible for one Language Server to deal
20
+ * with a workspace that contains many different configurations. In the
21
+ * browser, it isn't.
22
+ *
23
+ * loadConfig is the runtime-agnostic solution.
24
+ *
25
+ * @example
26
+ *
27
+ * Here's an example VS Code workspace a partner could run
28
+ * ```
29
+ * theme1/
30
+ * src/
31
+ * locales/
32
+ * sections/
33
+ * snippets/
34
+ * dist/
35
+ * locales/
36
+ * sections/
37
+ * foo.liquud
38
+ * snippets/
39
+ * theme2/
40
+ * locales/
41
+ * sections/
42
+ * snippets/
43
+ * ```
44
+ *
45
+ * In this situation, we have 3 different "roots."
46
+ *
47
+ * @param uri - a file path
48
+ * @returns {Promise<Config>}
49
+ */
50
+ loadConfig(uri: URI, fs: AbstractFileSystem): Promise<Config>;
51
+ /**
52
+ * In local environments, the Language Server can download the latest versions
53
+ * of themes docset from `Shopify/theme-liquid-docs`. However, this is not
54
+ * possible in the browser, so we implement different solutions for each
55
+ * environment.
56
+ */
57
+ themeDocset: NonNullable<ThemeCheckDependencies['themeDocset']>;
58
+ /**
59
+ * In local environments, the Language Server can download the latest versions
60
+ * of themes schemas from `Shopify/theme-liquid-docs`. Due to limitations in
61
+ * browser environments, json schemas must be precompiled into validators prior
62
+ * to theme-check instantiation.
63
+ */
64
+ jsonValidationSet: NonNullable<ThemeCheckDependencies['jsonValidationSet']>;
65
+ /**
66
+ * A file system abstraction that allows the Language Server to read files by URI.
67
+ *
68
+ * In Node.js, this is a wrapper around node:fs/promises.
69
+ *
70
+ * In VS Code, this is a wrapper around the VS Code API.
71
+ *
72
+ * The browser accepts a custom implementation.
73
+ */
74
+ fs: AbstractFileSystem;
75
+ /**
76
+ * In local environments, the Language Server can download the metafield definitions
77
+ * and provide a set of memoized definitions. In other environments, we rely on dynamically
78
+ * fetching the set of metafield definitions every time.
79
+ */
80
+ getMetafieldDefinitions: ThemeCheckDependencies['getMetafieldDefinitions'];
81
+ /**
82
+ * Fetch Metafield definitions using the CLI provided the URI of the project root.
83
+ * This should only be used in node environments; not on the browser.
84
+ */
85
+ fetchMetafieldDefinitionsForURI: (uri: URI) => Promise<void>;
86
+ }
87
+ export declare namespace ThemeGraphReferenceRequest {
88
+ const method = "themeGraph/references";
89
+ const type: rpc.RequestType<Params, Response, void>;
90
+ interface Params {
91
+ uri: string;
92
+ offset?: number;
93
+ includeIndirect?: boolean;
94
+ }
95
+ type Response = AugmentedReference[];
96
+ }
97
+ export declare namespace ThemeGraphDependenciesRequest {
98
+ const method = "themeGraph/dependencies";
99
+ const type: rpc.RequestType<Params, Response, void>;
100
+ interface Params {
101
+ uri: string;
102
+ offset?: number;
103
+ includeIndirect?: boolean;
104
+ }
105
+ type Response = AugmentedReference[];
106
+ }
107
+ export declare namespace ThemeGraphRootRequest {
108
+ const method = "themeGraph/rootUri";
109
+ const type: rpc.RequestType<Params, string, void>;
110
+ interface Params {
111
+ uri: string;
112
+ }
113
+ type Response = string;
114
+ }
115
+ export declare namespace ThemeGraphDeadCodeRequest {
116
+ const method = "themeGraph/deadCode";
117
+ const type: rpc.RequestType<Params, Response, void>;
118
+ interface Params {
119
+ uri: string;
120
+ }
121
+ type Response = string[];
122
+ }
123
+ export declare namespace ThemeGraphDidUpdateNotification {
124
+ const method = "themeGraph/onDidChangeTree";
125
+ const type: rpc.NotificationType<Params>;
126
+ interface Params {
127
+ uri: string;
128
+ }
129
+ }
130
+ export type AugmentedLocationWithExistence = {
131
+ uri: string;
132
+ range: undefined;
133
+ excerpt: undefined;
134
+ position: undefined;
135
+ exists: boolean;
136
+ };
137
+ export type AugmentedLocationWithExcerpt = {
138
+ uri: string;
139
+ range: [number, number];
140
+ excerpt: string;
141
+ position: Range;
142
+ exists: boolean;
143
+ };
144
+ export type AugmentedLocation = AugmentedLocationWithExistence | AugmentedLocationWithExcerpt;
145
+ export interface AugmentedReference extends Reference {
146
+ source: AugmentedLocation;
147
+ target: AugmentedLocation;
148
+ indirect: boolean;
149
+ }
package/dist/types.js ADDED
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ThemeGraphDidUpdateNotification = exports.ThemeGraphDeadCodeRequest = exports.ThemeGraphRootRequest = exports.ThemeGraphDependenciesRequest = exports.ThemeGraphReferenceRequest = void 0;
37
+ const rpc = __importStar(require("vscode-jsonrpc"));
38
+ var ThemeGraphReferenceRequest;
39
+ (function (ThemeGraphReferenceRequest) {
40
+ ThemeGraphReferenceRequest.method = 'themeGraph/references';
41
+ ThemeGraphReferenceRequest.type = new rpc.RequestType(ThemeGraphReferenceRequest.method);
42
+ })(ThemeGraphReferenceRequest || (exports.ThemeGraphReferenceRequest = ThemeGraphReferenceRequest = {}));
43
+ var ThemeGraphDependenciesRequest;
44
+ (function (ThemeGraphDependenciesRequest) {
45
+ ThemeGraphDependenciesRequest.method = 'themeGraph/dependencies';
46
+ ThemeGraphDependenciesRequest.type = new rpc.RequestType(ThemeGraphDependenciesRequest.method);
47
+ })(ThemeGraphDependenciesRequest || (exports.ThemeGraphDependenciesRequest = ThemeGraphDependenciesRequest = {}));
48
+ var ThemeGraphRootRequest;
49
+ (function (ThemeGraphRootRequest) {
50
+ ThemeGraphRootRequest.method = 'themeGraph/rootUri';
51
+ ThemeGraphRootRequest.type = new rpc.RequestType(ThemeGraphRootRequest.method);
52
+ })(ThemeGraphRootRequest || (exports.ThemeGraphRootRequest = ThemeGraphRootRequest = {}));
53
+ var ThemeGraphDeadCodeRequest;
54
+ (function (ThemeGraphDeadCodeRequest) {
55
+ ThemeGraphDeadCodeRequest.method = 'themeGraph/deadCode';
56
+ ThemeGraphDeadCodeRequest.type = new rpc.RequestType(ThemeGraphDeadCodeRequest.method);
57
+ })(ThemeGraphDeadCodeRequest || (exports.ThemeGraphDeadCodeRequest = ThemeGraphDeadCodeRequest = {}));
58
+ var ThemeGraphDidUpdateNotification;
59
+ (function (ThemeGraphDidUpdateNotification) {
60
+ ThemeGraphDidUpdateNotification.method = 'themeGraph/onDidChangeTree';
61
+ ThemeGraphDidUpdateNotification.type = new rpc.NotificationType(ThemeGraphDidUpdateNotification.method);
62
+ })(ThemeGraphDidUpdateNotification || (exports.ThemeGraphDidUpdateNotification = ThemeGraphDidUpdateNotification = {}));
63
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oDAAsC;AAgGtC,IAAiB,0BAA0B,CAS1C;AATD,WAAiB,0BAA0B;IAC5B,iCAAM,GAAG,uBAAuB,CAAC;IACjC,+BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,2BAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,0BAA0B,0CAA1B,0BAA0B,QAS1C;AAED,IAAiB,6BAA6B,CAS7C;AATD,WAAiB,6BAA6B;IAC/B,oCAAM,GAAG,yBAAyB,CAAC;IACnC,kCAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,8BAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,6BAA6B,6CAA7B,6BAA6B,QAS7C;AAED,IAAiB,qBAAqB,CAOrC;AAPD,WAAiB,qBAAqB;IACvB,4BAAM,GAAG,oBAAoB,CAAC;IAC9B,0BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,sBAAA,MAAM,CAAC,CAAC;AAK1E,CAAC,EAPgB,qBAAqB,qCAArB,qBAAqB,QAOrC;AAED,IAAiB,yBAAyB,CAOzC;AAPD,WAAiB,yBAAyB;IAC3B,gCAAM,GAAG,qBAAqB,CAAC;IAC/B,8BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,0BAAA,MAAM,CAAC,CAAC;AAK1E,CAAC,EAPgB,yBAAyB,yCAAzB,yBAAyB,QAOzC;AAED,IAAiB,+BAA+B,CAM/C;AAND,WAAiB,+BAA+B;IACjC,sCAAM,GAAG,4BAA4B,CAAC;IACtC,oCAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAS,gCAAA,MAAM,CAAC,CAAC;AAI/D,CAAC,EANgB,+BAA+B,+CAA/B,+BAA+B,QAM/C"}
@@ -0,0 +1 @@
1
+ export declare function findLast<T>(array: T[], pred: (n: T) => boolean): T | undefined;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findLast = findLast;
4
+ // Array.prototype.findLast is only available in es2023. Which feels too new?
5
+ function findLast(array, pred) {
6
+ for (let i = array.length - 1; i >= 0; i--) {
7
+ if (pred(array[i]))
8
+ return array[i];
9
+ }
10
+ }
11
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";;AACA,4BAIC;AALD,6EAA6E;AAC7E,SAAgB,QAAQ,CAAI,KAAU,EAAE,IAAuB;IAC7D,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { ArgumentTypes } from '@platformos/platformos-check-common';
2
+ export interface DebouncedFunction<F extends Function> {
3
+ /**
4
+ * A function that will execute on the trailing edge of a timer with the
5
+ * last arguments it was called with (unless forced)
6
+ */
7
+ (...args: ArgumentTypes<F>): void;
8
+ /**
9
+ * Debounced version of a function but making sure that it is called with
10
+ * this specific set of arguments.
11
+ *
12
+ * Subsequent calls will be ignored until the timer has expired and the
13
+ * function has executed.
14
+ */
15
+ force(...args: ArgumentTypes<F>): void;
16
+ }
17
+ /**
18
+ * debounce(fn, ms)
19
+ *
20
+ * A debounced function only executes once after a timer has expired. Repeated
21
+ * call to the debounced function before its timer has expired result in a delayed
22
+ * execution of the function.
23
+ *
24
+ * This is useful in cases where you have an "expensive" function that you only want
25
+ * to execute after the user is idle for a little bit.
26
+ *
27
+ * e.g. Run theme check after the user has stopped typing for at least 100ms.
28
+ *
29
+ * The debounced function has the same type signature as its argument.
30
+ *
31
+ * The input function must return void (or else you might "bomb" when you resolve).
32
+ *
33
+ * @param fn a function that should be debounced
34
+ * @param ms milliseconds after last function call for it to execute
35
+ * @returns a function that will execute on the trailing edge of a timer with the last argument it was called with
36
+ */
37
+ export declare function debounce<F extends Function>(fn: F, ms?: number): DebouncedFunction<F>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debounce = debounce;
4
+ /**
5
+ * debounce(fn, ms)
6
+ *
7
+ * A debounced function only executes once after a timer has expired. Repeated
8
+ * call to the debounced function before its timer has expired result in a delayed
9
+ * execution of the function.
10
+ *
11
+ * This is useful in cases where you have an "expensive" function that you only want
12
+ * to execute after the user is idle for a little bit.
13
+ *
14
+ * e.g. Run theme check after the user has stopped typing for at least 100ms.
15
+ *
16
+ * The debounced function has the same type signature as its argument.
17
+ *
18
+ * The input function must return void (or else you might "bomb" when you resolve).
19
+ *
20
+ * @param fn a function that should be debounced
21
+ * @param ms milliseconds after last function call for it to execute
22
+ * @returns a function that will execute on the trailing edge of a timer with the last argument it was called with
23
+ */
24
+ function debounce(fn, ms) {
25
+ let timeoutId = null;
26
+ let force = false; // force use a certain set of arguments in the next call
27
+ const debouncedFn = (...args) => {
28
+ if (timeoutId !== null && force)
29
+ return;
30
+ if (timeoutId !== null)
31
+ clearTimeout(timeoutId);
32
+ timeoutId = setTimeout(async () => {
33
+ await Promise.resolve(fn(...args));
34
+ timeoutId = null;
35
+ force = false;
36
+ }, ms);
37
+ };
38
+ debouncedFn.force = (...args) => {
39
+ debouncedFn(...args);
40
+ force = true;
41
+ };
42
+ return debouncedFn;
43
+ }
44
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":";;AAuCA,4BAoBC;AAxCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,QAAQ,CAAqB,EAAK,EAAE,EAAW;IAC7D,IAAI,SAAS,GAAyC,IAAI,CAAC;IAC3D,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,wDAAwD;IAE3E,MAAM,WAAW,GAAG,CAAC,GAAG,IAAsB,EAAQ,EAAE;QACtD,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK;YAAE,OAAO;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACnC,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC;IAEF,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,IAAsB,EAAQ,EAAE;QACtD,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACrB,KAAK,GAAG,IAAI,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { LiquidHtmlNode } from '@platformos/liquid-html-parser';
2
+ import { TextDocumentPositionParams, Range } from 'vscode-languageserver';
3
+ import { TextDocument } from 'vscode-languageserver-textdocument';
4
+ export declare function getHtmlElementNameRanges(node: LiquidHtmlNode, ancestors: LiquidHtmlNode[], params: TextDocumentPositionParams, textDocument: TextDocument): Range[] | null;
5
+ export declare function isDanglingOpenHtmlElement(node: LiquidHtmlNode): boolean;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHtmlElementNameRanges = getHtmlElementNameRanges;
4
+ exports.isDanglingOpenHtmlElement = isDanglingOpenHtmlElement;
5
+ const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
6
+ const vscode_languageserver_1 = require("vscode-languageserver");
7
+ const isCovered_1 = require("./isCovered");
8
+ function getHtmlElementNameRanges(node, ancestors, params, textDocument) {
9
+ let htmlElementNode = null;
10
+ // Try parent node as HTML Element
11
+ // <name> case
12
+ const parentNode = ancestors.at(-1);
13
+ if (parentNode &&
14
+ parentNode.type === liquid_html_parser_1.NodeTypes.HtmlElement &&
15
+ parentNode.name.length > 0 &&
16
+ (0, isCovered_1.isCovered)(textDocument.offsetAt(params.position), {
17
+ start: parentNode.name[0].position.start,
18
+ end: parentNode.name.at(-1).position.end,
19
+ })) {
20
+ htmlElementNode = parentNode;
21
+ }
22
+ // </name> case
23
+ if (node.type === liquid_html_parser_1.NodeTypes.HtmlElement &&
24
+ node.name.length > 0 &&
25
+ (0, isCovered_1.isCovered)(textDocument.offsetAt(params.position), node.blockEndPosition)) {
26
+ htmlElementNode = node;
27
+ }
28
+ if (!htmlElementNode || isDanglingOpenHtmlElement(htmlElementNode))
29
+ return null;
30
+ const nameNodes = htmlElementNode.name;
31
+ const firstNode = nameNodes.at(0);
32
+ const lastNode = nameNodes.at(-1);
33
+ const startRange = vscode_languageserver_1.Range.create(textDocument.positionAt(firstNode.position.start), textDocument.positionAt(lastNode.position.end));
34
+ const endRange = vscode_languageserver_1.Range.create(
35
+ // </ means offset 2 characters
36
+ textDocument.positionAt(htmlElementNode.blockEndPosition.start + 2), textDocument.positionAt(htmlElementNode.blockEndPosition.end - 1));
37
+ return [startRange, endRange];
38
+ }
39
+ function isDanglingOpenHtmlElement(node) {
40
+ return (node.type === liquid_html_parser_1.NodeTypes.HtmlElement && node.blockEndPosition.start === node.blockEndPosition.end);
41
+ }
42
+ //# sourceMappingURL=htmlTagNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"htmlTagNames.js","sourceRoot":"","sources":["../../src/utils/htmlTagNames.ts"],"names":[],"mappings":";;AAKA,4DAiDC;AAED,8DAIC;AA5DD,uEAAwF;AACxF,iEAA0E;AAE1E,2CAAwC;AAExC,SAAgB,wBAAwB,CACtC,IAAoB,EACpB,SAA2B,EAC3B,MAAkC,EAClC,YAA0B;IAE1B,IAAI,eAAe,GAAuB,IAAI,CAAC;IAE/C,kCAAkC;IAClC,cAAc;IACd,MAAM,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IACE,UAAU;QACV,UAAU,CAAC,IAAI,KAAK,8BAAS,CAAC,WAAW;QACzC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAC1B,IAAA,qBAAS,EAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAChD,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;YACxC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG;SAC1C,CAAC,EACF,CAAC;QACD,eAAe,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,eAAe;IACf,IACE,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,WAAW;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACpB,IAAA,qBAAS,EAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,EACxE,CAAC;QACD,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,eAAe,IAAI,yBAAyB,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACnC,MAAM,UAAU,GAAG,6BAAK,CAAC,MAAM,CAC7B,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjD,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC/C,CAAC;IAEF,MAAM,QAAQ,GAAG,6BAAK,CAAC,MAAM;IAC3B,+BAA+B;IAC/B,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,EACnE,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAClE,CAAC;IAEF,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAAoB;IAC5D,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACjG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { ArgumentTypes, WithOptional, WithRequired, memo, memoize, parseJSON, } from '@platformos/platformos-check-common';
2
+ export * from './debounce';
3
+ export * from './array';
4
+ export * from './node';
5
+ export * from './isCovered';
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.parseJSON = exports.memoize = exports.memo = void 0;
18
+ var platformos_check_common_1 = require("@platformos/platformos-check-common");
19
+ Object.defineProperty(exports, "memo", { enumerable: true, get: function () { return platformos_check_common_1.memo; } });
20
+ Object.defineProperty(exports, "memoize", { enumerable: true, get: function () { return platformos_check_common_1.memoize; } });
21
+ Object.defineProperty(exports, "parseJSON", { enumerable: true, get: function () { return platformos_check_common_1.parseJSON; } });
22
+ __exportStar(require("./debounce"), exports);
23
+ __exportStar(require("./array"), exports);
24
+ __exportStar(require("./node"), exports);
25
+ __exportStar(require("./isCovered"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+EAO6C;AAH3C,+GAAA,IAAI,OAAA;AACJ,kHAAA,OAAO,OAAA;AACP,oHAAA,SAAS,OAAA;AAEX,6CAA2B;AAC3B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B"}
@@ -0,0 +1,4 @@
1
+ export declare function isCovered(offset: number, range: {
2
+ start: number;
3
+ end: number;
4
+ }): boolean;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCovered = isCovered;
4
+ function isCovered(offset, range) {
5
+ return range.start <= offset && offset <= range.end;
6
+ }
7
+ //# sourceMappingURL=isCovered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCovered.js","sourceRoot":"","sources":["../../src/utils/isCovered.ts"],"names":[],"mappings":";;AAAA,8BAEC;AAFD,SAAgB,SAAS,CAAC,MAAc,EAAE,KAAqC;IAC7E,OAAO,KAAK,CAAC,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AACtD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { DocDefinition, LiquidDocParameter } from '@platformos/platformos-check-common';
2
+ export declare function formatLiquidDocParameter({ name, type, description, required }: LiquidDocParameter, heading?: boolean): string;
3
+ export declare function formatLiquidDocTagHandle(label: string, description: string, example: string): string;
4
+ export declare const SUPPORTED_LIQUID_DOC_TAG_HANDLES: {
5
+ param: {
6
+ description: string;
7
+ example: string;
8
+ template: string;
9
+ };
10
+ example: {
11
+ description: string;
12
+ example: string;
13
+ template: string;
14
+ };
15
+ description: {
16
+ description: string;
17
+ example: string;
18
+ template: string;
19
+ };
20
+ };
21
+ export declare function getParameterCompletionTemplate(name: string, type: string | null): string;
22
+ export declare function formatLiquidDocContentMarkdown(name: string, docDefinition?: DocDefinition): string;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORTED_LIQUID_DOC_TAG_HANDLES = void 0;
4
+ exports.formatLiquidDocParameter = formatLiquidDocParameter;
5
+ exports.formatLiquidDocTagHandle = formatLiquidDocTagHandle;
6
+ exports.getParameterCompletionTemplate = getParameterCompletionTemplate;
7
+ exports.formatLiquidDocContentMarkdown = formatLiquidDocContentMarkdown;
8
+ const platformos_check_common_1 = require("@platformos/platformos-check-common");
9
+ function formatLiquidDocParameter({ name, type, description, required }, heading = false) {
10
+ const nameStr = required ? `\`${name}\`` : `\`${name}\` (Optional)`;
11
+ const typeStr = type ? `: ${type}` : '';
12
+ if (heading) {
13
+ const descStr = description ? `\n\n${description}` : '';
14
+ return `### ${nameStr}${typeStr}${descStr}`;
15
+ }
16
+ const descStr = description ? ` - ${description}` : '';
17
+ return `- ${nameStr}${typeStr}${descStr}`;
18
+ }
19
+ function formatLiquidDocTagHandle(label, description, example) {
20
+ return `### @${label}\n\n${description}\n\n` + `**Example**\n\n\`\`\`liquid\n${example}\n\`\`\``;
21
+ }
22
+ exports.SUPPORTED_LIQUID_DOC_TAG_HANDLES = {
23
+ [platformos_check_common_1.SupportedDocTagTypes.Param]: {
24
+ description: 'Provides information about a parameter for the snippet.\n' +
25
+ `- The type of parameter is optional and can be ${Object.values(platformos_check_common_1.BasicParamTypes)
26
+ .map((type) => `\`${type}\``)
27
+ .join(', ')}\n` +
28
+ ` or liquid object that isn't exclusively a global object in our [API Docs](https://shopify.dev/docs/api/liquid/objects)\n` +
29
+ '- An optional parameter is denoted by square brackets around the parameter name\n' +
30
+ '- The description is optional Markdown text',
31
+ example: '{% doc %}\n' +
32
+ " @param {string} name - The person's name\n" +
33
+ " @param {number} [fav_num] - The person's favorite number\n" +
34
+ " @param {product} prod - The person's chosen product\n" +
35
+ '{% enddoc %}\n',
36
+ template: `param {$2} $1$0`,
37
+ },
38
+ [platformos_check_common_1.SupportedDocTagTypes.Example]: {
39
+ description: 'Provides an example on how to use the snippet.',
40
+ example: '{% doc %}\n' + ' @example {% render "snippet-name", arg1: "value" %}\n' + '{% enddoc %}\n',
41
+ template: `example $0`,
42
+ },
43
+ [platformos_check_common_1.SupportedDocTagTypes.Description]: {
44
+ description: 'Provides information on what the snippet does.',
45
+ example: '{% doc %}\n' + ' @description This snippet renders a product image.\n' + '{% enddoc %}\n',
46
+ template: `description $0`,
47
+ },
48
+ };
49
+ function getParameterCompletionTemplate(name, type) {
50
+ const paramDefaultValue = (0, platformos_check_common_1.getDefaultValueForType)(type);
51
+ const valueTemplate = paramDefaultValue === "''" ? `'$1'$0` : `\${1:${paramDefaultValue}}$0`;
52
+ return `${name}: ${valueTemplate}`;
53
+ }
54
+ function formatLiquidDocContentMarkdown(name, docDefinition) {
55
+ const liquidDoc = docDefinition?.liquidDoc;
56
+ if (!liquidDoc) {
57
+ return `### ${name}`;
58
+ }
59
+ const parts = [`### ${name}`];
60
+ if (liquidDoc.description) {
61
+ const description = liquidDoc.description.content;
62
+ parts.push('', '**Description:**', '\n', description);
63
+ }
64
+ if (liquidDoc.parameters?.length) {
65
+ const parameters = liquidDoc.parameters
66
+ .map((param) => formatLiquidDocParameter(param))
67
+ .join('\n');
68
+ parts.push('', '**Parameters:**', parameters);
69
+ }
70
+ if (liquidDoc.examples?.length) {
71
+ const examples = liquidDoc.examples
72
+ ?.map(({ content }) => `\`\`\`liquid\n${content}\n\`\`\``)
73
+ .join('\n');
74
+ parts.push('', '**Examples:**', examples);
75
+ }
76
+ return parts.join('\n');
77
+ }
78
+ //# sourceMappingURL=liquidDoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liquidDoc.js","sourceRoot":"","sources":["../../src/utils/liquidDoc.ts"],"names":[],"mappings":";;;AAQA,4DAcC;AAED,4DAEC;AAkCD,wEAMC;AAED,wEAiCC;AArGD,iFAM6C;AAE7C,SAAgB,wBAAwB,CACtC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAsB,EACzD,UAAmB,KAAK;IAExB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,OAAO,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAa,EAAE,WAAmB,EAAE,OAAe;IAC1F,OAAO,QAAQ,KAAK,OAAO,WAAW,MAAM,GAAG,gCAAgC,OAAO,UAAU,CAAC;AACnG,CAAC;AAEY,QAAA,gCAAgC,GAAG;IAC9C,CAAC,8CAAoB,CAAC,KAAK,CAAC,EAAE;QAC5B,WAAW,EACT,2DAA2D;YAC3D,kDAAkD,MAAM,CAAC,MAAM,CAAC,yCAAe,CAAC;iBAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI;YACjB,2HAA2H;YAC3H,mFAAmF;YACnF,6CAA6C;QAC/C,OAAO,EACL,aAAa;YACb,8CAA8C;YAC9C,8DAA8D;YAC9D,yDAAyD;YACzD,gBAAgB;QAClB,QAAQ,EAAE,iBAAiB;KAC5B;IACD,CAAC,8CAAoB,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EACL,aAAa,GAAG,yDAAyD,GAAG,gBAAgB;QAC9F,QAAQ,EAAE,YAAY;KACvB;IACD,CAAC,8CAAoB,CAAC,WAAW,CAAC,EAAE;QAClC,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EACL,aAAa,GAAG,wDAAwD,GAAG,gBAAgB;QAC7F,QAAQ,EAAE,gBAAgB;KAC3B;CACF,CAAC;AAEF,SAAgB,8BAA8B,CAAC,IAAY,EAAE,IAAmB;IAC9E,MAAM,iBAAiB,GAAG,IAAA,gDAAsB,EAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,aAAa,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,iBAAiB,KAAK,CAAC;IAE7F,OAAO,GAAG,IAAI,KAAK,aAAa,EAAE,CAAC;AACrC,CAAC;AAED,SAAgB,8BAA8B,CAC5C,IAAY,EACZ,aAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;IAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE9B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU;aACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ;YACjC,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,iBAAiB,OAAO,UAAU,CAAC;aACzD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { AttrEmpty, LiquidHtmlNode, NamedTags, NodeTypes, TextNode } from '@platformos/liquid-html-parser';
2
+ import { LiquidHtmlNodeOfType as NodeOfType } from '@platformos/platformos-check-common';
3
+ export type HtmlElementTypes = (typeof HtmlElementTypes)[number];
4
+ export declare const HtmlElementTypes: readonly [NodeTypes.HtmlElement, NodeTypes.HtmlDanglingMarkerClose, NodeTypes.HtmlSelfClosingElement, NodeTypes.HtmlVoidElement, NodeTypes.HtmlRawNode];
5
+ export type NamedHtmlElementNode = NodeOfType<HtmlElementTypes>;
6
+ export type HtmlAttributeTypes = (typeof HtmlAttributeTypes)[number];
7
+ export type HtmlAttribute = NodeOfType<HtmlAttributeTypes>;
8
+ export declare const HtmlAttributeTypes: readonly [NodeTypes.AttrUnquoted, NodeTypes.AttrDoubleQuoted, NodeTypes.AttrSingleQuoted, NodeTypes.AttrEmpty];
9
+ export declare function isTextNode(node: LiquidHtmlNode): node is TextNode;
10
+ export declare function isAttrEmpty(node: LiquidHtmlNode): node is AttrEmpty;
11
+ export declare function isNamedHtmlElementNode(node: LiquidHtmlNode): node is NamedHtmlElementNode;
12
+ export declare function getCompoundName(node: NamedHtmlElementNode | HtmlAttribute): string;
13
+ export declare function isHtmlAttribute(node: LiquidHtmlNode): node is HtmlAttribute;
14
+ type ExcludeStringMarkup<T> = T extends {
15
+ markup: string;
16
+ } ? never : T;
17
+ export declare function isNamedLiquidTag<NT extends LiquidHtmlNode, T extends NamedTags>(node: LiquidHtmlNode, name: T): node is ExcludeStringMarkup<Extract<NT, {
18
+ type: NodeTypes.LiquidTag;
19
+ name: T;
20
+ }>>;
21
+ export declare function isLiquidVariableOutput<NT extends LiquidHtmlNode>(node: LiquidHtmlNode): node is ExcludeStringMarkup<Extract<NT, {
22
+ type: NodeTypes.LiquidVariableOutput;
23
+ }>>;
24
+ export {};
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HtmlAttributeTypes = exports.HtmlElementTypes = void 0;
4
+ exports.isTextNode = isTextNode;
5
+ exports.isAttrEmpty = isAttrEmpty;
6
+ exports.isNamedHtmlElementNode = isNamedHtmlElementNode;
7
+ exports.getCompoundName = getCompoundName;
8
+ exports.isHtmlAttribute = isHtmlAttribute;
9
+ exports.isNamedLiquidTag = isNamedLiquidTag;
10
+ exports.isLiquidVariableOutput = isLiquidVariableOutput;
11
+ const liquid_html_parser_1 = require("@platformos/liquid-html-parser");
12
+ exports.HtmlElementTypes = [
13
+ liquid_html_parser_1.NodeTypes.HtmlElement,
14
+ liquid_html_parser_1.NodeTypes.HtmlDanglingMarkerClose,
15
+ liquid_html_parser_1.NodeTypes.HtmlSelfClosingElement,
16
+ liquid_html_parser_1.NodeTypes.HtmlVoidElement,
17
+ liquid_html_parser_1.NodeTypes.HtmlRawNode,
18
+ ];
19
+ exports.HtmlAttributeTypes = [
20
+ liquid_html_parser_1.NodeTypes.AttrUnquoted,
21
+ liquid_html_parser_1.NodeTypes.AttrDoubleQuoted,
22
+ liquid_html_parser_1.NodeTypes.AttrSingleQuoted,
23
+ liquid_html_parser_1.NodeTypes.AttrEmpty,
24
+ ];
25
+ function isTextNode(node) {
26
+ return node.type === liquid_html_parser_1.NodeTypes.TextNode;
27
+ }
28
+ function isAttrEmpty(node) {
29
+ return node.type === liquid_html_parser_1.NodeTypes.AttrEmpty;
30
+ }
31
+ function isNamedHtmlElementNode(node) {
32
+ return exports.HtmlElementTypes.includes(node.type);
33
+ }
34
+ function getCompoundName(node) {
35
+ if (typeof node.name === 'string')
36
+ return node.name;
37
+ const names = node.name;
38
+ if (names.length === 0 || names.length > 1 || !isTextNode(names[0])) {
39
+ return 'unknown';
40
+ }
41
+ return names[0].value;
42
+ }
43
+ function isHtmlAttribute(node) {
44
+ return exports.HtmlAttributeTypes.some((type) => node.type === type);
45
+ }
46
+ function isNamedLiquidTag(node, name) {
47
+ return node.type === liquid_html_parser_1.NodeTypes.LiquidTag && node.name === name && typeof node.markup !== 'string';
48
+ }
49
+ function isLiquidVariableOutput(node) {
50
+ return node.type === liquid_html_parser_1.NodeTypes.LiquidVariableOutput && typeof node.markup !== 'string';
51
+ }
52
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":";;;AA4BA,gCAEC;AAED,kCAEC;AAED,wDAEC;AAED,0CASC;AAED,0CAEC;AAID,4CAKC;AAED,wDAIC;AApED,uEAMwC;AAI3B,QAAA,gBAAgB,GAAG;IAC9B,8BAAS,CAAC,WAAW;IACrB,8BAAS,CAAC,uBAAuB;IACjC,8BAAS,CAAC,sBAAsB;IAChC,8BAAS,CAAC,eAAe;IACzB,8BAAS,CAAC,WAAW;CACb,CAAC;AAKE,QAAA,kBAAkB,GAAG;IAChC,8BAAS,CAAC,YAAY;IACtB,8BAAS,CAAC,gBAAgB;IAC1B,8BAAS,CAAC,gBAAgB;IAC1B,8BAAS,CAAC,SAAS;CACX,CAAC;AAEX,SAAgB,UAAU,CAAC,IAAoB;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,QAAQ,CAAC;AAC1C,CAAC;AAED,SAAgB,WAAW,CAAC,IAAoB;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,SAAS,CAAC;AAC3C,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAoB;IACzD,OAAQ,wBAAyC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,eAAe,CAAC,IAA0C;IACxE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACxB,CAAC;AAED,SAAgB,eAAe,CAAC,IAAoB;IAClD,OAAO,0BAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC/D,CAAC;AAID,SAAgB,gBAAgB,CAC9B,IAAoB,EACpB,IAAO;IAEP,OAAO,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AACpG,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAoB;IAEpB,OAAO,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,oBAAoB,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;AACzF,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare const partialName: (uri: string) => string;
2
+ export declare const isPartial: (uri: string) => boolean;
3
+ export declare const assetName: (uri: string) => string;
4
+ export declare const isAsset: (uri: string) => boolean;
5
+ export declare const blockName: (uri: string) => string;
6
+ export declare const isBlock: (uri: string) => boolean;
7
+ export declare const sectionName: (uri: string) => string;
8
+ export declare const isSection: (uri: string) => boolean;
9
+ export declare const sectionGroupName: (uri: string) => string;
10
+ export declare const isSectionGroup: (uri: string) => boolean;
11
+ export declare const templateName: (uri: string) => string;
12
+ export declare const isTemplate: (uri: string) => boolean;