monaco-editor 0.54.0 → 0.55.0-dev-20251007

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 (507) hide show
  1. package/dev/vs/assets/{css.worker-UBouhlx6.js → css.worker-BPWFUJr8.js} +21 -13
  2. package/dev/vs/assets/{editor.worker-Dt-rrJKL.js → editor.worker-BNmK7__C.js} +21 -13
  3. package/dev/vs/assets/{html.worker-z9P_0-Yg.js → html.worker-DArI7VaB.js} +21 -13
  4. package/dev/vs/assets/{json.worker-DL8PoUrj.js → json.worker-CWecjvZJ.js} +21 -13
  5. package/dev/vs/assets/{ts.worker-CcnreaRY.js → ts.worker-OSpMT55a.js} +21 -13
  6. package/dev/vs/basic-languages/monaco.contribution.js +18 -18
  7. package/dev/vs/{cssMode-YNsTpAl9.js → cssMode-iRwIbB8J.js} +1 -1
  8. package/dev/vs/editor/editor.main.css +18 -14
  9. package/dev/vs/editor/editor.main.js +6 -6
  10. package/dev/vs/{editor.api-BhD7pWdi.js → editor.api-BgcxwOJR.js} +619 -331
  11. package/dev/vs/{freemarker2-Ci5s7p-k.js → freemarker2-BcA-FoEq.js} +1 -1
  12. package/dev/vs/{handlebars-Cpd6mzVL.js → handlebars-CFCe3CTT.js} +1 -1
  13. package/dev/vs/{html-L3fuhF-c.js → html-C2k_b3vV.js} +1 -1
  14. package/dev/vs/{htmlMode-BL74tky3.js → htmlMode-B6H3nvmZ.js} +1 -1
  15. package/dev/vs/{javascript-DtYAOqDf.js → javascript-Ci3a-NjL.js} +1 -1
  16. package/dev/vs/{jsonMode-KHMzkiG2.js → jsonMode-PBs-6YJq.js} +1 -1
  17. package/dev/vs/language/css/monaco.contribution.js +2 -2
  18. package/dev/vs/language/html/monaco.contribution.js +2 -2
  19. package/dev/vs/language/json/monaco.contribution.js +2 -2
  20. package/dev/vs/language/typescript/monaco.contribution.js +2 -2
  21. package/dev/vs/{liquid-CDz0dGHZ.js → liquid-xiAvFKY7.js} +1 -1
  22. package/dev/vs/{lspLanguageFeatures-C8J-56s2.js → lspLanguageFeatures-Bn27dcIU.js} +1 -1
  23. package/dev/vs/{mdx-CRukMuk2.js → mdx-DI_S5KNw.js} +1 -1
  24. package/dev/vs/nls.messages.de.js +1 -1
  25. package/dev/vs/nls.messages.es.js +1 -1
  26. package/dev/vs/nls.messages.fr.js +1 -1
  27. package/dev/vs/nls.messages.it.js +1 -1
  28. package/dev/vs/nls.messages.ja.js +1 -1
  29. package/dev/vs/nls.messages.ko.js +1 -1
  30. package/dev/vs/nls.messages.ru.js +1 -1
  31. package/dev/vs/nls.messages.zh-cn.js +1 -1
  32. package/dev/vs/nls.messages.zh-tw.js +1 -1
  33. package/dev/vs/{python-CSlobbnO.js → python-Dygfp6S4.js} +1 -1
  34. package/dev/vs/{razor-CcKFJPeA.js → razor-DRuwtGaR.js} +1 -1
  35. package/dev/vs/{tsMode-DOj38qML.js → tsMode-Blwumg5f.js} +1 -1
  36. package/dev/vs/{typescript-qRP7tyf4.js → typescript-Bn0Trwe9.js} +1 -1
  37. package/dev/vs/{workers-CJWv4CcA.js → workers-Blx_hD2K.js} +1 -1
  38. package/dev/vs/{xml-CSLddLaW.js → xml-BfLQO-V6.js} +1 -1
  39. package/dev/vs/{yaml-TB97xlnI.js → yaml-DdSHCspc.js} +1 -1
  40. package/esm/nls.messages.de.js +1 -1
  41. package/esm/nls.messages.es.js +1 -1
  42. package/esm/nls.messages.fr.js +1 -1
  43. package/esm/nls.messages.it.js +1 -1
  44. package/esm/nls.messages.ja.js +1 -1
  45. package/esm/nls.messages.ko.js +1 -1
  46. package/esm/nls.messages.ru.js +1 -1
  47. package/esm/nls.messages.zh-cn.js +1 -1
  48. package/esm/nls.messages.zh-tw.js +1 -1
  49. package/esm/vs/base/browser/canIUse.js +1 -0
  50. package/esm/vs/base/browser/canIUse.js.map +1 -1
  51. package/esm/vs/base/browser/dom.js +9 -0
  52. package/esm/vs/base/browser/dom.js.map +1 -1
  53. package/esm/vs/base/browser/fastDomNode.js.map +1 -1
  54. package/esm/vs/base/browser/mouseEvent.js +3 -0
  55. package/esm/vs/base/browser/mouseEvent.js.map +1 -1
  56. package/esm/vs/base/browser/trustedTypes.js +2 -0
  57. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  58. package/esm/vs/base/browser/ui/list/listWidget.js +5 -5
  59. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  60. package/esm/vs/base/browser/ui/sash/sash.css +1 -1
  61. package/esm/vs/base/browser/ui/sash/sash.js +4 -0
  62. package/esm/vs/base/browser/ui/sash/sash.js.map +1 -1
  63. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +1 -1
  64. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  65. package/esm/vs/base/browser/ui/table/table.css +2 -2
  66. package/esm/vs/base/browser/ui/tree/abstractTree.js +7 -3
  67. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  68. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +4 -0
  69. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  70. package/esm/vs/base/browser/ui/tree/indexTreeModel.js +1 -0
  71. package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
  72. package/esm/vs/base/browser/ui/tree/media/tree.css +2 -2
  73. package/esm/vs/base/browser/webWorkerFactory.js +3 -0
  74. package/esm/vs/base/browser/webWorkerFactory.js.map +1 -1
  75. package/esm/vs/base/common/buffer.js.map +1 -1
  76. package/esm/vs/base/common/decorators.js +1 -0
  77. package/esm/vs/base/common/decorators.js.map +1 -1
  78. package/esm/vs/base/common/errors.js +1 -0
  79. package/esm/vs/base/common/errors.js.map +1 -1
  80. package/esm/vs/base/common/glob.js +1 -1
  81. package/esm/vs/base/common/glob.js.map +1 -1
  82. package/esm/vs/base/common/hash.js.map +1 -1
  83. package/esm/vs/base/common/hotReload.js +2 -0
  84. package/esm/vs/base/common/hotReload.js.map +1 -1
  85. package/esm/vs/base/common/hotReloadHelpers.js +1 -0
  86. package/esm/vs/base/common/hotReloadHelpers.js.map +1 -1
  87. package/esm/vs/base/common/lifecycle.js +19 -0
  88. package/esm/vs/base/common/lifecycle.js.map +1 -1
  89. package/esm/vs/base/common/map.js.map +1 -1
  90. package/esm/vs/base/common/marshalling.js +4 -0
  91. package/esm/vs/base/common/marshalling.js.map +1 -1
  92. package/esm/vs/base/common/network.js +1 -0
  93. package/esm/vs/base/common/network.js.map +1 -1
  94. package/esm/vs/base/common/objects.js +1 -0
  95. package/esm/vs/base/common/objects.js.map +1 -1
  96. package/esm/vs/base/common/observableInternal/changeTracker.js +4 -0
  97. package/esm/vs/base/common/observableInternal/changeTracker.js.map +1 -1
  98. package/esm/vs/base/common/observableInternal/debugLocation.js +1 -0
  99. package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
  100. package/esm/vs/base/common/observableInternal/debugName.js +1 -0
  101. package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
  102. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js +1 -0
  103. package/esm/vs/base/common/observableInternal/logging/consoleObservableLogger.js.map +1 -1
  104. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +1 -0
  105. package/esm/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js.map +1 -1
  106. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js +1 -0
  107. package/esm/vs/base/common/observableInternal/logging/debugger/rpc.js.map +1 -1
  108. package/esm/vs/base/common/observableInternal/observables/derived.js +7 -1
  109. package/esm/vs/base/common/observableInternal/observables/derived.js.map +1 -1
  110. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +2 -0
  111. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
  112. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -0
  113. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  114. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +1 -0
  115. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  116. package/esm/vs/base/common/process.js +1 -0
  117. package/esm/vs/base/common/process.js.map +1 -1
  118. package/esm/vs/base/common/product.js.map +1 -1
  119. package/esm/vs/base/common/types.js +2 -0
  120. package/esm/vs/base/common/types.js.map +1 -1
  121. package/esm/vs/base/common/worker/webWorker.js +26 -14
  122. package/esm/vs/base/common/worker/webWorker.js.map +1 -1
  123. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js +2 -0
  124. package/esm/vs/base/parts/sandbox/common/sandboxTypes.js.map +1 -0
  125. package/esm/vs/basic-languages/_.contribution.js +1 -1
  126. package/esm/vs/basic-languages/abap/abap.contribution.js +1 -1
  127. package/esm/vs/basic-languages/abap/abap.js +1 -1
  128. package/esm/vs/basic-languages/apex/apex.contribution.js +1 -1
  129. package/esm/vs/basic-languages/apex/apex.js +1 -1
  130. package/esm/vs/basic-languages/azcli/azcli.contribution.js +1 -1
  131. package/esm/vs/basic-languages/azcli/azcli.js +1 -1
  132. package/esm/vs/basic-languages/bat/bat.contribution.js +1 -1
  133. package/esm/vs/basic-languages/bat/bat.js +1 -1
  134. package/esm/vs/basic-languages/bicep/bicep.contribution.js +1 -1
  135. package/esm/vs/basic-languages/bicep/bicep.js +1 -1
  136. package/esm/vs/basic-languages/cameligo/cameligo.contribution.js +1 -1
  137. package/esm/vs/basic-languages/cameligo/cameligo.js +1 -1
  138. package/esm/vs/basic-languages/clojure/clojure.contribution.js +1 -1
  139. package/esm/vs/basic-languages/clojure/clojure.js +1 -1
  140. package/esm/vs/basic-languages/coffee/coffee.contribution.js +1 -1
  141. package/esm/vs/basic-languages/coffee/coffee.js +1 -1
  142. package/esm/vs/basic-languages/cpp/cpp.contribution.js +1 -1
  143. package/esm/vs/basic-languages/cpp/cpp.js +1 -1
  144. package/esm/vs/basic-languages/csharp/csharp.contribution.js +1 -1
  145. package/esm/vs/basic-languages/csharp/csharp.js +1 -1
  146. package/esm/vs/basic-languages/csp/csp.contribution.js +1 -1
  147. package/esm/vs/basic-languages/csp/csp.js +1 -1
  148. package/esm/vs/basic-languages/css/css.contribution.js +1 -1
  149. package/esm/vs/basic-languages/css/css.js +1 -1
  150. package/esm/vs/basic-languages/cypher/cypher.contribution.js +1 -1
  151. package/esm/vs/basic-languages/cypher/cypher.js +1 -1
  152. package/esm/vs/basic-languages/dart/dart.contribution.js +1 -1
  153. package/esm/vs/basic-languages/dart/dart.js +1 -1
  154. package/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js +1 -1
  155. package/esm/vs/basic-languages/dockerfile/dockerfile.js +1 -1
  156. package/esm/vs/basic-languages/ecl/ecl.contribution.js +1 -1
  157. package/esm/vs/basic-languages/ecl/ecl.js +1 -1
  158. package/esm/vs/basic-languages/elixir/elixir.contribution.js +1 -1
  159. package/esm/vs/basic-languages/elixir/elixir.js +1 -1
  160. package/esm/vs/basic-languages/flow9/flow9.contribution.js +1 -1
  161. package/esm/vs/basic-languages/flow9/flow9.js +1 -1
  162. package/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js +1 -1
  163. package/esm/vs/basic-languages/freemarker2/freemarker2.js +1 -1
  164. package/esm/vs/basic-languages/fsharp/fsharp.contribution.js +1 -1
  165. package/esm/vs/basic-languages/fsharp/fsharp.js +1 -1
  166. package/esm/vs/basic-languages/go/go.contribution.js +1 -1
  167. package/esm/vs/basic-languages/go/go.js +1 -1
  168. package/esm/vs/basic-languages/graphql/graphql.contribution.js +1 -1
  169. package/esm/vs/basic-languages/graphql/graphql.js +1 -1
  170. package/esm/vs/basic-languages/handlebars/handlebars.contribution.js +1 -1
  171. package/esm/vs/basic-languages/handlebars/handlebars.js +1 -1
  172. package/esm/vs/basic-languages/hcl/hcl.contribution.js +1 -1
  173. package/esm/vs/basic-languages/hcl/hcl.js +1 -1
  174. package/esm/vs/basic-languages/html/html.contribution.js +1 -1
  175. package/esm/vs/basic-languages/html/html.js +1 -1
  176. package/esm/vs/basic-languages/ini/ini.contribution.js +1 -1
  177. package/esm/vs/basic-languages/ini/ini.js +1 -1
  178. package/esm/vs/basic-languages/java/java.contribution.js +1 -1
  179. package/esm/vs/basic-languages/java/java.js +1 -1
  180. package/esm/vs/basic-languages/javascript/javascript.contribution.js +1 -1
  181. package/esm/vs/basic-languages/javascript/javascript.js +1 -1
  182. package/esm/vs/basic-languages/julia/julia.contribution.js +1 -1
  183. package/esm/vs/basic-languages/julia/julia.js +1 -1
  184. package/esm/vs/basic-languages/kotlin/kotlin.contribution.js +1 -1
  185. package/esm/vs/basic-languages/kotlin/kotlin.js +1 -1
  186. package/esm/vs/basic-languages/less/less.contribution.js +1 -1
  187. package/esm/vs/basic-languages/less/less.js +1 -1
  188. package/esm/vs/basic-languages/lexon/lexon.contribution.js +1 -1
  189. package/esm/vs/basic-languages/lexon/lexon.js +1 -1
  190. package/esm/vs/basic-languages/liquid/liquid.contribution.js +1 -1
  191. package/esm/vs/basic-languages/liquid/liquid.js +1 -1
  192. package/esm/vs/basic-languages/lua/lua.contribution.js +1 -1
  193. package/esm/vs/basic-languages/lua/lua.js +1 -1
  194. package/esm/vs/basic-languages/m3/m3.contribution.js +1 -1
  195. package/esm/vs/basic-languages/m3/m3.js +1 -1
  196. package/esm/vs/basic-languages/markdown/markdown.contribution.js +1 -1
  197. package/esm/vs/basic-languages/markdown/markdown.js +1 -1
  198. package/esm/vs/basic-languages/mdx/mdx.contribution.js +1 -1
  199. package/esm/vs/basic-languages/mdx/mdx.js +1 -1
  200. package/esm/vs/basic-languages/mips/mips.contribution.js +1 -1
  201. package/esm/vs/basic-languages/mips/mips.js +1 -1
  202. package/esm/vs/basic-languages/monaco.contribution.js +1 -1
  203. package/esm/vs/basic-languages/msdax/msdax.contribution.js +1 -1
  204. package/esm/vs/basic-languages/msdax/msdax.js +1 -1
  205. package/esm/vs/basic-languages/mysql/mysql.contribution.js +1 -1
  206. package/esm/vs/basic-languages/mysql/mysql.js +1 -1
  207. package/esm/vs/basic-languages/objective-c/objective-c.contribution.js +1 -1
  208. package/esm/vs/basic-languages/objective-c/objective-c.js +1 -1
  209. package/esm/vs/basic-languages/pascal/pascal.contribution.js +1 -1
  210. package/esm/vs/basic-languages/pascal/pascal.js +1 -1
  211. package/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js +1 -1
  212. package/esm/vs/basic-languages/pascaligo/pascaligo.js +1 -1
  213. package/esm/vs/basic-languages/perl/perl.contribution.js +1 -1
  214. package/esm/vs/basic-languages/perl/perl.js +1 -1
  215. package/esm/vs/basic-languages/pgsql/pgsql.contribution.js +1 -1
  216. package/esm/vs/basic-languages/pgsql/pgsql.js +1 -1
  217. package/esm/vs/basic-languages/php/php.contribution.js +1 -1
  218. package/esm/vs/basic-languages/php/php.js +1 -1
  219. package/esm/vs/basic-languages/pla/pla.contribution.js +1 -1
  220. package/esm/vs/basic-languages/pla/pla.js +1 -1
  221. package/esm/vs/basic-languages/postiats/postiats.contribution.js +1 -1
  222. package/esm/vs/basic-languages/postiats/postiats.js +1 -1
  223. package/esm/vs/basic-languages/powerquery/powerquery.contribution.js +1 -1
  224. package/esm/vs/basic-languages/powerquery/powerquery.js +1 -1
  225. package/esm/vs/basic-languages/powershell/powershell.contribution.js +1 -1
  226. package/esm/vs/basic-languages/powershell/powershell.js +1 -1
  227. package/esm/vs/basic-languages/protobuf/protobuf.contribution.js +1 -1
  228. package/esm/vs/basic-languages/protobuf/protobuf.js +1 -1
  229. package/esm/vs/basic-languages/pug/pug.contribution.js +1 -1
  230. package/esm/vs/basic-languages/pug/pug.js +1 -1
  231. package/esm/vs/basic-languages/python/python.contribution.js +1 -1
  232. package/esm/vs/basic-languages/python/python.js +1 -1
  233. package/esm/vs/basic-languages/qsharp/qsharp.contribution.js +1 -1
  234. package/esm/vs/basic-languages/qsharp/qsharp.js +1 -1
  235. package/esm/vs/basic-languages/r/r.contribution.js +1 -1
  236. package/esm/vs/basic-languages/r/r.js +1 -1
  237. package/esm/vs/basic-languages/razor/razor.contribution.js +1 -1
  238. package/esm/vs/basic-languages/razor/razor.js +1 -1
  239. package/esm/vs/basic-languages/redis/redis.contribution.js +1 -1
  240. package/esm/vs/basic-languages/redis/redis.js +1 -1
  241. package/esm/vs/basic-languages/redshift/redshift.contribution.js +1 -1
  242. package/esm/vs/basic-languages/redshift/redshift.js +1 -1
  243. package/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js +1 -1
  244. package/esm/vs/basic-languages/restructuredtext/restructuredtext.js +1 -1
  245. package/esm/vs/basic-languages/ruby/ruby.contribution.js +1 -1
  246. package/esm/vs/basic-languages/ruby/ruby.js +1 -1
  247. package/esm/vs/basic-languages/rust/rust.contribution.js +1 -1
  248. package/esm/vs/basic-languages/rust/rust.js +1 -1
  249. package/esm/vs/basic-languages/sb/sb.contribution.js +1 -1
  250. package/esm/vs/basic-languages/sb/sb.js +1 -1
  251. package/esm/vs/basic-languages/scala/scala.contribution.js +1 -1
  252. package/esm/vs/basic-languages/scala/scala.js +1 -1
  253. package/esm/vs/basic-languages/scheme/scheme.contribution.js +1 -1
  254. package/esm/vs/basic-languages/scheme/scheme.js +1 -1
  255. package/esm/vs/basic-languages/scss/scss.contribution.js +1 -1
  256. package/esm/vs/basic-languages/scss/scss.js +1 -1
  257. package/esm/vs/basic-languages/shell/shell.contribution.js +1 -1
  258. package/esm/vs/basic-languages/shell/shell.js +1 -1
  259. package/esm/vs/basic-languages/solidity/solidity.contribution.js +1 -1
  260. package/esm/vs/basic-languages/solidity/solidity.js +1 -1
  261. package/esm/vs/basic-languages/sophia/sophia.contribution.js +1 -1
  262. package/esm/vs/basic-languages/sophia/sophia.js +1 -1
  263. package/esm/vs/basic-languages/sparql/sparql.contribution.js +1 -1
  264. package/esm/vs/basic-languages/sparql/sparql.js +1 -1
  265. package/esm/vs/basic-languages/sql/sql.contribution.js +1 -1
  266. package/esm/vs/basic-languages/sql/sql.js +1 -1
  267. package/esm/vs/basic-languages/st/st.contribution.js +1 -1
  268. package/esm/vs/basic-languages/st/st.js +1 -1
  269. package/esm/vs/basic-languages/swift/swift.contribution.js +1 -1
  270. package/esm/vs/basic-languages/swift/swift.js +1 -1
  271. package/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js +1 -1
  272. package/esm/vs/basic-languages/systemverilog/systemverilog.js +1 -1
  273. package/esm/vs/basic-languages/tcl/tcl.contribution.js +1 -1
  274. package/esm/vs/basic-languages/tcl/tcl.js +1 -1
  275. package/esm/vs/basic-languages/twig/twig.contribution.js +1 -1
  276. package/esm/vs/basic-languages/twig/twig.js +1 -1
  277. package/esm/vs/basic-languages/typescript/typescript.contribution.js +1 -1
  278. package/esm/vs/basic-languages/typescript/typescript.js +1 -1
  279. package/esm/vs/basic-languages/typespec/typespec.contribution.js +1 -1
  280. package/esm/vs/basic-languages/typespec/typespec.js +1 -1
  281. package/esm/vs/basic-languages/vb/vb.contribution.js +1 -1
  282. package/esm/vs/basic-languages/vb/vb.js +1 -1
  283. package/esm/vs/basic-languages/wgsl/wgsl.contribution.js +1 -1
  284. package/esm/vs/basic-languages/wgsl/wgsl.js +1 -1
  285. package/esm/vs/basic-languages/xml/xml.contribution.js +1 -1
  286. package/esm/vs/basic-languages/xml/xml.js +1 -1
  287. package/esm/vs/basic-languages/yaml/yaml.contribution.js +1 -1
  288. package/esm/vs/basic-languages/yaml/yaml.js +1 -1
  289. package/esm/vs/editor/browser/config/editorConfiguration.js +3 -2
  290. package/esm/vs/editor/browser/config/editorConfiguration.js.map +1 -1
  291. package/esm/vs/editor/browser/config/migrateOptions.js +1 -1
  292. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  293. package/esm/vs/editor/browser/controller/editContext/native/editContextFactory.js.map +1 -1
  294. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +2 -0
  295. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js.map +1 -1
  296. package/esm/vs/editor/browser/controller/mouseHandler.js +2 -1
  297. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  298. package/esm/vs/editor/browser/controller/mouseTarget.js +7 -0
  299. package/esm/vs/editor/browser/controller/mouseTarget.js.map +1 -1
  300. package/esm/vs/editor/browser/controller/pointerHandler.js.map +1 -1
  301. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  302. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  303. package/esm/vs/editor/browser/editorDom.js.map +1 -1
  304. package/esm/vs/editor/browser/editorExtensions.js.map +1 -1
  305. package/esm/vs/editor/browser/gpu/gpuUtils.js +1 -0
  306. package/esm/vs/editor/browser/gpu/gpuUtils.js.map +1 -1
  307. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -0
  308. package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
  309. package/esm/vs/editor/browser/services/abstractCodeEditorService.js.map +1 -1
  310. package/esm/vs/editor/browser/services/bulkEditService.js.map +1 -1
  311. package/esm/vs/editor/browser/services/codeEditorService.js.map +1 -1
  312. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  313. package/esm/vs/editor/browser/services/hoverService/hover.css +2 -0
  314. package/esm/vs/editor/browser/services/hoverService/hoverService.js.map +1 -1
  315. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js +1 -1
  316. package/esm/vs/editor/browser/services/hoverService/hoverWidget.js.map +1 -1
  317. package/esm/vs/editor/browser/services/inlineCompletionsService.js +8 -8
  318. package/esm/vs/editor/browser/services/inlineCompletionsService.js.map +1 -1
  319. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  320. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  321. package/esm/vs/editor/browser/view/viewLayer.js.map +1 -1
  322. package/esm/vs/editor/browser/view.js.map +1 -1
  323. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -0
  324. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  325. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +1 -0
  326. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js.map +1 -1
  327. package/esm/vs/editor/browser/widget/codeEditor/codeEditorContributions.js.map +1 -1
  328. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -1
  329. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  330. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -0
  331. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js.map +1 -1
  332. package/esm/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js.map +1 -1
  333. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  334. package/esm/vs/editor/browser/widget/diffEditor/diffEditorOptions.js.map +1 -1
  335. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +1 -0
  336. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  337. package/esm/vs/editor/browser/widget/diffEditor/utils.js +2 -0
  338. package/esm/vs/editor/browser/widget/diffEditor/utils.js.map +1 -1
  339. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -0
  340. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js.map +1 -1
  341. package/esm/vs/editor/common/config/editorOptions.js +122 -68
  342. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  343. package/esm/vs/editor/common/config/fontInfo.js +32 -16
  344. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  345. package/esm/vs/editor/common/config/fontInfoFromSettings.js +16 -0
  346. package/esm/vs/editor/common/config/fontInfoFromSettings.js.map +1 -0
  347. package/esm/vs/editor/common/core/edits/edit.js +1 -0
  348. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  349. package/esm/vs/editor/common/core/edits/stringEdit.js +2 -0
  350. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  351. package/esm/vs/editor/common/core/position.js +1 -1
  352. package/esm/vs/editor/common/core/position.js.map +1 -1
  353. package/esm/vs/editor/common/core/range.js +1 -1
  354. package/esm/vs/editor/common/core/range.js.map +1 -1
  355. package/esm/vs/editor/common/core/selection.js +1 -1
  356. package/esm/vs/editor/common/core/selection.js.map +1 -1
  357. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  358. package/esm/vs/editor/common/editorCommon.js.map +1 -1
  359. package/esm/vs/editor/common/languages.js +1 -1
  360. package/esm/vs/editor/common/languages.js.map +1 -1
  361. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +14 -0
  362. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js.map +1 -1
  363. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +2 -0
  364. package/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js.map +1 -1
  365. package/esm/vs/editor/common/model/textModel.js +1 -1
  366. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  367. package/esm/vs/editor/common/model.js +1 -1
  368. package/esm/vs/editor/common/model.js.map +1 -1
  369. package/esm/vs/editor/common/services/editorBaseApi.js.map +1 -1
  370. package/esm/vs/editor/common/services/editorWebWorker.js +1 -0
  371. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  372. package/esm/vs/editor/common/services/editorWorkerHost.js.map +1 -1
  373. package/esm/vs/editor/common/services/modelService.js +14 -21
  374. package/esm/vs/editor/common/services/modelService.js.map +1 -1
  375. package/esm/vs/editor/common/textModelEditSource.js +2 -0
  376. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  377. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +40 -1
  378. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  379. package/esm/vs/editor/common/viewModel/viewModelImpl.js +2 -1
  380. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  381. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +1 -1
  382. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js.map +1 -1
  383. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  384. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  385. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +1 -0
  386. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  387. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -0
  388. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  389. package/esm/vs/editor/contrib/find/browser/findModel.js +1 -0
  390. package/esm/vs/editor/contrib/find/browser/findModel.js.map +1 -1
  391. package/esm/vs/editor/contrib/find/browser/findWidget.css +5 -5
  392. package/esm/vs/editor/contrib/folding/browser/folding.css +4 -4
  393. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  394. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  395. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js.map +1 -1
  396. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +30 -14
  397. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  398. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +4 -3
  399. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  400. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +56 -7
  401. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  402. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +1 -0
  403. package/esm/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js.map +1 -1
  404. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +2 -0
  405. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  406. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -0
  407. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  408. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  409. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  410. package/esm/vs/editor/contrib/rename/browser/renameWidget.js.map +1 -1
  411. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.css +2 -0
  412. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +2 -0
  413. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  414. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js.map +1 -1
  415. package/esm/vs/editor/editor.api.d.ts +8 -8
  416. package/esm/vs/editor/editor.api.js +4 -0
  417. package/esm/vs/editor/editor.api.js.map +1 -1
  418. package/esm/vs/editor/editor.main.js +1 -1
  419. package/esm/vs/editor/editor.worker.js +1 -1
  420. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  421. package/esm/vs/editor/standalone/browser/standaloneEditor.js +37 -0
  422. package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
  423. package/esm/vs/editor/standalone/browser/standaloneLanguages.js +37 -0
  424. package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
  425. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  426. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  427. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js +3 -0
  428. package/esm/vs/editor/standalone/common/monarch/monarchCompile.js.map +1 -1
  429. package/esm/vs/language/css/css.worker.js +1 -1
  430. package/esm/vs/language/css/cssMode.js +1 -1
  431. package/esm/vs/language/css/monaco.contribution.js +1 -1
  432. package/esm/vs/language/html/html.worker.js +1 -1
  433. package/esm/vs/language/html/htmlMode.js +1 -1
  434. package/esm/vs/language/html/monaco.contribution.js +1 -1
  435. package/esm/vs/language/json/json.worker.js +1 -1
  436. package/esm/vs/language/json/jsonMode.js +1 -1
  437. package/esm/vs/language/json/monaco.contribution.js +1 -1
  438. package/esm/vs/language/typescript/monaco.contribution.js +1 -1
  439. package/esm/vs/language/typescript/ts.worker.js +1 -1
  440. package/esm/vs/language/typescript/tsMode.js +1 -1
  441. package/esm/vs/platform/accessibility/browser/accessibilityService.js +2 -2
  442. package/esm/vs/platform/accessibility/browser/accessibilityService.js.map +1 -1
  443. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  444. package/esm/vs/platform/commands/common/commands.js.map +1 -1
  445. package/esm/vs/platform/contextkey/common/contextkey.js +5 -0
  446. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  447. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js +1 -0
  448. package/esm/vs/platform/dataChannel/browser/forwardingTelemetryService.js.map +1 -1
  449. package/esm/vs/platform/dnd/browser/dnd.js +2 -0
  450. package/esm/vs/platform/dnd/browser/dnd.js.map +1 -1
  451. package/esm/vs/platform/instantiation/common/descriptors.js.map +1 -1
  452. package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
  453. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -0
  454. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  455. package/esm/vs/platform/list/browser/listService.js +5 -0
  456. package/esm/vs/platform/list/browser/listService.js.map +1 -1
  457. package/esm/vs/platform/log/common/log.js.map +1 -1
  458. package/esm/vs/platform/log/common/logService.js.map +1 -1
  459. package/esm/vs/platform/observable/common/wrapInHotClass.js +2 -0
  460. package/esm/vs/platform/observable/common/wrapInHotClass.js.map +1 -1
  461. package/esm/vs/platform/observable/common/wrapInReloadableClass.js +3 -0
  462. package/esm/vs/platform/observable/common/wrapInReloadableClass.js.map +1 -1
  463. package/esm/vs/platform/product/common/product.js +69 -0
  464. package/esm/vs/platform/product/common/product.js.map +1 -0
  465. package/esm/vs/platform/quickinput/browser/quickInput.js +1 -1
  466. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  467. package/min/vs/assets/{css.worker-cO8rX8Iy.js → css.worker-BVuiDuBy.js} +2 -2
  468. package/min/vs/assets/{editor.worker-DM0G1eFj.js → editor.worker-jxNOmuJM.js} +9 -9
  469. package/min/vs/assets/{html.worker-BruuIJkK.js → html.worker-DjzoR3Nq.js} +12 -12
  470. package/min/vs/assets/{json.worker-DghZTZS7.js → json.worker-BHO4PP-I.js} +16 -16
  471. package/min/vs/assets/{ts.worker-C4E4vgbE.js → ts.worker-BbmlTFxS.js} +24 -24
  472. package/min/vs/basic-languages/monaco.contribution.js +1 -1
  473. package/min/vs/{cssMode-CGp6dFmI.js → cssMode-CihSYqKE.js} +1 -1
  474. package/min/vs/editor/editor.main.css +1 -1
  475. package/min/vs/editor/editor.main.js +1 -1
  476. package/min/vs/{editor.api-i0YVFWkl.js → editor.api-BBvXWtgc.js} +171 -171
  477. package/min/vs/{freemarker2-CJME-ah8.js → freemarker2-Ce3sL2WS.js} +1 -1
  478. package/min/vs/{handlebars-NccI6MVO.js → handlebars-Bb3ZjWAt.js} +1 -1
  479. package/min/vs/{html-K7M-xuod.js → html-CsBZo_Ud.js} +1 -1
  480. package/min/vs/{htmlMode-DtjCNH-N.js → htmlMode-BaDSxMv5.js} +1 -1
  481. package/min/vs/{javascript-CUpTMdAr.js → javascript-2_kuM68q.js} +1 -1
  482. package/min/vs/{jsonMode-CJjR_ECa.js → jsonMode-PX5jRR_L.js} +1 -1
  483. package/min/vs/language/css/monaco.contribution.js +1 -1
  484. package/min/vs/language/html/monaco.contribution.js +1 -1
  485. package/min/vs/language/json/monaco.contribution.js +1 -1
  486. package/min/vs/language/typescript/monaco.contribution.js +1 -1
  487. package/min/vs/{liquid-STktYroN.js → liquid-DREB9HpI.js} +1 -1
  488. package/min/vs/{lspLanguageFeatures-A02kBDb6.js → lspLanguageFeatures-D8gqdJoR.js} +1 -1
  489. package/min/vs/{mdx-C6mq4H94.js → mdx-BNAJfpzr.js} +1 -1
  490. package/min/vs/nls.messages.de.js +1 -1
  491. package/min/vs/nls.messages.es.js +1 -1
  492. package/min/vs/nls.messages.fr.js +1 -1
  493. package/min/vs/nls.messages.it.js +1 -1
  494. package/min/vs/nls.messages.ja.js +1 -1
  495. package/min/vs/nls.messages.ko.js +1 -1
  496. package/min/vs/nls.messages.ru.js +1 -1
  497. package/min/vs/nls.messages.zh-cn.js +1 -1
  498. package/min/vs/nls.messages.zh-tw.js +1 -1
  499. package/min/vs/{python-B-Y2SC3b.js → python-CLgnWbAg.js} +1 -1
  500. package/min/vs/{razor-JzN5FpSg.js → razor-pD9XaIj8.js} +1 -1
  501. package/min/vs/{tsMode-i88JHxDY.js → tsMode-DDFENmoA.js} +1 -1
  502. package/min/vs/{typescript-4zug7YwV.js → typescript-CWlXqxY6.js} +1 -1
  503. package/min/vs/{workers-CbP2cVmy.js → workers-Da5d5FZY.js} +1 -1
  504. package/min/vs/{xml-DRHZuZwg.js → xml-B8kusTdt.js} +1 -1
  505. package/min/vs/{yaml-CkWIGXBM.js → yaml-CxSYV94R.js} +1 -1
  506. package/monaco.d.ts +8 -8
  507. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/folding/browser/foldingDecorations.ts"],"names":[],"mappings":"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","file":"foldingDecorations.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { IModelDecorationOptions, IModelDecorationsChangeAccessor, MinimapPosition, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { IDecorationProvider } from './foldingModel.js';\nimport { localize } from '../../../../nls.js';\nimport { editorSelectionBackground, iconForeground, registerColor, transparent } from '../../../../platform/theme/common/colorRegistry.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\n\nconst foldBackground = registerColor('editor.foldBackground', { light: transparent(editorSelectionBackground, 0.3), dark: transparent(editorSelectionBackground, 0.3), hcDark: null, hcLight: null }, localize('foldBackgroundBackground', \"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.\"), true);\nregisterColor('editor.foldPlaceholderForeground', { light: '#808080', dark: '#808080', hcDark: null, hcLight: null }, localize('collapsedTextColor', \"Color of the collapsed text after the first line of a folded range.\"));\nregisterColor('editorGutter.foldingControlForeground', iconForeground, localize('editorGutter.foldingControlForeground', 'Color of the folding control in the editor gutter.'));\n\nexport const foldingExpandedIcon = registerIcon('folding-expanded', Codicon.chevronDown, localize('foldingExpandedIcon', 'Icon for expanded ranges in the editor glyph margin.'));\nexport const foldingCollapsedIcon = registerIcon('folding-collapsed', Codicon.chevronRight, localize('foldingCollapsedIcon', 'Icon for collapsed ranges in the editor glyph margin.'));\nexport const foldingManualCollapsedIcon = registerIcon('folding-manual-collapsed', foldingCollapsedIcon, localize('foldingManualCollapedIcon', 'Icon for manually collapsed ranges in the editor glyph margin.'));\nexport const foldingManualExpandedIcon = registerIcon('folding-manual-expanded', foldingExpandedIcon, localize('foldingManualExpandedIcon', 'Icon for manually expanded ranges in the editor glyph margin.'));\n\nconst foldedBackgroundMinimap = { color: themeColorFromId(foldBackground), position: MinimapPosition.Inline };\n\nconst collapsed = localize('linesCollapsed', \"Click to expand the range.\");\nconst expanded = localize('linesExpanded', \"Click to collapse the range.\");\n\nexport class FoldingDecorationProvider implements IDecorationProvider {\n\n\tprivate static readonly COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-collapsed-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingCollapsedIcon),\n\t});\n\n\tprivate static readonly COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-collapsed-highlighted-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingCollapsedIcon)\n\t});\n\n\tprivate static readonly MANUALLY_COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-collapsed-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualCollapsedIcon)\n\t});\n\n\tprivate static readonly MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-collapsed-highlighted-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualCollapsedIcon)\n\t});\n\n\tprivate static readonly NO_CONTROLS_COLLAPSED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t});\n\n\tprivate static readonly NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t});\n\n\tprivate static readonly EXPANDED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-expanded-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: 'alwaysShowFoldIcons ' + ThemeIcon.asClassName(foldingExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly EXPANDED_AUTO_HIDE_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-expanded-auto-hide-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly MANUALLY_EXPANDED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-expanded-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: 'alwaysShowFoldIcons ' + ThemeIcon.asClassName(foldingManualExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-expanded-auto-hide-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly NO_CONTROLS_EXPANDED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true\n\t});\n\n\tprivate static readonly HIDDEN_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-hidden-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges\n\t});\n\n\tpublic showFoldingControls: 'always' | 'never' | 'mouseover' = 'mouseover';\n\n\tpublic showFoldingHighlights: boolean = true;\n\n\tconstructor(private readonly editor: ICodeEditor) {\n\t}\n\n\tgetDecorationOption(isCollapsed: boolean, isHidden: boolean, isManual: boolean): IModelDecorationOptions {\n\t\tif (isHidden) { // is inside another collapsed region\n\t\t\treturn FoldingDecorationProvider.HIDDEN_RANGE_DECORATION;\n\t\t}\n\t\tif (this.showFoldingControls === 'never') {\n\t\t\tif (isCollapsed) {\n\t\t\t\treturn this.showFoldingHighlights ? FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION : FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION;\n\t\t\t}\n\t\t\treturn FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION;\n\t\t}\n\t\tif (isCollapsed) {\n\t\t\treturn isManual ?\n\t\t\t\t(this.showFoldingHighlights ? FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION : FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION)\n\t\t\t\t: (this.showFoldingHighlights ? FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION : FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION);\n\t\t} else if (this.showFoldingControls === 'mouseover') {\n\t\t\treturn isManual ? FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION : FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION;\n\t\t} else {\n\t\t\treturn isManual ? FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION : FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION;\n\t\t}\n\t}\n\n\tchangeDecorations<T>(callback: (changeAccessor: IModelDecorationsChangeAccessor) => T): T {\n\t\treturn this.editor.changeDecorations(callback);\n\t}\n\n\tremoveDecorations(decorationIds: string[]): void {\n\t\tthis.editor.removeDecorations(decorationIds);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/folding/browser/foldingDecorations.ts"],"names":[],"mappings":"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","file":"foldingDecorations.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { IModelDecorationOptions, IModelDecorationsChangeAccessor, MinimapPosition, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { IDecorationProvider } from './foldingModel.js';\nimport { localize } from '../../../../nls.js';\nimport { editorSelectionBackground, iconForeground, registerColor, transparent } from '../../../../platform/theme/common/colorRegistry.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\n\nconst foldBackground = registerColor('editor.foldBackground', { light: transparent(editorSelectionBackground, 0.3), dark: transparent(editorSelectionBackground, 0.3), hcDark: null, hcLight: null }, localize('foldBackgroundBackground', \"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.\"), true);\nregisterColor('editor.foldPlaceholderForeground', { light: '#808080', dark: '#808080', hcDark: null, hcLight: null }, localize('collapsedTextColor', \"Color of the collapsed text after the first line of a folded range.\"));\nregisterColor('editorGutter.foldingControlForeground', iconForeground, localize('editorGutter.foldingControlForeground', 'Color of the folding control in the editor gutter.'));\n\nexport const foldingExpandedIcon = registerIcon('folding-expanded', Codicon.chevronDown, localize('foldingExpandedIcon', 'Icon for expanded ranges in the editor glyph margin.'));\nexport const foldingCollapsedIcon = registerIcon('folding-collapsed', Codicon.chevronRight, localize('foldingCollapsedIcon', 'Icon for collapsed ranges in the editor glyph margin.'));\nexport const foldingManualCollapsedIcon = registerIcon('folding-manual-collapsed', foldingCollapsedIcon, localize('foldingManualCollapedIcon', 'Icon for manually collapsed ranges in the editor glyph margin.'));\nexport const foldingManualExpandedIcon = registerIcon('folding-manual-expanded', foldingExpandedIcon, localize('foldingManualExpandedIcon', 'Icon for manually expanded ranges in the editor glyph margin.'));\n\nconst foldedBackgroundMinimap = { color: themeColorFromId(foldBackground), position: MinimapPosition.Inline };\n\nconst collapsed = localize('linesCollapsed', \"Click to expand the range.\");\nconst expanded = localize('linesExpanded', \"Click to collapse the range.\");\n\nexport class FoldingDecorationProvider implements IDecorationProvider {\n\n\tprivate static readonly COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-collapsed-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingCollapsedIcon),\n\t});\n\n\tprivate static readonly COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-collapsed-highlighted-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingCollapsedIcon)\n\t});\n\n\tprivate static readonly MANUALLY_COLLAPSED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-collapsed-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualCollapsedIcon)\n\t});\n\n\tprivate static readonly MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-collapsed-highlighted-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualCollapsedIcon)\n\t});\n\n\tprivate static readonly NO_CONTROLS_COLLAPSED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t});\n\n\tprivate static readonly NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tafterContentClassName: 'inline-folded',\n\t\tclassName: 'folded-background',\n\t\tminimap: foldedBackgroundMinimap,\n\t\tisWholeLine: true,\n\t\tlinesDecorationsTooltip: collapsed,\n\t});\n\n\tprivate static readonly EXPANDED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-expanded-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: 'alwaysShowFoldIcons ' + ThemeIcon.asClassName(foldingExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly EXPANDED_AUTO_HIDE_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-expanded-auto-hide-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly MANUALLY_EXPANDED_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-expanded-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: 'alwaysShowFoldIcons ' + ThemeIcon.asClassName(foldingManualExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-manually-expanded-auto-hide-visual-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true,\n\t\tfirstLineDecorationClassName: ThemeIcon.asClassName(foldingManualExpandedIcon),\n\t\tlinesDecorationsTooltip: expanded,\n\t});\n\n\tprivate static readonly NO_CONTROLS_EXPANDED_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-no-controls-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,\n\t\tisWholeLine: true\n\t});\n\n\tprivate static readonly HIDDEN_RANGE_DECORATION = ModelDecorationOptions.register({\n\t\tdescription: 'folding-hidden-range-decoration',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges\n\t});\n\n\tpublic showFoldingControls: 'always' | 'never' | 'mouseover' = 'mouseover';\n\n\tpublic showFoldingHighlights: boolean = true;\n\n\tconstructor(private readonly editor: ICodeEditor) {\n\t}\n\n\tgetDecorationOption(isCollapsed: boolean, isHidden: boolean, isManual: boolean): IModelDecorationOptions {\n\t\tif (isHidden) { // is inside another collapsed region\n\t\t\treturn FoldingDecorationProvider.HIDDEN_RANGE_DECORATION;\n\t\t}\n\t\tif (this.showFoldingControls === 'never') {\n\t\t\tif (isCollapsed) {\n\t\t\t\treturn this.showFoldingHighlights ? FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION : FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION;\n\t\t\t}\n\t\t\treturn FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION;\n\t\t}\n\t\tif (isCollapsed) {\n\t\t\treturn isManual ?\n\t\t\t\t(this.showFoldingHighlights ? FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION : FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION)\n\t\t\t\t: (this.showFoldingHighlights ? FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION : FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION);\n\t\t} else if (this.showFoldingControls === 'mouseover') {\n\t\t\treturn isManual ? FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION : FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION;\n\t\t} else {\n\t\t\treturn isManual ? FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION : FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION;\n\t\t}\n\t}\n\n\tchangeDecorations<T>(callback: (changeAccessor: IModelDecorationsChangeAccessor) => T): T | null {\n\t\treturn this.editor.changeDecorations(callback);\n\t}\n\n\tremoveDecorations(decorationIds: string[]): void {\n\t\tthis.editor.removeDecorations(decorationIds);\n\t}\n}\n"]}
@@ -239,7 +239,7 @@ let GotoDefinitionAtPositionEditorContribution = class GotoDefinitionAtPositionE
239
239
  }
240
240
  return getDefinitionsAtPosition(this.languageFeaturesService.definitionProvider, model, position, false, token);
241
241
  }
242
- gotoDefinition(position, openToSide) {
242
+ async gotoDefinition(position, openToSide) {
243
243
  this.editor.setPosition(position);
244
244
  return this.editor.invokeWithinContext((accessor) => {
245
245
  const canPeek = !openToSide && this.editor.getOption(101 /* EditorOption.definitionLinkOpensInPeek */) && !this.isInPeekEditor(accessor);
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts"],"names":[],"mappings":"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","file":"goToDefinitionAtPosition.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IKeyboardEvent } from '../../../../../base/browser/keyboardEvent.js';\nimport { CancelablePromise, createCancelablePromise } from '../../../../../base/common/async.js';\nimport { CancellationToken } from '../../../../../base/common/cancellation.js';\nimport { onUnexpectedError } from '../../../../../base/common/errors.js';\nimport { MarkdownString } from '../../../../../base/common/htmlContent.js';\nimport { DisposableStore } from '../../../../../base/common/lifecycle.js';\nimport './goToDefinitionAtPosition.css';\nimport { CodeEditorStateFlag, EditorState } from '../../../editorState/browser/editorState.js';\nimport { ICodeEditor, MouseTargetType } from '../../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { IRange, Range } from '../../../../common/core/range.js';\nimport { IEditorContribution, IEditorDecorationsCollection } from '../../../../common/editorCommon.js';\nimport { IModelDeltaDecoration, ITextModel } from '../../../../common/model.js';\nimport { LocationLink } from '../../../../common/languages.js';\nimport { ILanguageService } from '../../../../common/languages/language.js';\nimport { ITextModelService } from '../../../../common/services/resolverService.js';\nimport { ClickLinkGesture, ClickLinkKeyboardEvent, ClickLinkMouseEvent } from './clickLinkGesture.js';\nimport { PeekContext } from '../../../peekView/browser/peekView.js';\nimport * as nls from '../../../../../nls.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { ServicesAccessor } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { DefinitionAction } from '../goToCommands.js';\nimport { getDefinitionsAtPosition } from '../goToSymbol.js';\nimport { IWordAtPosition } from '../../../../common/core/wordHelper.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { ModelDecorationInjectedTextOptions } from '../../../../common/model/textModel.js';\n\nexport class GotoDefinitionAtPositionEditorContribution implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.gotodefinitionatposition';\n\tstatic readonly MAX_SOURCE_PREVIEW_LINES = 8;\n\n\tprivate readonly editor: ICodeEditor;\n\tprivate readonly toUnhook = new DisposableStore();\n\tprivate readonly toUnhookForKeyboard = new DisposableStore();\n\tprivate readonly linkDecorations: IEditorDecorationsCollection;\n\tprivate currentWordAtPosition: IWordAtPosition | null = null;\n\tprivate previousPromise: CancelablePromise<LocationLink[] | null> | null = null;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ITextModelService private readonly textModelResolverService: ITextModelService,\n\t\t@ILanguageService private readonly languageService: ILanguageService,\n\t\t@ILanguageFeaturesService private readonly languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis.editor = editor;\n\t\tthis.linkDecorations = this.editor.createDecorationsCollection();\n\n\t\tconst linkGesture = new ClickLinkGesture(editor);\n\t\tthis.toUnhook.add(linkGesture);\n\n\t\tthis.toUnhook.add(linkGesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, keyboardEvent]) => {\n\t\t\tthis.startFindDefinitionFromMouse(mouseEvent, keyboardEvent ?? undefined);\n\t\t}));\n\n\t\tthis.toUnhook.add(linkGesture.onExecute((mouseEvent: ClickLinkMouseEvent) => {\n\t\t\tif (this.isEnabled(mouseEvent)) {\n\t\t\t\tthis.gotoDefinition(mouseEvent.target.position!, mouseEvent.hasSideBySideModifier)\n\t\t\t\t\t.catch((error: Error) => {\n\t\t\t\t\t\tonUnexpectedError(error);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tthis.removeLinkDecorations();\n\t\t\t\t\t});\n\t\t\t}\n\t\t}));\n\n\t\tthis.toUnhook.add(linkGesture.onCancel(() => {\n\t\t\tthis.removeLinkDecorations();\n\t\t\tthis.currentWordAtPosition = null;\n\t\t}));\n\t}\n\n\tstatic get(editor: ICodeEditor): GotoDefinitionAtPositionEditorContribution | null {\n\t\treturn editor.getContribution<GotoDefinitionAtPositionEditorContribution>(GotoDefinitionAtPositionEditorContribution.ID);\n\t}\n\n\tasync startFindDefinitionFromCursor(position: Position) {\n\t\t// For issue: https://github.com/microsoft/vscode/issues/46257\n\t\t// equivalent to mouse move with meta/ctrl key\n\n\t\t// First find the definition and add decorations\n\t\t// to the editor to be shown with the content hover widget\n\t\tawait this.startFindDefinition(position);\n\t\t// Add listeners for editor cursor move and key down events\n\t\t// Dismiss the \"extended\" editor decorations when the user hides\n\t\t// the hover widget. There is no event for the widget itself so these\n\t\t// serve as a best effort. After removing the link decorations, the hover\n\t\t// widget is clean and will only show declarations per next request.\n\t\tthis.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(() => {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\tthis.toUnhookForKeyboard.clear();\n\t\t}));\n\t\tthis.toUnhookForKeyboard.add(this.editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (e) {\n\t\t\t\tthis.currentWordAtPosition = null;\n\t\t\t\tthis.removeLinkDecorations();\n\t\t\t\tthis.toUnhookForKeyboard.clear();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate startFindDefinitionFromMouse(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent): void {\n\n\t\t// check if we are active and on a content widget\n\t\tif (mouseEvent.target.type === MouseTargetType.CONTENT_WIDGET && this.linkDecorations.length > 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.editor.hasModel() || !this.isEnabled(mouseEvent, withKey)) {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = mouseEvent.target.position!;\n\n\t\tthis.startFindDefinition(position);\n\t}\n\n\tprivate async startFindDefinition(position: Position): Promise<void> {\n\n\t\t// Dispose listeners for updating decorations when using keyboard to show definition hover\n\t\tthis.toUnhookForKeyboard.clear();\n\n\t\t// Find word at mouse position\n\t\tconst word = position ? this.editor.getModel()?.getWordAtPosition(position) : null;\n\t\tif (!word) {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\t// Return early if word at position is still the same\n\t\tif (this.currentWordAtPosition && this.currentWordAtPosition.startColumn === word.startColumn && this.currentWordAtPosition.endColumn === word.endColumn && this.currentWordAtPosition.word === word.word) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentWordAtPosition = word;\n\n\t\t// Find definition and decorate word if found\n\t\tconst state = new EditorState(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value | CodeEditorStateFlag.Selection | CodeEditorStateFlag.Scroll);\n\n\t\tif (this.previousPromise) {\n\t\t\tthis.previousPromise.cancel();\n\t\t\tthis.previousPromise = null;\n\t\t}\n\n\t\tthis.previousPromise = createCancelablePromise(token => this.findDefinition(position, token));\n\n\t\tlet results: LocationLink[] | null;\n\t\ttry {\n\t\t\tresults = await this.previousPromise;\n\n\t\t} catch (error) {\n\t\t\tonUnexpectedError(error);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!results || !results.length || !state.validate(this.editor)) {\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst linkRange = results[0].originSelectionRange\n\t\t\t? Range.lift(results[0].originSelectionRange)\n\t\t\t: new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);\n\n\t\t// Multiple results\n\t\tif (results.length > 1) {\n\n\t\t\tlet combinedRange = linkRange;\n\t\t\tfor (const { originSelectionRange } of results) {\n\t\t\t\tif (originSelectionRange) {\n\t\t\t\t\tcombinedRange = Range.plusRange(combinedRange, originSelectionRange);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.addDecoration(\n\t\t\t\tcombinedRange,\n\t\t\t\tnew MarkdownString().appendText(nls.localize('multipleResults', \"Click to show {0} definitions.\", results.length))\n\t\t\t);\n\t\t} else {\n\t\t\t// Single result\n\t\t\tconst result = results[0];\n\n\t\t\tif (!result.uri) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn this.textModelResolverService.createModelReference(result.uri).then(ref => {\n\n\t\t\t\tif (!ref.object || !ref.object.textEditorModel) {\n\t\t\t\t\tref.dispose();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { object: { textEditorModel } } = ref;\n\t\t\t\tconst { startLineNumber } = result.range;\n\n\t\t\t\tif (startLineNumber < 1 || startLineNumber > textEditorModel.getLineCount()) {\n\t\t\t\t\t// invalid range\n\t\t\t\t\tref.dispose();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst previewValue = this.getPreviewValue(textEditorModel, startLineNumber, result);\n\t\t\t\tconst languageId = this.languageService.guessLanguageIdByFilepathOrFirstLine(textEditorModel.uri);\n\t\t\t\tthis.addDecoration(\n\t\t\t\t\tlinkRange,\n\t\t\t\t\tpreviewValue ? new MarkdownString().appendCodeblock(languageId ? languageId : '', previewValue) : undefined\n\t\t\t\t);\n\t\t\t\tref.dispose();\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate getPreviewValue(textEditorModel: ITextModel, startLineNumber: number, result: LocationLink) {\n\t\tlet rangeToUse = result.range;\n\t\tconst numberOfLinesInRange = rangeToUse.endLineNumber - rangeToUse.startLineNumber;\n\t\tif (numberOfLinesInRange >= GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES) {\n\t\t\trangeToUse = this.getPreviewRangeBasedOnIndentation(textEditorModel, startLineNumber);\n\t\t}\n\t\trangeToUse = textEditorModel.validateRange(rangeToUse);\n\t\tconst previewValue = this.stripIndentationFromPreviewRange(textEditorModel, startLineNumber, rangeToUse);\n\t\treturn previewValue;\n\t}\n\n\tprivate stripIndentationFromPreviewRange(textEditorModel: ITextModel, startLineNumber: number, previewRange: IRange) {\n\t\tconst startIndent = textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);\n\t\tlet minIndent = startIndent;\n\n\t\tfor (let endLineNumber = startLineNumber + 1; endLineNumber < previewRange.endLineNumber; endLineNumber++) {\n\t\t\tconst endIndent = textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);\n\t\t\tminIndent = Math.min(minIndent, endIndent);\n\t\t}\n\n\t\tconst previewValue = textEditorModel.getValueInRange(previewRange).replace(new RegExp(`^\\\\s{${minIndent - 1}}`, 'gm'), '').trim();\n\t\treturn previewValue;\n\t}\n\n\tprivate getPreviewRangeBasedOnIndentation(textEditorModel: ITextModel, startLineNumber: number) {\n\t\tconst startIndent = textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);\n\t\tconst maxLineNumber = Math.min(textEditorModel.getLineCount(), startLineNumber + GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES);\n\t\tlet endLineNumber = startLineNumber + 1;\n\n\t\tfor (; endLineNumber < maxLineNumber; endLineNumber++) {\n\t\t\tconst endIndent = textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);\n\n\t\t\tif (startIndent === endIndent) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn new Range(startLineNumber, 1, endLineNumber + 1, 1);\n\t}\n\n\tprivate addDecoration(range: Range, hoverMessage: MarkdownString | undefined): void {\n\n\t\tconst newDecorations: IModelDeltaDecoration = {\n\t\t\trange: range,\n\t\t\toptions: {\n\t\t\t\tdescription: 'goto-definition-link',\n\t\t\t\tinlineClassName: 'goto-definition-link',\n\t\t\t\thoverMessage\n\t\t\t}\n\t\t};\n\n\t\tthis.linkDecorations.set([newDecorations]);\n\t}\n\n\tprivate removeLinkDecorations(): void {\n\t\tthis.linkDecorations.clear();\n\t}\n\n\tprivate isEnabled(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent): boolean {\n\t\treturn this.editor.hasModel()\n\t\t\t&& mouseEvent.isLeftClick\n\t\t\t&& mouseEvent.isNoneOrSingleMouseDown\n\t\t\t&& mouseEvent.target.type === MouseTargetType.CONTENT_TEXT\n\t\t\t&& !(mouseEvent.target.detail.injectedText?.options instanceof ModelDecorationInjectedTextOptions)\n\t\t\t&& (mouseEvent.hasTriggerModifier || (withKey ? withKey.keyCodeIsTriggerKey : false))\n\t\t\t&& this.languageFeaturesService.definitionProvider.has(this.editor.getModel());\n\t}\n\n\tprivate findDefinition(position: Position, token: CancellationToken): Promise<LocationLink[] | null> {\n\t\tconst model = this.editor.getModel();\n\t\tif (!model) {\n\t\t\treturn Promise.resolve(null);\n\t\t}\n\n\t\treturn getDefinitionsAtPosition(this.languageFeaturesService.definitionProvider, model, position, false, token);\n\t}\n\n\tprivate gotoDefinition(position: Position, openToSide: boolean): Promise<any> {\n\t\tthis.editor.setPosition(position);\n\t\treturn this.editor.invokeWithinContext((accessor) => {\n\t\t\tconst canPeek = !openToSide && this.editor.getOption(EditorOption.definitionLinkOpensInPeek) && !this.isInPeekEditor(accessor);\n\t\t\tconst action = new DefinitionAction({ openToSide, openInPeek: canPeek, muteMessage: true }, { title: { value: '', original: '' }, id: '', precondition: undefined });\n\t\t\treturn action.run(accessor);\n\t\t});\n\t}\n\n\tprivate isInPeekEditor(accessor: ServicesAccessor): boolean | undefined {\n\t\tconst contextKeyService = accessor.get(IContextKeyService);\n\t\treturn PeekContext.inPeekEditor.getValue(contextKeyService);\n\t}\n\n\tpublic dispose(): void {\n\t\tthis.toUnhook.dispose();\n\t\tthis.toUnhookForKeyboard.dispose();\n\t}\n}\n\nregisterEditorContribution(GotoDefinitionAtPositionEditorContribution.ID, GotoDefinitionAtPositionEditorContribution, EditorContributionInstantiation.BeforeFirstInteraction);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.ts"],"names":[],"mappings":"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","file":"goToDefinitionAtPosition.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IKeyboardEvent } from '../../../../../base/browser/keyboardEvent.js';\nimport { CancelablePromise, createCancelablePromise } from '../../../../../base/common/async.js';\nimport { CancellationToken } from '../../../../../base/common/cancellation.js';\nimport { onUnexpectedError } from '../../../../../base/common/errors.js';\nimport { MarkdownString } from '../../../../../base/common/htmlContent.js';\nimport { DisposableStore } from '../../../../../base/common/lifecycle.js';\nimport './goToDefinitionAtPosition.css';\nimport { CodeEditorStateFlag, EditorState } from '../../../editorState/browser/editorState.js';\nimport { ICodeEditor, MouseTargetType } from '../../../../browser/editorBrowser.js';\nimport { EditorContributionInstantiation, registerEditorContribution } from '../../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../../common/config/editorOptions.js';\nimport { Position } from '../../../../common/core/position.js';\nimport { IRange, Range } from '../../../../common/core/range.js';\nimport { IEditorContribution, IEditorDecorationsCollection } from '../../../../common/editorCommon.js';\nimport { IModelDeltaDecoration, ITextModel } from '../../../../common/model.js';\nimport { LocationLink } from '../../../../common/languages.js';\nimport { ILanguageService } from '../../../../common/languages/language.js';\nimport { ITextModelService } from '../../../../common/services/resolverService.js';\nimport { ClickLinkGesture, ClickLinkKeyboardEvent, ClickLinkMouseEvent } from './clickLinkGesture.js';\nimport { PeekContext } from '../../../peekView/browser/peekView.js';\nimport * as nls from '../../../../../nls.js';\nimport { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';\nimport { ServicesAccessor } from '../../../../../platform/instantiation/common/instantiation.js';\nimport { DefinitionAction } from '../goToCommands.js';\nimport { getDefinitionsAtPosition } from '../goToSymbol.js';\nimport { IWordAtPosition } from '../../../../common/core/wordHelper.js';\nimport { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.js';\nimport { ModelDecorationInjectedTextOptions } from '../../../../common/model/textModel.js';\n\nexport class GotoDefinitionAtPositionEditorContribution implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.gotodefinitionatposition';\n\tstatic readonly MAX_SOURCE_PREVIEW_LINES = 8;\n\n\tprivate readonly editor: ICodeEditor;\n\tprivate readonly toUnhook = new DisposableStore();\n\tprivate readonly toUnhookForKeyboard = new DisposableStore();\n\tprivate readonly linkDecorations: IEditorDecorationsCollection;\n\tprivate currentWordAtPosition: IWordAtPosition | null = null;\n\tprivate previousPromise: CancelablePromise<LocationLink[] | null> | null = null;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@ITextModelService private readonly textModelResolverService: ITextModelService,\n\t\t@ILanguageService private readonly languageService: ILanguageService,\n\t\t@ILanguageFeaturesService private readonly languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis.editor = editor;\n\t\tthis.linkDecorations = this.editor.createDecorationsCollection();\n\n\t\tconst linkGesture = new ClickLinkGesture(editor);\n\t\tthis.toUnhook.add(linkGesture);\n\n\t\tthis.toUnhook.add(linkGesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, keyboardEvent]) => {\n\t\t\tthis.startFindDefinitionFromMouse(mouseEvent, keyboardEvent ?? undefined);\n\t\t}));\n\n\t\tthis.toUnhook.add(linkGesture.onExecute((mouseEvent: ClickLinkMouseEvent) => {\n\t\t\tif (this.isEnabled(mouseEvent)) {\n\t\t\t\tthis.gotoDefinition(mouseEvent.target.position!, mouseEvent.hasSideBySideModifier)\n\t\t\t\t\t.catch((error: Error) => {\n\t\t\t\t\t\tonUnexpectedError(error);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tthis.removeLinkDecorations();\n\t\t\t\t\t});\n\t\t\t}\n\t\t}));\n\n\t\tthis.toUnhook.add(linkGesture.onCancel(() => {\n\t\t\tthis.removeLinkDecorations();\n\t\t\tthis.currentWordAtPosition = null;\n\t\t}));\n\t}\n\n\tstatic get(editor: ICodeEditor): GotoDefinitionAtPositionEditorContribution | null {\n\t\treturn editor.getContribution<GotoDefinitionAtPositionEditorContribution>(GotoDefinitionAtPositionEditorContribution.ID);\n\t}\n\n\tasync startFindDefinitionFromCursor(position: Position) {\n\t\t// For issue: https://github.com/microsoft/vscode/issues/46257\n\t\t// equivalent to mouse move with meta/ctrl key\n\n\t\t// First find the definition and add decorations\n\t\t// to the editor to be shown with the content hover widget\n\t\tawait this.startFindDefinition(position);\n\t\t// Add listeners for editor cursor move and key down events\n\t\t// Dismiss the \"extended\" editor decorations when the user hides\n\t\t// the hover widget. There is no event for the widget itself so these\n\t\t// serve as a best effort. After removing the link decorations, the hover\n\t\t// widget is clean and will only show declarations per next request.\n\t\tthis.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(() => {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\tthis.toUnhookForKeyboard.clear();\n\t\t}));\n\t\tthis.toUnhookForKeyboard.add(this.editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (e) {\n\t\t\t\tthis.currentWordAtPosition = null;\n\t\t\t\tthis.removeLinkDecorations();\n\t\t\t\tthis.toUnhookForKeyboard.clear();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate startFindDefinitionFromMouse(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent): void {\n\n\t\t// check if we are active and on a content widget\n\t\tif (mouseEvent.target.type === MouseTargetType.CONTENT_WIDGET && this.linkDecorations.length > 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.editor.hasModel() || !this.isEnabled(mouseEvent, withKey)) {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = mouseEvent.target.position!;\n\n\t\tthis.startFindDefinition(position);\n\t}\n\n\tprivate async startFindDefinition(position: Position): Promise<void> {\n\n\t\t// Dispose listeners for updating decorations when using keyboard to show definition hover\n\t\tthis.toUnhookForKeyboard.clear();\n\n\t\t// Find word at mouse position\n\t\tconst word = position ? this.editor.getModel()?.getWordAtPosition(position) : null;\n\t\tif (!word) {\n\t\t\tthis.currentWordAtPosition = null;\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\t// Return early if word at position is still the same\n\t\tif (this.currentWordAtPosition && this.currentWordAtPosition.startColumn === word.startColumn && this.currentWordAtPosition.endColumn === word.endColumn && this.currentWordAtPosition.word === word.word) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentWordAtPosition = word;\n\n\t\t// Find definition and decorate word if found\n\t\tconst state = new EditorState(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value | CodeEditorStateFlag.Selection | CodeEditorStateFlag.Scroll);\n\n\t\tif (this.previousPromise) {\n\t\t\tthis.previousPromise.cancel();\n\t\t\tthis.previousPromise = null;\n\t\t}\n\n\t\tthis.previousPromise = createCancelablePromise(token => this.findDefinition(position, token));\n\n\t\tlet results: LocationLink[] | null;\n\t\ttry {\n\t\t\tresults = await this.previousPromise;\n\n\t\t} catch (error) {\n\t\t\tonUnexpectedError(error);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!results || !results.length || !state.validate(this.editor)) {\n\t\t\tthis.removeLinkDecorations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst linkRange = results[0].originSelectionRange\n\t\t\t? Range.lift(results[0].originSelectionRange)\n\t\t\t: new Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);\n\n\t\t// Multiple results\n\t\tif (results.length > 1) {\n\n\t\t\tlet combinedRange = linkRange;\n\t\t\tfor (const { originSelectionRange } of results) {\n\t\t\t\tif (originSelectionRange) {\n\t\t\t\t\tcombinedRange = Range.plusRange(combinedRange, originSelectionRange);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.addDecoration(\n\t\t\t\tcombinedRange,\n\t\t\t\tnew MarkdownString().appendText(nls.localize('multipleResults', \"Click to show {0} definitions.\", results.length))\n\t\t\t);\n\t\t} else {\n\t\t\t// Single result\n\t\t\tconst result = results[0];\n\n\t\t\tif (!result.uri) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn this.textModelResolverService.createModelReference(result.uri).then(ref => {\n\n\t\t\t\tif (!ref.object || !ref.object.textEditorModel) {\n\t\t\t\t\tref.dispose();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { object: { textEditorModel } } = ref;\n\t\t\t\tconst { startLineNumber } = result.range;\n\n\t\t\t\tif (startLineNumber < 1 || startLineNumber > textEditorModel.getLineCount()) {\n\t\t\t\t\t// invalid range\n\t\t\t\t\tref.dispose();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst previewValue = this.getPreviewValue(textEditorModel, startLineNumber, result);\n\t\t\t\tconst languageId = this.languageService.guessLanguageIdByFilepathOrFirstLine(textEditorModel.uri);\n\t\t\t\tthis.addDecoration(\n\t\t\t\t\tlinkRange,\n\t\t\t\t\tpreviewValue ? new MarkdownString().appendCodeblock(languageId ? languageId : '', previewValue) : undefined\n\t\t\t\t);\n\t\t\t\tref.dispose();\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate getPreviewValue(textEditorModel: ITextModel, startLineNumber: number, result: LocationLink) {\n\t\tlet rangeToUse = result.range;\n\t\tconst numberOfLinesInRange = rangeToUse.endLineNumber - rangeToUse.startLineNumber;\n\t\tif (numberOfLinesInRange >= GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES) {\n\t\t\trangeToUse = this.getPreviewRangeBasedOnIndentation(textEditorModel, startLineNumber);\n\t\t}\n\t\trangeToUse = textEditorModel.validateRange(rangeToUse);\n\t\tconst previewValue = this.stripIndentationFromPreviewRange(textEditorModel, startLineNumber, rangeToUse);\n\t\treturn previewValue;\n\t}\n\n\tprivate stripIndentationFromPreviewRange(textEditorModel: ITextModel, startLineNumber: number, previewRange: IRange) {\n\t\tconst startIndent = textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);\n\t\tlet minIndent = startIndent;\n\n\t\tfor (let endLineNumber = startLineNumber + 1; endLineNumber < previewRange.endLineNumber; endLineNumber++) {\n\t\t\tconst endIndent = textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);\n\t\t\tminIndent = Math.min(minIndent, endIndent);\n\t\t}\n\n\t\tconst previewValue = textEditorModel.getValueInRange(previewRange).replace(new RegExp(`^\\\\s{${minIndent - 1}}`, 'gm'), '').trim();\n\t\treturn previewValue;\n\t}\n\n\tprivate getPreviewRangeBasedOnIndentation(textEditorModel: ITextModel, startLineNumber: number) {\n\t\tconst startIndent = textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);\n\t\tconst maxLineNumber = Math.min(textEditorModel.getLineCount(), startLineNumber + GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES);\n\t\tlet endLineNumber = startLineNumber + 1;\n\n\t\tfor (; endLineNumber < maxLineNumber; endLineNumber++) {\n\t\t\tconst endIndent = textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);\n\n\t\t\tif (startIndent === endIndent) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn new Range(startLineNumber, 1, endLineNumber + 1, 1);\n\t}\n\n\tprivate addDecoration(range: Range, hoverMessage: MarkdownString | undefined): void {\n\n\t\tconst newDecorations: IModelDeltaDecoration = {\n\t\t\trange: range,\n\t\t\toptions: {\n\t\t\t\tdescription: 'goto-definition-link',\n\t\t\t\tinlineClassName: 'goto-definition-link',\n\t\t\t\thoverMessage\n\t\t\t}\n\t\t};\n\n\t\tthis.linkDecorations.set([newDecorations]);\n\t}\n\n\tprivate removeLinkDecorations(): void {\n\t\tthis.linkDecorations.clear();\n\t}\n\n\tprivate isEnabled(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent): boolean {\n\t\treturn this.editor.hasModel()\n\t\t\t&& mouseEvent.isLeftClick\n\t\t\t&& mouseEvent.isNoneOrSingleMouseDown\n\t\t\t&& mouseEvent.target.type === MouseTargetType.CONTENT_TEXT\n\t\t\t&& !(mouseEvent.target.detail.injectedText?.options instanceof ModelDecorationInjectedTextOptions)\n\t\t\t&& (mouseEvent.hasTriggerModifier || (withKey ? withKey.keyCodeIsTriggerKey : false))\n\t\t\t&& this.languageFeaturesService.definitionProvider.has(this.editor.getModel());\n\t}\n\n\tprivate findDefinition(position: Position, token: CancellationToken): Promise<LocationLink[] | null> {\n\t\tconst model = this.editor.getModel();\n\t\tif (!model) {\n\t\t\treturn Promise.resolve(null);\n\t\t}\n\n\t\treturn getDefinitionsAtPosition(this.languageFeaturesService.definitionProvider, model, position, false, token);\n\t}\n\n\tprivate async gotoDefinition(position: Position, openToSide: boolean): Promise<unknown> {\n\t\tthis.editor.setPosition(position);\n\t\treturn this.editor.invokeWithinContext((accessor) => {\n\t\t\tconst canPeek = !openToSide && this.editor.getOption(EditorOption.definitionLinkOpensInPeek) && !this.isInPeekEditor(accessor);\n\t\t\tconst action = new DefinitionAction({ openToSide, openInPeek: canPeek, muteMessage: true }, { title: { value: '', original: '' }, id: '', precondition: undefined });\n\t\t\treturn action.run(accessor);\n\t\t});\n\t}\n\n\tprivate isInPeekEditor(accessor: ServicesAccessor): boolean | undefined {\n\t\tconst contextKeyService = accessor.get(IContextKeyService);\n\t\treturn PeekContext.inPeekEditor.getValue(contextKeyService);\n\t}\n\n\tpublic dispose(): void {\n\t\tthis.toUnhook.dispose();\n\t\tthis.toUnhookForKeyboard.dispose();\n\t}\n}\n\nregisterEditorContribution(GotoDefinitionAtPositionEditorContribution.ID, GotoDefinitionAtPositionEditorContribution, EditorContributionInstantiation.BeforeFirstInteraction);\n"]}
@@ -23,7 +23,7 @@ import { assertType } from '../../../../base/common/types.js';
23
23
  import { URI } from '../../../../base/common/uri.js';
24
24
  import { DynamicCssRules } from '../../../browser/editorDom.js';
25
25
  import { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';
26
- import { EDITOR_FONT_DEFAULTS } from '../../../common/config/editorOptions.js';
26
+ import { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';
27
27
  import { EditOperation } from '../../../common/core/editOperation.js';
28
28
  import { Range } from '../../../common/core/range.js';
29
29
  import * as languages from '../../../common/languages.js';
@@ -82,6 +82,28 @@ class ActiveInlayHintInfo {
82
82
  this.hasTriggerModifier = hasTriggerModifier;
83
83
  }
84
84
  }
85
+ /**
86
+ * Mix of CancellationTokenSource, DisposableStore and MutableDisposable
87
+ */
88
+ class CancellationStore {
89
+ constructor() {
90
+ this._store = new MutableDisposable();
91
+ this._tokenSource = new CancellationTokenSource();
92
+ }
93
+ dispose() {
94
+ this._store.dispose();
95
+ this._tokenSource.dispose(true);
96
+ }
97
+ reset() {
98
+ this._tokenSource.dispose(true);
99
+ this._tokenSource = new CancellationTokenSource();
100
+ this._store.value = new DisposableStore();
101
+ return {
102
+ store: this._store.value,
103
+ token: this._tokenSource.token
104
+ };
105
+ }
106
+ }
85
107
  // --- controller
86
108
  let InlayHintsController = class InlayHintsController {
87
109
  static { InlayHintsController_1 = this; }
@@ -174,16 +196,15 @@ let InlayHintsController = class InlayHintsController {
174
196
  }));
175
197
  let cts;
176
198
  const watchedProviders = new Set();
199
+ this._sessionDisposables.add(model.onWillDispose(() => cts?.cancel()));
200
+ const cancellationStore = this._sessionDisposables.add(new CancellationStore());
177
201
  const scheduler = new RunOnceScheduler(async () => {
178
202
  const t1 = Date.now();
179
- cts?.dispose(true);
180
- cts = new CancellationTokenSource();
181
- const listener = model.onWillDispose(() => cts?.cancel());
203
+ const { store, token } = cancellationStore.reset();
182
204
  try {
183
- const myToken = cts.token;
184
- const inlayHints = await InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider, model, this._getHintsRanges(), myToken);
205
+ const inlayHints = await InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider, model, this._getHintsRanges(), token);
185
206
  scheduler.delay = this._debounceInfo.update(model, Date.now() - t1);
186
- if (myToken.isCancellationRequested) {
207
+ if (token.isCancellationRequested) {
187
208
  inlayHints.dispose();
188
209
  return;
189
210
  }
@@ -191,27 +212,22 @@ let InlayHintsController = class InlayHintsController {
191
212
  for (const provider of inlayHints.provider) {
192
213
  if (typeof provider.onDidChangeInlayHints === 'function' && !watchedProviders.has(provider)) {
193
214
  watchedProviders.add(provider);
194
- this._sessionDisposables.add(provider.onDidChangeInlayHints(() => {
215
+ store.add(provider.onDidChangeInlayHints(() => {
195
216
  if (!scheduler.isScheduled()) { // ignore event when request is already scheduled
196
217
  scheduler.schedule();
197
218
  }
198
219
  }));
199
220
  }
200
221
  }
201
- this._sessionDisposables.add(inlayHints);
222
+ store.add(inlayHints);
202
223
  this._updateHintsDecorators(inlayHints.ranges, inlayHints.items);
203
224
  this._cacheHintsForFastRestore(model);
204
225
  }
205
226
  catch (err) {
206
227
  onUnexpectedError(err);
207
228
  }
208
- finally {
209
- cts.dispose();
210
- listener.dispose();
211
- }
212
229
  }, this._debounceInfo.get(model));
213
230
  this._sessionDisposables.add(scheduler);
214
- this._sessionDisposables.add(toDisposable(() => cts?.dispose(true)));
215
231
  scheduler.schedule(0);
216
232
  this._sessionDisposables.add(this._editor.onDidScrollChange((e) => {
217
233
  // update when scroll position changes