@theoremjs/studio 0.0.0-stage → 0.3.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.
- package/LICENSE +21 -0
- package/README.md +295 -2
- package/agreement.d.ts +14 -0
- package/agreement.js +80 -0
- package/asks.d.ts +47 -0
- package/asks.js +54 -0
- package/browser-connection.d.ts +49 -0
- package/browser-connection.js +215 -0
- package/browser-engine.d.ts +11 -0
- package/browser-engine.js +11 -0
- package/browser-execution.d.ts +6 -0
- package/browser-execution.js +18 -0
- package/browser-live.d.ts +4 -0
- package/browser-live.js +132 -0
- package/browser-transport.d.ts +33 -0
- package/browser-transport.js +229 -0
- package/browser.d.ts +4 -0
- package/browser.js +4 -0
- package/canonical.d.ts +10 -0
- package/canonical.js +25 -0
- package/compile-workspace.d.ts +28 -0
- package/compile-workspace.js +295 -0
- package/compile.d.ts +65 -0
- package/compile.js +1605 -0
- package/concierge-demo.d.ts +17 -0
- package/concierge-demo.js +1230 -0
- package/conversation-key.d.ts +5 -0
- package/conversation-key.js +10 -0
- package/decision-example-images.d.ts +30 -0
- package/decision-example-images.js +30 -0
- package/deno.json +3 -0
- package/draft.d.ts +407 -0
- package/draft.js +505 -0
- package/editors.d.ts +29 -0
- package/editors.js +51 -0
- package/example-embedding-files.d.ts +11 -0
- package/example-embedding-files.js +20 -0
- package/example.d.ts +36 -0
- package/example.js +357 -0
- package/guardrail-probe.d.ts +100 -0
- package/guardrail-probe.js +722 -0
- package/held-credentials.d.ts +28 -0
- package/held-credentials.js +87 -0
- package/installed.mjs +40 -0
- package/lent-keys.d.ts +122 -0
- package/lent-keys.js +47 -0
- package/line-diff.d.ts +15 -0
- package/line-diff.js +41 -0
- package/live-connection.d.ts +22 -0
- package/live-connection.js +27 -0
- package/live-session-bridge.d.ts +15 -0
- package/live-session-bridge.js +202 -0
- package/map-line.d.ts +19 -0
- package/map-line.js +42 -0
- package/map.d.ts +154 -0
- package/map.js +525 -0
- package/media-accept.d.ts +19 -0
- package/media-accept.js +65 -0
- package/mod.d.ts +39 -0
- package/mod.js +33 -0
- package/origins.d.ts +52 -0
- package/origins.js +165 -0
- package/package.json +85 -4
- package/page/assets/Banner-BISz3nXA.js +2 -0
- package/page/assets/BottomSheet-BwfBDtje.js +1 -0
- package/page/assets/Card-Lp-0P5eL.js +1 -0
- package/page/assets/CardWall-CBRLdDZW.js +1 -0
- package/page/assets/Center-nHS1JSux.js +1 -0
- package/page/assets/CheckboxInput-Cj5pk-KI.js +2 -0
- package/page/assets/CodeBlock-C7XJ4ioE.js +51 -0
- package/page/assets/CollapsibleGroup-N7_SOjbm.js +2 -0
- package/page/assets/ContextMenu-CBu9H-9H.js +2 -0
- package/page/assets/DateInput-BGrQ5tPC.js +1 -0
- package/page/assets/Dialog-DELWQo-v.js +1 -0
- package/page/assets/EmptyState-C8W4JKBZ.js +1 -0
- package/page/assets/HoverCard-D1Y1ltWQ.js +1 -0
- package/page/assets/Icon-JrysT8aU.js +3 -0
- package/page/assets/IconAlertTriangle-BqAEqqdU.js +1 -0
- package/page/assets/IconButton-DlOGzJIX.js +1 -0
- package/page/assets/IconEye-BB5aY-wQ.js +1 -0
- package/page/assets/IconFileText-6zOFKKrF.js +1 -0
- package/page/assets/IconSearch-BTx66a40.js +1 -0
- package/page/assets/IconShield-DDOh7Gr5.js +1 -0
- package/page/assets/ItemSwipeLayer-Ckn4X6h9.js +1 -0
- package/page/assets/PaneState-BvA2tLQg.js +1 -0
- package/page/assets/PaneState-eUzUkNE8.css +1 -0
- package/page/assets/ScrollableArea-Ckugdj1N.js +1 -0
- package/page/assets/Section-DJ97F7QE.js +1 -0
- package/page/assets/SegmentedControlItem-h-aaXzyS.js +1 -0
- package/page/assets/SidePanel-BL32abk8.js +1 -0
- package/page/assets/StackItem-CQviqAfM.js +1 -0
- package/page/assets/Text-bum6zWWx.js +2 -0
- package/page/assets/TimestampHoverCard-DQIG0RZF.js +1 -0
- package/page/assets/ToolResultCharts-CgshSv9Q.js +1 -0
- package/page/assets/Tooltip-BH9xiRMl.js +1 -0
- package/page/assets/TraceInspector-_yZiz05W.js +1 -0
- package/page/assets/TraceOverview-BPO-HIYK.js +57 -0
- package/page/assets/VStack-CkVMcNiK.js +1 -0
- package/page/assets/_virtual_studio-type-sources-ByxqQaOG.js +12936 -0
- package/page/assets/arrive-DvbqpeRS.js +1 -0
- package/page/assets/browser-engine-CYq9DQAM.js +9 -0
- package/page/assets/browser-transport-D-2jDYe7.js +47 -0
- package/page/assets/codicon-DF1abBS2.ttf +0 -0
- package/page/assets/compile-egress-BSxOdX4K.js +23 -0
- package/page/assets/container.stylex-BmOi-8DQ.js +1 -0
- package/page/assets/createReactComponent-CZwsv6DD.js +1 -0
- package/page/assets/decision-example-images-CZGr7YIT.js +1 -0
- package/page/assets/devWarning-DxuplmRl.js +1 -0
- package/page/assets/editor-DjpsE8to.css +1 -0
- package/page/assets/editor.api-Cd3ViPQa.js +908 -0
- package/page/assets/editor.worker-6GY8RhDc.js +1 -0
- package/page/assets/editor.worker-BmdWdrHZ.js +33 -0
- package/page/assets/editors-BJX_S59A.js +1 -0
- package/page/assets/egress-automata-B5ZGE1mT.js +1 -0
- package/page/assets/embedding-space-view-CfQBPDxD.js +140 -0
- package/page/assets/encode-files-Bc3HJyAh.js +1 -0
- package/page/assets/export-agent-C3yyzXH8.js +43 -0
- package/page/assets/figtree-latin-400-normal-BD4aNku5.woff +0 -0
- package/page/assets/figtree-latin-400-normal-g7Dtegnw.woff2 +0 -0
- package/page/assets/figtree-latin-500-normal-BWnGEVsr.woff2 +0 -0
- package/page/assets/figtree-latin-500-normal-B_yy1phn.woff +0 -0
- package/page/assets/figtree-latin-600-normal-BM_oTo4n.woff +0 -0
- package/page/assets/figtree-latin-600-normal-Cv_xCTDl.woff2 +0 -0
- package/page/assets/figtree-latin-700-normal-BCCt2T1q.woff +0 -0
- package/page/assets/figtree-latin-700-normal-th6qEP7c.woff2 +0 -0
- package/page/assets/focusOutline.stylex-BT0kfa4t.js +1 -0
- package/page/assets/focusableSelector-DXZeMU85.js +1 -0
- package/page/assets/groupStyles-C7Ter7zC.js +1 -0
- package/page/assets/guardrail-tester-Gut5xK4a.js +9 -0
- package/page/assets/host-patterns-C9RMP16Q.js +1 -0
- package/page/assets/index-CvvmFKgS.js +105 -0
- package/page/assets/index-DOaHlqBo.css +1 -0
- package/page/assets/isRtlElement-BG33-k_H.js +1 -0
- package/page/assets/labels-provider-4TIWDvsE.js +3 -0
- package/page/assets/lent-keys-C32ems-I.js +1 -0
- package/page/assets/live-ingress-lDUGPwth.js +1 -0
- package/page/assets/live-messages-CnkL4GWi.js +1 -0
- package/page/assets/mergeProps-ptS-gIMz.js +1 -0
- package/page/assets/padding.stylex-B76907Zf.js +1 -0
- package/page/assets/preload-helper-DpV6A1kQ.js +1 -0
- package/page/assets/reader-BOCCYaRp.js +7 -0
- package/page/assets/register-CDgivxvX.js +2 -0
- package/page/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/page/assets/schemas-BQ9Jydzb.js +56 -0
- package/page/assets/shaped-data-BcarWqd5.js +16 -0
- package/page/assets/sharedResizeObserver-4U9Xq5Oq.js +1 -0
- package/page/assets/stub-DhdcU_Ew.js +471 -0
- package/page/assets/studio-code-pane-C_SAbcOa.js +8 -0
- package/page/assets/studio-console-DZwlEsvr.js +3 -0
- package/page/assets/studio-decision-B0FnCAXA.js +1 -0
- package/page/assets/studio-embedding-CmA51HVo.js +2 -0
- package/page/assets/studio-host-console-By7hqu2l.js +2 -0
- package/page/assets/studio-live-BrcVQcyV.js +1 -0
- package/page/assets/studio-map-B_xSia-z.js +1 -0
- package/page/assets/studio-map-Bb06Tw1F.css +1 -0
- package/page/assets/studio-monaco-CbKf90i6.css +1 -0
- package/page/assets/studio-monaco-xfyfezQS.js +34 -0
- package/page/assets/studio-ts.worker-B-EXG4Sv.js +67741 -0
- package/page/assets/studio-ts.worker-BXtW3z-O.js +1 -0
- package/page/assets/studio-type-checker-BOvxudki.js +23 -0
- package/page/assets/themeProps-3IqahpCr.js +1 -0
- package/page/assets/tokens.stylex-DkHf0P9C.js +1 -0
- package/page/assets/tool-schema-idaOe2nI.js +18 -0
- package/page/assets/trace-patterns-DnYJa0nI.js +1 -0
- package/page/assets/trace-record-C3zNksA_.js +1 -0
- package/page/assets/trace-schema-9CdEyG6Q.js +1 -0
- package/page/assets/tree-DqyAMsbI.js +3 -0
- package/page/assets/turn-client-Du3Um3Mg.js +2 -0
- package/page/assets/types-BhfXQCLx.js +1 -0
- package/page/assets/typescript-20GgZ8PJ.js +1 -0
- package/page/assets/use-one-call-Hcs8YBp1.js +1 -0
- package/page/assets/useAdaptivePresentation-BzmPCddb.js +1 -0
- package/page/assets/useClipboard-BgGRxRMJ.js +1 -0
- package/page/assets/useContainerReveal-BFy8N_QU.js +1 -0
- package/page/assets/useDevWarning-Z9SoixOP.js +1 -0
- package/page/assets/useLayerDismissal-B_G7IWpC.js +1 -0
- package/page/assets/useMediaQuery-BCT0NUeZ.js +1 -0
- package/page/assets/useScrollLock-Dyf6PHJt.js +1 -0
- package/page/assets/useScrollableArea-0NzdiBCq.js +1 -0
- package/page/assets/useTooltip-CJM_xhLB.js +1 -0
- package/page/assets/workspace-DZALqEDX.js +1 -0
- package/page/assets/zip-DTcEfps6.js +1 -0
- package/page/index.html +90 -0
- package/page.mjs +49 -0
- package/people.d.ts +87 -0
- package/people.js +110 -0
- package/policy.d.ts +43 -0
- package/policy.js +102 -0
- package/ports.d.mts +32 -0
- package/ports.mjs +85 -0
- package/probe-battery.d.ts +13 -0
- package/probe-battery.js +404 -0
- package/providers.d.ts +149 -0
- package/providers.js +306 -0
- package/read-source.d.ts +48 -0
- package/read-source.js +1301 -0
- package/read-steps.d.ts +23 -0
- package/read-steps.js +2 -0
- package/reader.d.ts +11 -0
- package/reader.js +11 -0
- package/registrations.d.ts +83 -0
- package/registrations.js +1 -0
- package/requirements.d.ts +22 -0
- package/requirements.js +38 -0
- package/run-payload-core.d.ts +28 -0
- package/run-payload-core.js +123 -0
- package/run-payload.d.ts +32 -0
- package/run-payload.js +26 -0
- package/runtime-scope.d.ts +84 -0
- package/runtime-scope.js +308 -0
- package/runtime.d.ts +84 -0
- package/runtime.js +387 -0
- package/section-notes.d.ts +33 -0
- package/section-notes.js +38 -0
- package/serve-page.mjs +96 -0
- package/server/draft-decide.d.ts +72 -0
- package/server/draft-decide.js +111 -0
- package/server/draft-embedding.d.ts +3 -0
- package/server/draft-embedding.js +35 -0
- package/server/draft-handler.d.ts +82 -0
- package/server/draft-handler.js +213 -0
- package/server/draft-probe.d.ts +14 -0
- package/server/draft-probe.js +61 -0
- package/server/draft-replies.d.ts +22 -0
- package/server/draft-replies.js +46 -0
- package/server/edited-session.d.ts +28 -0
- package/server/edited-session.js +83 -0
- package/server/edits.d.ts +38 -0
- package/server/edits.js +195 -0
- package/server/handler.d.ts +133 -0
- package/server/handler.js +598 -0
- package/server/lent-draft.d.ts +19 -0
- package/server/lent-draft.js +23 -0
- package/server/live.d.ts +15 -0
- package/server/live.js +96 -0
- package/server/open-editor.d.ts +63 -0
- package/server/open-editor.js +115 -0
- package/server/origins.d.ts +18 -0
- package/server/origins.js +330 -0
- package/server/project-source.d.ts +208 -0
- package/server/project-source.js +1042 -0
- package/server/project.d.ts +22 -0
- package/server/project.js +56 -0
- package/server/run-traces.d.ts +20 -0
- package/server/run-traces.js +96 -0
- package/server/save-new.d.ts +29 -0
- package/server/save-new.js +514 -0
- package/server/save-plan.d.ts +46 -0
- package/server/save-plan.js +1134 -0
- package/server/save-remove.d.ts +21 -0
- package/server/save-remove.js +528 -0
- package/server/save-session.d.ts +96 -0
- package/server/save-session.js +418 -0
- package/server/save-wire.d.ts +235 -0
- package/server/save-wire.js +8 -0
- package/server/save.d.ts +52 -0
- package/server/save.js +209 -0
- package/server/serve.d.ts +23 -0
- package/server/serve.js +413 -0
- package/server/test-connection.d.ts +17 -0
- package/server/test-connection.js +362 -0
- package/server/test-key.d.ts +2 -0
- package/server/test-key.js +83 -0
- package/server/watch.d.ts +28 -0
- package/server/watch.js +93 -0
- package/server/zod-edit.d.ts +74 -0
- package/server/zod-edit.js +558 -0
- package/server.d.ts +8 -0
- package/server.js +8 -0
- package/setups.mjs +170 -0
- package/shared-carry.d.ts +114 -0
- package/shared-carry.js +523 -0
- package/shared-settings.d.ts +34 -0
- package/shared-settings.js +70 -0
- package/source.d.ts +75 -0
- package/source.js +414 -0
- package/start.mjs +169 -0
- package/stream-lines.d.ts +9 -0
- package/stream-lines.js +27 -0
- package/stub.d.ts +6 -0
- package/stub.js +33 -0
- package/surface.d.ts +53 -0
- package/surface.js +631 -0
- package/system-markup.d.ts +20 -0
- package/system-markup.js +51 -0
- package/tool-schema.d.ts +23 -0
- package/tool-schema.js +69 -0
- package/tools.d.ts +16 -0
- package/tools.js +91 -0
- package/traces.d.ts +24 -0
- package/traces.js +29 -0
- package/transport.d.ts +57 -0
- package/transport.js +187 -0
- package/tree.d.ts +32 -0
- package/tree.js +83 -0
- package/types.d.ts +62 -0
- package/types.js +6 -0
- package/ui/acting-as-button.d.ts +2 -0
- package/ui/acting-as-button.js +16 -0
- package/ui/add-provider.d.ts +13 -0
- package/ui/add-provider.js +20 -0
- package/ui/boot-mark.css +53 -0
- package/ui/boot-mark.d.ts +19 -0
- package/ui/boot-mark.js +128 -0
- package/ui/boot-paint.d.ts +8 -0
- package/ui/boot-paint.js +8 -0
- package/ui/brand-icons.d.ts +57 -0
- package/ui/brand-icons.js +148 -0
- package/ui/built/theme.css +830 -0
- package/ui/built/theme.css.d.ts +9 -0
- package/ui/built/theorem-studio.d.ts +13 -0
- package/ui/built/theorem-studio.js +705 -0
- package/ui/built/theorem-studio.variants.d.ts +28 -0
- package/ui/code/monaco-contributions.d.ts +45 -0
- package/ui/code/studio-code.d.ts +7 -0
- package/ui/code/studio-code.js +253 -0
- package/ui/code/studio-monaco.d.ts +44 -0
- package/ui/code/studio-monaco.js +48 -0
- package/ui/code/studio-ts.worker.d.ts +1 -0
- package/ui/code/studio-ts.worker.js +16 -0
- package/ui/code/studio-type-checker.d.ts +12 -0
- package/ui/code/studio-type-checker.js +308 -0
- package/ui/code/studio-type-sources.d.ts +26 -0
- package/ui/confirm-write.d.ts +12 -0
- package/ui/confirm-write.js +45 -0
- package/ui/diff-block.d.ts +21 -0
- package/ui/diff-block.js +17 -0
- package/ui/figtree.css +59 -0
- package/ui/file-place.d.ts +4 -0
- package/ui/file-place.js +26 -0
- package/ui/guardrail-tester.d.ts +18 -0
- package/ui/guardrail-tester.js +248 -0
- package/ui/inspector-context.d.ts +119 -0
- package/ui/inspector-context.js +84 -0
- package/ui/inspector.d.ts +247 -0
- package/ui/inspector.js +284 -0
- package/ui/lib/acting-as.d.ts +25 -0
- package/ui/lib/acting-as.js +90 -0
- package/ui/lib/boot-sequence.d.ts +32 -0
- package/ui/lib/boot-sequence.js +57 -0
- package/ui/lib/export-agent.d.ts +11 -0
- package/ui/lib/export-agent.js +335 -0
- package/ui/lib/facet-icons.d.ts +20 -0
- package/ui/lib/facet-icons.js +21 -0
- package/ui/lib/panel-motion.d.ts +8 -0
- package/ui/lib/panel-motion.js +74 -0
- package/ui/lib/project-address.d.ts +14 -0
- package/ui/lib/project-address.js +24 -0
- package/ui/lib/project-starting.d.ts +13 -0
- package/ui/lib/project-starting.js +30 -0
- package/ui/lib/project-traces.d.ts +17 -0
- package/ui/lib/project-traces.js +54 -0
- package/ui/lib/read-map.d.ts +30 -0
- package/ui/lib/read-map.js +173 -0
- package/ui/lib/read-progress.d.ts +14 -0
- package/ui/lib/read-progress.js +12 -0
- package/ui/lib/refusal-lines.d.ts +3 -0
- package/ui/lib/refusal-lines.js +8 -0
- package/ui/lib/studio-activity.d.ts +5 -0
- package/ui/lib/studio-activity.js +17 -0
- package/ui/lib/studio-console.d.ts +27 -0
- package/ui/lib/studio-console.js +9 -0
- package/ui/lib/studio-conversation.d.ts +20 -0
- package/ui/lib/studio-conversation.js +130 -0
- package/ui/lib/studio-examples.d.ts +31 -0
- package/ui/lib/studio-examples.js +25 -0
- package/ui/lib/studio-labels.d.ts +6 -0
- package/ui/lib/studio-labels.js +13 -0
- package/ui/lib/studio-map-kept.d.ts +17 -0
- package/ui/lib/studio-map-kept.js +48 -0
- package/ui/lib/studio-open.d.ts +22 -0
- package/ui/lib/studio-open.js +54 -0
- package/ui/lib/studio-page.d.ts +33 -0
- package/ui/lib/studio-page.js +121 -0
- package/ui/lib/studio-prefs.d.ts +26 -0
- package/ui/lib/studio-prefs.js +87 -0
- package/ui/lib/studio-project.d.ts +106 -0
- package/ui/lib/studio-project.js +177 -0
- package/ui/lib/studio-restore.d.ts +49 -0
- package/ui/lib/studio-restore.js +251 -0
- package/ui/lib/studio-run-open.d.ts +15 -0
- package/ui/lib/studio-run-open.js +16 -0
- package/ui/lib/studio-session.d.ts +34 -0
- package/ui/lib/studio-session.js +17 -0
- package/ui/lib/studio-settings.d.ts +15 -0
- package/ui/lib/studio-settings.js +48 -0
- package/ui/lib/studio-store.d.ts +64 -0
- package/ui/lib/studio-store.js +391 -0
- package/ui/lib/studio-watch.d.ts +12 -0
- package/ui/lib/studio-watch.js +27 -0
- package/ui/lib/tab-fills.d.ts +6 -0
- package/ui/lib/tab-fills.js +14 -0
- package/ui/lib/tool-credentials.d.ts +3 -0
- package/ui/lib/tool-credentials.js +23 -0
- package/ui/lib/tool-probe.d.ts +19 -0
- package/ui/lib/tool-probe.js +104 -0
- package/ui/lib/type-icons.d.ts +35 -0
- package/ui/lib/type-icons.js +38 -0
- package/ui/lib/when-idle.d.ts +5 -0
- package/ui/lib/when-idle.js +14 -0
- package/ui/lib/zip.d.ts +5 -0
- package/ui/lib/zip.js +8 -0
- package/ui/map-token.css +11 -0
- package/ui/map-token.d.ts +17 -0
- package/ui/map-token.js +29 -0
- package/ui/mcp-icon.d.ts +6 -0
- package/ui/mcp-icon.js +8 -0
- package/ui/motion.css +113 -0
- package/ui/pan.d.ts +32 -0
- package/ui/pan.js +90 -0
- package/ui/profile-editor.d.ts +33 -0
- package/ui/profile-editor.js +2638 -0
- package/ui/provider-editor.d.ts +15 -0
- package/ui/provider-editor.js +92 -0
- package/ui/read-map.css +48 -0
- package/ui/read-map.d.ts +7 -0
- package/ui/read-map.js +163 -0
- package/ui/refusal-detail.d.ts +4 -0
- package/ui/refusal-detail.js +21 -0
- package/ui/shared-change.d.ts +9 -0
- package/ui/shared-change.js +28 -0
- package/ui/shell-motion.css +121 -0
- package/ui/shell-motion.d.ts +73 -0
- package/ui/shell-motion.js +194 -0
- package/ui/studio-code-pane.d.ts +19 -0
- package/ui/studio-code-pane.js +44 -0
- package/ui/studio-compare.d.ts +80 -0
- package/ui/studio-compare.js +326 -0
- package/ui/studio-conflicts.d.ts +17 -0
- package/ui/studio-conflicts.js +87 -0
- package/ui/studio-connection.d.ts +64 -0
- package/ui/studio-connection.js +286 -0
- package/ui/studio-decision.d.ts +6 -0
- package/ui/studio-decision.js +49 -0
- package/ui/studio-embedding.d.ts +6 -0
- package/ui/studio-embedding.js +30 -0
- package/ui/studio-host-console.d.ts +6 -0
- package/ui/studio-host-console.js +17 -0
- package/ui/studio-host.d.ts +73 -0
- package/ui/studio-host.js +12 -0
- package/ui/studio-live.d.ts +17 -0
- package/ui/studio-live.js +26 -0
- package/ui/studio-map.css +273 -0
- package/ui/studio-map.d.ts +17 -0
- package/ui/studio-map.js +397 -0
- package/ui/studio-nav.d.ts +24 -0
- package/ui/studio-nav.js +17 -0
- package/ui/studio-no-project.d.ts +5 -0
- package/ui/studio-no-project.js +9 -0
- package/ui/studio-run.css +76 -0
- package/ui/studio-run.d.ts +14 -0
- package/ui/studio-run.js +119 -0
- package/ui/studio-runner.d.ts +45 -0
- package/ui/studio-runner.js +187 -0
- package/ui/studio-save.d.ts +49 -0
- package/ui/studio-save.js +307 -0
- package/ui/studio-screen.d.ts +61 -0
- package/ui/studio-screen.js +2078 -0
- package/ui/studio-settings.d.ts +31 -0
- package/ui/studio-settings.js +288 -0
- package/ui/studio-shell.css +27 -0
- package/ui/studio-shell.d.ts +43 -0
- package/ui/studio-shell.js +87 -0
- package/ui/studio-theme.d.ts +7 -0
- package/ui/studio-theme.js +94 -0
- package/ui/studio.css +427 -0
- package/ui/theorem-mark.css +84 -0
- package/ui/theorem-mark.d.ts +22 -0
- package/ui/theorem-mark.js +21 -0
- package/vite.d.mts +30 -0
- package/vite.mjs +277 -0
- package/workspace.d.ts +230 -0
- package/workspace.js +1054 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{$ as e,$a as t,$i as n,$n as r,$o as i,$r as a,$s as o,$t as s,A as c,Aa as l,Ac as u,Ai as d,An as f,Ao as p,Ar as m,As as h,At as ee,B as te,Ba as ne,Bi as g,Bn as re,Bo as ie,Br as ae,Bs as oe,Bt as se,C as _,Ca as ce,Cc as le,Ci as ue,Cn as de,Co as fe,Cr as pe,Cs as me,Ct as he,D as ge,Da as _e,Dc as ve,Di as ye,Dn as be,Do as xe,Dr as Se,Ds as Ce,Dt as we,E as Te,Ea as Ee,Ec as De,Ei as Oe,En as ke,Eo as Ae,Er as je,Es as Me,Et as Ne,F as Pe,Fa as Fe,Fi as Ie,Fn as Le,Fo as Re,Fr as ze,Fs as Be,Ft as Ve,G as He,Ga as Ue,Gi as We,Gn as Ge,Go as Ke,Gr as qe,Gs as Je,Gt as Ye,H as Xe,Ha as Ze,Hi as Qe,Hn as $e,Ho as et,Hr as tt,Hs as v,Ht as nt,I as rt,Ia as it,Ii as y,In as at,Io as ot,Ir as st,Is as b,It as ct,J as lt,Ja as ut,Ji as dt,Jn as ft,Jo as pt,Jr as mt,Js as ht,Jt as gt,K as _t,Ka as vt,Ki as yt,Kn as bt,Ko as xt,Kr as St,Ks as Ct,Kt as wt,L as Tt,La as Et,Li as x,Ln as Dt,Lo as Ot,Lr as kt,Ls as At,Lt as jt,M as Mt,Ma as S,Mi as Nt,Mn as Pt,Mo as Ft,Mr as It,Mt as Lt,N as Rt,Na as zt,Ni as Bt,Nn as Vt,No as Ht,Nr as Ut,Ns as Wt,Nt as Gt,O as Kt,Oa as C,Oc as qt,Oi as Jt,On as Yt,Oo as Xt,Or as Zt,Os as w,Ot as Qt,P as $t,Pa as en,Pi as tn,Pn as nn,Po as rn,Pr as an,Ps as on,Pt as sn,Q as cn,Qa as ln,Qi as un,Qn as dn,Qo as fn,Qr as T,Qs as pn,Qt as mn,R as hn,Ra as E,Ri as D,Rn as gn,Ro as _n,Rr as vn,Rs as yn,Rt as bn,S as xn,Sa as Sn,Sc as Cn,Si as wn,Sn as Tn,So as En,Sr as Dn,Ss as O,St as On,T as kn,Ta as k,Tc as An,Ti as jn,Tn as Mn,To as Nn,Tr as Pn,Ts as Fn,Tt as In,U as Ln,Ua as Rn,Ui as zn,Un as Bn,Uo as Vn,Ur as Hn,Us as Un,Ut as Wn,V as Gn,Va as A,Vi as Kn,Vn as qn,Vo as Jn,Vr as Yn,Vs as j,Vt as Xn,W as Zn,Wa as Qn,Wi as $n,Wn as er,Wo as tr,Wr as nr,Ws as rr,Wt as ir,X as ar,Xa as or,Xi as sr,Xn as cr,Xo as lr,Xr as ur,Xs as dr,Xt as fr,Y as pr,Ya as mr,Yi as hr,Yn as gr,Yo as _r,Yr as vr,Ys as yr,Yt as br,Z as xr,Za as Sr,Zi as Cr,Zn as wr,Zo as Tr,Zr as Er,Zs as Dr,Zt as Or,_ as kr,_a as M,_c as Ar,_i as jr,_n as Mr,_o as Nr,_r as Pr,_s as Fr,_t as Ir,a as Lr,aa as N,ac as Rr,ai as zr,an as Br,ao as Vr,ar as Hr,as as Ur,at as Wr,b as Gr,ba as Kr,bc as qr,bi as Jr,bn as Yr,bo as Xr,br as Zr,bs as P,bt as Qr,c as $r,ca as ei,cc as ti,ci as ni,cn as F,co as ri,cr as ii,cs as ai,ct as oi,d as si,da as ci,dc as li,di as I,dn as ui,do as di,dr as fi,ds as pi,dt as mi,ea as hi,ec as gi,ei as _i,en as vi,eo as yi,er as bi,es as xi,et as Si,f as Ci,fa as L,fc as wi,fi as Ti,fn as Ei,fo as Di,fr as Oi,fs as ki,ft as Ai,g as ji,ga as Mi,gc as Ni,gi as Pi,gn as Fi,go as Ii,gr as Li,gs as Ri,gt as zi,h as Bi,ha as R,hc as Vi,hi as Hi,hn as Ui,ho as Wi,hr as Gi,hs as Ki,ht as qi,i as Ji,ia as Yi,ic as z,ii as Xi,in as Zi,io as Qi,ir as $i,is as ea,it as ta,j as na,ja as ra,jc as ia,ji as B,jn as aa,jo as oa,jr as sa,js as ca,jt as la,k as ua,ka as V,kc as da,ki as fa,kn as H,ko as pa,kr as ma,ks as ha,kt as ga,l as _a,la as va,lc as ya,li as ba,ln as xa,lo as Sa,lr as Ca,ls as wa,lt as Ta,m as U,ma as W,mc as Ea,mi as Da,mn as Oa,mo as ka,mr as Aa,ms as ja,mt as Ma,n as Na,na as Pa,nc as Fa,ni as Ia,nn as La,no as Ra,nr as za,ns as Ba,nt as Va,o as Ha,oa as Ua,oc as Wa,oi as Ga,on as Ka,oo as qa,or as Ja,os as Ya,ot as Xa,p as Za,pa as G,pc as Qa,pi as $a,pn as eo,po as to,pr as no,ps as ro,pt as io,q as ao,qa as oo,qi as so,qn as co,qo as lo,qr as uo,qs as fo,qt as po,r as mo,ra as ho,rc as K,ri as go,rn as _o,ro as vo,rr as yo,rs as bo,rt as xo,s as So,sa as Co,sc as wo,si as To,sn as Eo,so as Do,sr as Oo,ss as ko,st as Ao,t as jo,ta as Mo,tc as No,ti as Po,tn as Fo,to as Io,tr as Lo,ts as Ro,tt as zo,u as Bo,ua as Vo,uc as Ho,ui as q,un as Uo,uo as Wo,ur as Go,us as Ko,ut as qo,v as Jo,va as Yo,vc as Xo,vi as Zo,vn as Qo,vo as $o,vr as es,vs as ts,vt as ns,w as rs,wa as is,wc as as,wi as os,wn as ss,wo as cs,wr as ls,ws as us,wt as ds,x as fs,xa as ps,xc as ms,xi as hs,xn as gs,xo as _s,xr as vs,xs as J,xt as ys,y as bs,ya as xs,yc as Y,yi as Ss,yn as Cs,yo as ws,yr as Ts,ys as X,yt as Es,z as Ds,za as Os,zi as ks,zn as As,zo as js,zr as Ms,zs as Ns,zt as Ps}from"./editor.api-Cd3ViPQa.js";var Fs=T(`editorOverviewRuler.bracketMatchForeground`,`#A0A0A0`,K(855,`Overview ruler marker color for matching brackets.`)),Is=class extends B{constructor(){super({id:`editor.action.jumpToBracket`,label:z(857,`Go to Bracket`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:3165,weight:100}})}run(e,t){Bs.get(t)?.jumpToBracket()}},Ls=class extends B{constructor(){super({id:`editor.action.selectToBracket`,label:z(858,`Select to Bracket`),precondition:void 0,metadata:{description:z(859,`Select the text inside and including the brackets or curly braces`),args:[{name:`args`,schema:{type:`object`,properties:{selectBrackets:{type:`boolean`,default:!0}}}}]}})}run(e,t,n){let r=!0;n&&n.selectBrackets===!1&&(r=!1),Bs.get(t)?.selectToBracket(r)}},Rs=class extends B{constructor(){super({id:`editor.action.removeBrackets`,label:z(860,`Remove Brackets`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(e,t){Bs.get(t)?.removeBrackets(this.id)}},zs=class{constructor(e,t,n){this.position=e,this.brackets=t,this.options=n}},Bs=class e extends j{static{this.ID=`editor.contrib.bracketMatchingController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ht(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(e=>{this._matchBrackets!==`never`&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(e=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(e=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;let e=this._editor.getModel(),t=this._editor.getSelections().map(t=>{let n=t.getStartPosition(),r=e.bracketPairs.matchBracket(n),i=null;if(r)r[0].containsPosition(n)&&!r[1].containsPosition(n)?i=r[1].getStartPosition():r[1].containsPosition(n)&&(i=r[0].getStartPosition());else{let t=e.bracketPairs.findEnclosingBrackets(n);if(t)i=t[1].getStartPosition();else{let t=e.bracketPairs.findNextBracket(n);t&&t.range&&(i=t.range.getStartPosition())}}return i?new P(i.lineNumber,i.column,i.lineNumber,i.column):new P(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=[];this._editor.getSelections().forEach(r=>{let i=r.getStartPosition(),a=t.bracketPairs.matchBracket(i);if(!a&&(a=t.bracketPairs.findEnclosingBrackets(i),!a)){let e=t.bracketPairs.findNextBracket(i);e&&e.range&&(a=t.bracketPairs.matchBracket(e.range.getStartPosition()))}let o=null,s=null;if(a){a.sort(J.compareRangesUsingStarts);let[t,n]=a;if(o=e?t.getStartPosition():t.getEndPosition(),s=e?n.getEndPosition():n.getStartPosition(),n.containsPosition(i)){let e=o;o=s,s=e}}o&&s&&n.push(new P(o.lineNumber,o.column,s.lineNumber,s.column))}),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}removeBrackets(e){if(!this._editor.hasModel())return;let t=this._editor.getModel();this._editor.getSelections().forEach(n=>{let r=n.getPosition(),i=t.bracketPairs.matchBracket(r);i||=t.bracketPairs.findEnclosingBrackets(r),i&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:i[0],text:``},{range:i[1],text:``}]),this._editor.pushUndoStop())})}static{this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=F.register({description:`bracket-match-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`,overviewRuler:{color:be(Fs),position:Ss.Center}})}static{this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=F.register({description:`bracket-match-no-overview`,stickiness:1,className:`bracket-match`,inlineClassName:`bracket-match-inline`})}_updateBrackets(){if(this._matchBrackets===`never`)return;this._recomputeBrackets();let e=[],t=0;for(let n of this._lastBracketsData){let r=n.brackets;r&&(e[t++]={range:r[0],options:n.options},e[t++]={range:r[1],options:n.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}let t=this._editor.getSelections();if(t.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}let n=this._editor.getModel(),r=n.getVersionId(),i=[];this._lastVersionId===r&&(i=this._lastBracketsData);let a=[],o=0;for(let e=0,n=t.length;e<n;e++){let n=t[e];n.isEmpty()&&(a[o++]=n.getStartPosition())}a.length>1&&a.sort(O.compare);let s=[],c=0,l=0,u=i.length;for(let t=0,r=a.length;t<r;t++){let r=a[t];for(;l<u&&i[l].position.isBefore(r);)l++;if(l<u&&i[l].position.equals(r))s[c++]=i[l];else{let t=n.bracketPairs.matchBracket(r,20),i=e._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!t&&this._matchBrackets===`always`&&(t=n.bracketPairs.findEnclosingBrackets(r,20),i=e._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),s[c++]=new zs(r,t,i)}}this._lastBracketsData=s,this._lastVersionId=r}};D(Bs.ID,Bs,1),y(Ls),y(Is),y(Rs),Co.appendMenuItem(N.MenubarGoMenu,{group:`5_infile_nav`,command:{id:`editor.action.jumpToBracket`,title:K(856,`Go to &&Bracket`)},order:2}),ke((e,t)=>{let n=e.getColor(Tn);n&&t.addRule(`.monaco-editor .bracket-match-inline { color: ${n} !important; }`)});var Vs=class{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;let n=this._selection.startLineNumber,r=this._selection.startColumn,i=this._selection.endColumn;if(!(this._isMovingLeft&&r===1)&&(this._isMovingLeft||i!==e.getLineMaxColumn(n))){if(this._isMovingLeft){let a=new J(n,r-1,n,r),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new J(n,i,n,i),o)}else{let a=new J(n,i,n,i+1),o=e.getValueInRange(a);t.addEditOperation(a,null),t.addEditOperation(new J(n,r,n,r),o)}}}computeCursorState(e,t){return this._isMovingLeft?new P(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new P(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}},Hs=class extends B{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let n=[],r=t.getSelections();for(let e of r)n.push(new Vs(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},Us=class extends Hs{constructor(){super(!0,{id:`editor.action.moveCarretLeftAction`,label:z(861,`Move Selected Text Left`),precondition:H.writable})}},Ws=class extends Hs{constructor(){super(!1,{id:`editor.action.moveCarretRightAction`,label:z(862,`Move Selected Text Right`),precondition:H.writable})}};y(Us),y(Ws);var Gs=class e{static{this.sep=`.`}static{this.None=new e(`@@none@@`)}static{this.Empty=new e(``)}constructor(e){this.value=e}equals(e){return this.value===e.value}contains(t){return this.equals(t)||this.value===``||t.value.startsWith(this.value+e.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...t){return new e((this.value?[this.value,...t]:t).join(e.sep))}},Ks=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qs=function(e,t){return function(n,r){t(n,r,e)}},Js=F.register({description:`inline-progress-widget`,stickiness:1,showIfCollapsed:!0,after:{content:`\xA0`,inlineClassName:`inline-editor-progress-decoration`,inlineClassNameAffectsLetterSpacing:!0,widthInEm:1}}),Ys=class e extends j{static{this.baseId=`editor.widget.inlineProgressWidget`}constructor(e,t,n,r,i){super(),this.typeId=e,this.editor=t,this.range=n,this.delegate=i,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=C(`.inline-progress-widget`),this.domNode.role=`button`,this.domNode.title=e;let t=C(`span.icon`);this.domNode.append(t),t.classList.add(...M.asClassNameArray(X.loading),`codicon-modifier-spin`);let n=()=>{let e=this.editor.getOption(75);this.domNode.style.height=`${e}px`,this.domNode.style.width=`${Math.ceil(.8*e)}px`};n(),this._register(this.editor.onDidChangeConfiguration(e=>{(e.hasChanged(61)||e.hasChanged(75))&&n()})),this._register(E(this.domNode,S.CLICK,e=>{this.delegate.cancel()}))}getId(){return e.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},Xs=class extends j{constructor(e,t,n){super(),this.id=e,this._editor=t,this._instantiationService=n,this._showDelay=500,this._showPromise=this._register(new Un),this._currentWidget=this._register(new Un),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,n,r,i){let a=this._operationIdPool++;this._currentOperation=a,this.clear(),this._showPromise.value=Ot(()=>{let n=J.fromPositions(e);this._currentDecorations.set([{range:n,options:Js}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(Ys,this.id,this._editor,n,t,r))},i??this._showDelay);try{return await n}finally{this._currentOperation===a&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};Xs=Ks([qs(2,k)],Xs);var Zs=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Qs=function(e,t){return function(n,r){t(n,r,e)}},$s,ec=class{static{$s=this}static{this.ID=`editor.contrib.messageController`}static{this.MESSAGE_VISIBLE=new W(`messageVisible`,!1,K(1353,`Whether the editor is currently showing an inline message`))}static get(e){return e.getContribution($s.ID)}constructor(e,t,n){this._openerService=n,this._messageWidget=new Un,this._messageListeners=new v,this._mouseOverMessage=!1,this._editor=e,this._visible=$s.MESSAGE_VISIBLE.bindTo(t)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){if(To(ir(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),ir(e)){let n=this._messageListeners.add(bn(e,{actionHandler:(e,t)=>{this.closeMessage(),Ve(this._openerService,e,t.isTrusted)}}));this._messageWidget.value=new nc(this._editor,t,n.element)}else this._messageWidget.value=new nc(this._editor,t,e);this._messageListeners.add(At.debounce(this._editor.onDidBlurEditorText,(e,t)=>t,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&Qi(Qn(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(E(this._messageWidget.value.getDomNode(),S.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(E(this._messageWidget.value.getDomNode(),S.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let n;this._messageListeners.add(this._editor.onMouseMove(e=>{e.target.position&&(n?n.containsPosition(e.target.position)||this.closeMessage():n=new J(t.lineNumber-3,1,e.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(nc.fadeOut(this._messageWidget.value))}};ec=$s=Zs([Qs(1,G),Qs(2,ct)],ec);var tc=Bt.bindToContribution(ec.get);x(new tc({id:`leaveEditorMessage`,precondition:ec.MESSAGE_VISIBLE,handler:e=>e.closeMessage(),kbOpts:{weight:130,primary:9}}));var nc=class{static fadeOut(e){let t=()=>{e.dispose(),clearTimeout(n),e.getDomNode().removeEventListener(`animationend`,t)},n=setTimeout(t,110);return e.getDomNode().addEventListener(`animationend`,t),e.getDomNode().classList.add(`fadeOut`),{dispose:t}}constructor(e,{lineNumber:t,column:n},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:n},this._domNode=document.createElement(`div`),this._domNode.classList.add(`monaco-editor-overlaymessage`),this._domNode.style.marginLeft=`-6px`;let i=document.createElement(`div`);i.classList.add(`anchor`,`top`),this._domNode.appendChild(i);let a=document.createElement(`div`);typeof r==`string`?(a.classList.add(`message`),a.textContent=r):(r.classList.add(`message`),a.appendChild(r)),this._domNode.appendChild(a);let o=document.createElement(`div`);o.classList.add(`anchor`,`below`),this._domNode.appendChild(o),this._editor.addContentWidget(this),this._domNode.classList.add(`fadeIn`)}dispose(){this._editor.removeContentWidget(this)}getId(){return`messageoverlay`}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle(`below`,e===2)}};D(ec.ID,ec,4);var rc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ic=function(e,t){return function(n,r){t(n,r,e)}},ac=class{constructor(e){this.copyMimeTypes=[],this.kind=e,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(e,t,n,r,i){let a=await this.getEdit(n,i);if(a)return{edits:[{insertText:a.insertText,title:a.title,kind:a.kind,handledMimeType:a.handledMimeType,yieldTo:a.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,n,r){let i=await this.getEdit(n,r);if(i)return{edits:[{insertText:i.insertText,title:i.title,kind:i.kind,handledMimeType:i.handledMimeType,yieldTo:i.yieldTo}],dispose(){}}}},oc=class e extends ac{static{this.id=`text`}constructor(){super(Gs.Empty.append(`text`,`plain`)),this.id=e.id,this.dropMimeTypes=[Oe.text],this.pasteMimeTypes=[Oe.text]}async getEdit(e,t){let n=e.get(Oe.text);if(!n||e.has(Oe.uriList))return;let r=await n.asString();return{handledMimeType:Oe.text,title:K(980,`Insert Plain Text`),insertText:r,kind:this.kind}}},sc=class extends ac{constructor(){super(Gs.Empty.append(`uri`,`path`,`absolute`)),this.dropMimeTypes=[Oe.uriList],this.pasteMimeTypes=[Oe.uriList]}async getEdit(e,t){let n=await uc(e);if(!n.length||t.isCancellationRequested)return;let r=0,i=n.map(({uri:e,originalText:t})=>e.scheme===xe.file?e.fsPath:(r++,t)).join(` `),a;return a=r>0?n.length>1?K(981,`Insert Uris`):K(982,`Insert Uri`):n.length>1?K(983,`Insert Paths`):K(984,`Insert Path`),{handledMimeType:Oe.uriList,insertText:i,title:a,kind:this.kind}}},cc=class extends ac{constructor(e){super(Gs.Empty.append(`uri`,`path`,`relative`)),this._workspaceContextService=e,this.dropMimeTypes=[Oe.uriList],this.pasteMimeTypes=[Oe.uriList]}async getEdit(e,t){let n=await uc(e);if(!n.length||t.isCancellationRequested)return;let r=as(n.map(({uri:e})=>{let t=this._workspaceContextService.getWorkspaceFolder(e);return t?un(t.uri,e):void 0}));if(r.length)return{handledMimeType:Oe.uriList,insertText:r.join(` `),title:n.length>1?K(985,`Insert Relative Paths`):K(986,`Insert Relative Path`),kind:this.kind}}};cc=rc([ic(0,ge)],cc);var lc=class{constructor(){this.kind=new Gs(`html`),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=[`text/html`],this._yieldTo=[{mimeType:Oe.text}]}async provideDocumentPasteEdits(e,t,n,r,i){if(r.triggerKind!==Ko.PasteAs&&!r.only?.contains(this.kind))return;let a=await n.get(`text/html`)?.asString();if(a&&!i.isCancellationRequested)return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:K(987,`Insert HTML`),kind:this.kind}]}}};async function uc(e){let t=e.get(Oe.uriList);if(!t)return[];let n=await t.asString(),r=[];for(let e of ft.parse(n))try{r.push({uri:me.parse(e),originalText:e})}catch{}return r}var dc={scheme:`*`,hasAccessToAllModels:!0},fc=class extends j{constructor(e,t){super(),this._register(e.documentDropEditProvider.register(dc,new oc)),this._register(e.documentDropEditProvider.register(dc,new sc)),this._register(e.documentDropEditProvider.register(dc,new cc(t)))}};fc=rc([ic(0,q),ic(1,ge)],fc);var pc=class extends j{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register(dc,new oc)),this._register(e.documentPasteEditProvider.register(dc,new sc)),this._register(e.documentPasteEditProvider.register(dc,new cc(t))),this._register(e.documentPasteEditProvider.register(dc,new lc))}};pc=rc([ic(0,q),ic(1,ge)],pc);var mc=class e{constructor(){this.value=``,this.pos=0}static{this._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13}}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};let t=this.pos,n=0,r=this.value.charCodeAt(t),i;if(i=e._table[r],typeof i==`number`)return this.pos+=1,{type:i,pos:t,len:1};if(e.isDigitCharacter(r)){i=8;do n+=1,r=this.value.charCodeAt(t+n);while(e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}if(e.isVariableCharacter(r)){i=9;do r=this.value.charCodeAt(t+ ++n);while(e.isVariableCharacter(r)||e.isDigitCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}i=10;do n+=1,r=this.value.charCodeAt(t+n);while(!isNaN(r)&&e._table[r]===void 0&&!e.isDigitCharacter(r)&&!e.isVariableCharacter(r));return this.pos+=n,{type:i,pos:t,len:n}}},hc=class{constructor(){this._children=[]}appendChild(e){return e instanceof gc&&this._children[this._children.length-1]instanceof gc?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.slice(0);i.splice(r,1,...t),n._children=i,(function e(t,n){for(let r of t)r.parent=n,e(r.children,r)})(t,n)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof wc)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),``)}len(){return 0}},gc=class e extends hc{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new e(this.value)}},_c=class extends hc{},vc=class e extends _c{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:+(e.index>t.index)}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof yc?this._children[0]:void 0}clone(){let t=new e(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}},yc=class e extends hc{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof gc&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){let t=new e;return this.options.forEach(t.appendChild,t),t}},bc=class e extends hc{constructor(){super(...arguments),this.regexp=RegExp(``)}resolve(e){let t=this,n=!1,r=e.replace(this.regexp,function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!n&&this._children.some(e=>e instanceof xc&&!!e.elseValue)&&(r=this._replace([])),r}_replace(e){let t=``;for(let n of this._children)if(n instanceof xc){let r=e[n.index]||``;r=n.resolve(r),t+=r}else t+=n.toString();return t}toString(){return``}clone(){let t=new e;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?`i`:``)+(this.regexp.global?`g`:``)),t._children=this.children.map(e=>e.clone()),t}},xc=class e extends hc{constructor(e,t,n,r){super(),this.index=e,this.shorthandName=t,this.ifValue=n,this.elseValue=r}resolve(e){return this.shorthandName===`upcase`?e?e.toLocaleUpperCase():``:this.shorthandName===`downcase`?e?e.toLocaleLowerCase():``:this.shorthandName===`capitalize`?e?e[0].toLocaleUpperCase()+e.substr(1):``:this.shorthandName===`pascalcase`?e?this._toPascalCase(e):``:this.shorthandName===`camelcase`?e?this._toCamelCase(e):``:this.shorthandName===`kebabcase`?e?this._toKebabCase(e):``:this.shorthandName===`snakecase`?e?this._toSnakeCase(e):``:e&&typeof this.ifValue==`string`?this.ifValue:!e&&typeof this.elseValue==`string`?this.elseValue:e||``}_toKebabCase(e){if(!e.match(/[\p{L}0-9]+/gu))return e;if(!e.match(/[\p{L}0-9]/u))return e.trim().toLowerCase().replace(/^_+|_+$/g,``).replace(/[\s_]+/g,`-`);let t=e.trim().replace(/^_+|_+$/g,``),n=t.match(/\p{Lu}{2,}(?=\p{Lu}\p{Ll}+[0-9]*|[\s_-]|$)|\p{Lu}?\p{Ll}+[0-9]*|\p{Lu}(?=\p{Lu}\p{Ll})|\p{Lu}(?=[\s_-]|$)|[0-9]+/gu);return n?n.map(e=>e.toLowerCase()).join(`-`):t.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.toLowerCase()).join(`-`)}_toPascalCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map(e=>e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toCamelCase(e){let t=e.match(/[\p{L}0-9]+/gu);return t?t.map((e,t)=>t===0?e.charAt(0).toLowerCase()+e.substr(1):e.charAt(0).toUpperCase()+e.substr(1)).join(``):e}_toSnakeCase(e){return e.replace(/(\p{Ll})(\p{Lu})/gu,`$1_$2`).replace(/[\s\-]+/g,`_`).toLowerCase()}clone(){return new e(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Sc=class e extends _c{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||``)),t!==void 0&&(this._children=[new gc(t)],!0)}clone(){let t=new e(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map(e=>e.clone()),t}};function Cc(e,t){let n=[...e];for(;n.length>0;){let e=n.shift();if(!t(e))break;n.unshift(...e.children)}}var wc=class e extends hc{get placeholderInfo(){if(!this._placeholders){let e=[],t;this.walk(function(n){return n instanceof vc&&(e.push(n),t=!t||t.index<n.index?n:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){let{all:e}=this.placeholderInfo;return e}offset(e){let t=0,n=!1;return this.walk(r=>r===e?(n=!0,!1):(t+=r.len(),!0)),n?t:-1}fullLen(e){let t=0;return Cc([e],e=>(t+=e.len(),!0)),t}enclosingPlaceholders(e){let t=[],{parent:n}=e;for(;n;)n instanceof vc&&t.push(n),n=n.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Sc&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){let t=new e;return t._children=this.children.map(e=>e.clone()),t}walk(e){Cc(this.children,e)}},Tc=class{constructor(){this._scanner=new mc,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,`\\$&`)}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,n){let r=new wc;return this.parseFragment(e,r),this.ensureFinalTabstop(r,n??!1,t??!1),r}parseFragment(e,t){let n=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););let r=new Map,i=[];t.walk(e=>(e instanceof vc&&(e.isFinalTabstop?r.set(0,void 0):!r.has(e.index)&&e.children.length>0?r.set(e.index,e.children):i.push(e)),!0));let a=(e,n)=>{let i=r.get(e.index);if(!i)return;let o=new vc(e.index);o.transform=e.transform;for(let e of i){let t=e.clone();o.appendChild(t),t instanceof vc&&r.has(t.index)&&!n.has(t.index)&&(n.add(t.index),a(t,n),n.delete(t.index))}t.replace(e,[o])},o=new Set;for(let e of i)a(e,o);return t.children.slice(n)}ensureFinalTabstop(e,t,n){(t||n&&e.placeholders.length>0)&&(e.placeholders.find(e=>e.index===0)||e.appendChild(new vc(0)))}_accept(e,t){if(e===void 0||this._token.type===e){let e=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),e}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){let t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){let e=this._scanner.next();if(e.type!==0&&e.type!==4&&e.type!==5)return!1}this._token=this._scanner.next()}let n=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,`$1`);return this._token=this._scanner.next(),n}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new gc(t)),!0):!1}_parseTabstopOrVariableName(e){let t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new vc(Number(t)):new Sc(t)),!0):this._backTo(n)}_parseComplexPlaceholder(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);let r=new vc(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new gc("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(r.index>0&&this._accept(7)){let t=new yc;for(;;){if(this._parseChoiceElement(t)){if(this._accept(2))continue;if(this._accept(7)&&(r.appendChild(t),this._accept(4)))return e.appendChild(r),!0}return this._backTo(n),!1}}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseChoiceElement(e){let t=this._token,n=[];for(;this._token.type!==2&&this._token.type!==7;){let e;if(e=(e=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||e:this._accept(void 0,!0),!e)return this._backTo(t),!1;n.push(e)}return n.length===0?(this._backTo(t),!1):(e.appendChild(new gc(n.join(``))),!0)}_parseComplexVariable(e){let t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);let r=new Sc(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(r),!0;if(!this._parse(r))return e.appendChild(new gc("${"+t+`:`)),r.children.forEach(e.appendChild,e),!0}else if(this._accept(6))return this._parseTransform(r)?(e.appendChild(r),!0):(this._backTo(n),!1);else if(this._accept(4))return e.appendChild(r),!0;else return this._backTo(n)}_parseTransform(e){let t=new bc,n=``,r=``;for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(6,!0)||e,n+=e;else if(this._token.type!==14)n+=this._accept(void 0,!0);else return!1}for(;!this._accept(6);){let e;if(e=this._accept(5,!0))e=this._accept(5,!0)||this._accept(6,!0)||e,t.appendChild(new gc(e));else if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);)if(this._token.type!==14)r+=this._accept(void 0,!0);else return!1;try{t.regexp=new RegExp(n,r)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){let t=this._token;if(!this._accept(0))return!1;let n=!1;this._accept(3)&&(n=!0);let r=this._accept(8,!0);if(!r)return this._backTo(t),!1;if(!n||this._accept(4))return e.appendChild(new xc(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){let n=this._accept(9,!0);return!n||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new xc(Number(r),n)),!0)}if(this._accept(11)){let t=this._until(4);if(t)return e.appendChild(new xc(Number(r),void 0,t,void 0)),!0}else if(this._accept(12)){let t=this._until(4);if(t)return e.appendChild(new xc(Number(r),void 0,void 0,t)),!0}else if(this._accept(13)){let t=this._until(1);if(t){let n=this._until(4);if(n)return e.appendChild(new xc(Number(r),void 0,t,n)),!0}}else{let t=this._until(4);if(t)return e.appendChild(new xc(Number(r),void 0,void 0,t)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14&&(e.appendChild(new gc(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}};function Ec(e,t,n){return(typeof n.insertText==`string`?n.insertText===``:n.insertText.snippet===``)?{edits:n.additionalEdit?.edits??[]}:{edits:[...t.map(t=>new kn(e,{range:t,text:typeof n.insertText==`string`?Tc.escape(n.insertText)+`$0`:n.insertText.snippet,insertAsSnippet:!0})),...n.additionalEdit?.edits??[]]}}function Dc(e){function t(e,t){return`mimeType`in e?e.mimeType===t.handledMimeType:!!t.kind&&e.kind.contains(t.kind)}let n=new Map;for(let r of e)for(let i of r.yieldTo??[])for(let a of e)if(a!==r&&t(i,a)){let e=n.get(r);e||(e=[],n.set(r,e)),e.push(a)}if(!n.size)return Array.from(e);let r=new Set,i=[];function a(e){if(!e.length)return[];let t=e[0];if(i.includes(t))return console.warn(`Yield to cycle detected`,t),e;if(r.has(t))return a(e.slice(1));let o=[],s=n.get(t);return s&&(i.push(t),o=a(s),i.pop()),r.add(t),[...o,t,...a(e.slice(1))]}return a(Array.from(e))}function Oc(e,t){return t&&(e.stack||e.stacktrace)?K(33,`{0}: {1}`,Ac(e),kc(e.stack)||kc(e.stacktrace)):Ac(e)}function kc(e){return Array.isArray(e)?e.join(`
|
|
2
|
+
`):e}function Ac(e){return e.code===`ERR_UNC_HOST_NOT_ALLOWED`?`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof e.code==`string`&&typeof e.errno==`number`&&typeof e.syscall==`string`?K(34,`A system error occurred ({0})`,e.message):e.message||K(35,`An unknown error occurred. Please consult the log for more details.`)}function jc(e=null,t=!1){if(!e)return K(36,`An unknown error occurred. Please consult the log for more details.`);if(Array.isArray(e)){let n=as(e),r=jc(n[0],t);return n.length>1?K(37,`{0} ({1} errors in total)`,r,n.length):r}if(wi(e))return e;if(e.detail){let n=e.detail;if(n.error)return Oc(n.error,t);if(n.exception)return Oc(n.exception,t)}return e.stack?Oc(e,t):e.message?e.message:K(38,`An unknown error occurred. Please consult the log for more details.`)}var Mc=class extends j{constructor(e){super(),this._onChange=this._register(new b),this.onChange=this._onChange.event,this._checked=!!e.checked,this._title=e.title??e.ariaLabel,this.domNode=C(`button.monaco-switch`),this.domNode.type=`button`,this.domNode.setAttribute(`role`,`switch`),A(this.domNode,C(`.monaco-switch-thumb`)),this._register(zi().setupDelayedHover(this.domNode,()=>({content:this._title,style:1}))),this.setAriaLabel(e.ariaLabel,e.title),this.disabled=!!e.disabled,this._applyState(),this._register(E(this.domNode,S.CLICK,e=>{ra.stop(e,!0),!this.domNode.disabled&&(this._checked=!this._checked,this._applyState(),this._onChange.fire(this._checked))}))}get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,this._applyState())}get disabled(){return this.domNode.disabled}set disabled(e){this.domNode.disabled=e}setAriaLabel(e,t=e){this.domNode.setAttribute(`aria-label`,e),this._title=t}_applyState(){this.domNode.setAttribute(`aria-checked`,String(this._checked)),this.domNode.classList.toggle(`checked`,this._checked)}},Nc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pc=function(e,t){return function(n,r){t(n,r,e)}},Fc=class extends j{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute(`aria-disabled`,`false`),this.el.tabIndex=0,this.el.style.pointerEvents=`auto`,this.el.style.opacity=`1`,this.el.style.cursor=`pointer`,this._enabled=!1):(this.el.setAttribute(`aria-disabled`,`true`),this.el.tabIndex=-1,this.el.style.pointerEvents=`none`,this.el.style.opacity=`0.4`,this.el.style.cursor=`default`,this._enabled=!0),this._enabled=e}constructor(e,t,n={},r,i){super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=A(e,C(`a.monaco-link`,{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=n.hoverDelegate??Ir(`mouse`),this.setTooltip(t.title),this.el.setAttribute(`role`,`button`);let a=this._register(new bi(this.el,`click`)),o=this._register(new bi(this.el,`keydown`)),s=At.chain(o.event,e=>e.map(e=>new Jn(e)).filter(e=>e.keyCode===3||e.keyCode===10)),c=this._register(new bi(this.el,$i.Tap)).event;this._register(Hr.addTarget(this.el));let l=At.any(a.event,s,c);this._register(l(e=>{this.enabled&&(ra.stop(e,!0),n?.opener?n.opener(this._link.href):i.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Fc=Nc([Pc(3,Zi),Pc(4,ct)],Fc);var Ic=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lc=function(e,t){return function(n,r){t(n,r,e)}},Rc,zc=`acceptSelectedCodeAction`,Bc=`previewSelectedCodeAction`,Vc=new Set([zc,Bc,`toggleSectionCodeAction`]),Hc=`actionList.remove`,Uc=class{get templateId(){return`header`}renderTemplate(e){e.classList.add(`group-header`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.text.textContent=e.group?.title??e.label??``}disposeTemplate(e){}},Wc=class{get templateId(){return`separator`}renderTemplate(e){e.classList.add(`separator`);let t=document.createElement(`span`);return e.append(t),{container:e,text:t}}renderElement(e,t,n){n.container.classList.toggle(`has-label`,!!e.label),n.text.textContent=e.label??``}disposeTemplate(e){}};function Gc(e){return!!e.submenuActions?.length&&!e.hover?.content||!!e.hover?.expandable}function Kc(e){return Gc(e)&&e.hover?.showIndicator!==!1}var qc=class{get templateId(){return`action`}constructor(e,t,n,r,i,a,o,s,c,l,u,d){this._supportsPreview=e,this._onRemoveItem=t,this._onShowSubmenu=n,this._reservesSubmenuSpace=r,this._groupTitleByIndex=i,this._linkHandler=a,this._hideDefaultKeybindingTooltip=o,this._stopToolbarPointerPropagation=s,this._registerStandaloneToggle=c,this._registerToolbar=l,this._keybindingService=u,this._openerService=d}renderTemplate(e){e.classList.add(this.templateId);let t=document.createElement(`div`);t.className=`icon`,e.append(t);let n=document.createElement(`span`);n.className=`title`,e.append(n);let r=document.createElement(`span`);r.className=`action-item-badge`,r.ariaHidden=`true`,e.append(r);let i=document.createElement(`span`);i.className=`description`,e.append(i);let a=document.createElement(`span`);a.className=`group-title`,e.append(a);let o=document.createElement(`span`);o.className=`detail`,e.append(o);let s=new ji(e,yr),c=document.createElement(`div`);c.className=`action-list-item-toolbar`,e.append(c);let l=document.createElement(`div`);l.className=`action-list-submenu-indicator`,e.append(l);let u=document.createElement(`div`);return u.className=`action-list-item-inline-toggle`,e.append(u),{container:e,icon:t,text:n,detail:o,badge:r,description:i,groupTitle:a,keybinding:s,toolbar:c,submenuIndicator:l,inlineToggleContainer:u,elementDisposables:new v}}renderElement(e,t,n){if(n.elementDisposables.clear(),e.iconClasses?.length?(n.icon.className=[`icon`,...e.iconClasses].join(` `),n.icon.style.color=``):e.group?.icon?(n.icon.className=M.asClassName(e.group.icon),n.icon.style.color=e.group.icon.color?ur(e.group.icon.color.id):``):(n.icon.className=M.asClassName(X.lightBulb),n.icon.style.color=`var(--vscode-editorLightBulb-foreground)`),!e.item&&!e.standaloneToggle||!e.label)return;if(Di(!e.hideIcon,n.icon),e.isSectionToggle){let t=e.group?.icon===X.chevronDown;n.container.setAttribute(`aria-expanded`,String(t))}else n.container.removeAttribute(`aria-expanded`);n.previousClassNames?.length&&n.container.classList.remove(...n.previousClassNames);let r=e.className?.split(/\s+/).filter(e=>e.length>0)??[];if(n.container.classList.toggle(`action-list-custom`,r.length>0),r.length&&n.container.classList.add(...r),n.previousClassNames=r,n.text.textContent=$c(e.label),e.badge?(n.badge.textContent=e.badge,n.badge.style.display=``):(n.badge.textContent=``,n.badge.style.display=`none`),e.keybinding)n.description.textContent=e.keybinding.getLabel(),n.description.style.display=`inline`,n.description.style.letterSpacing=`0.5px`;else if(e.description){if(Ze(n.description),typeof e.description==`string`)n.description.textContent=$c(e.description);else{let t=bn(e.description,{actionHandler:t=>{let n=me.parse(t);this._linkHandler?this._linkHandler(n,e):this._openerService.open(n,{allowCommands:!0})}});n.elementDisposables.add(t),n.description.appendChild(t.element)}n.description.style.display=`inline`}else n.description.textContent=``,n.description.style.display=`none`;let i=this._groupTitleByIndex.get(t);i?(n.groupTitle.textContent=i,n.groupTitle.style.display=``):(n.groupTitle.textContent=``,n.groupTitle.style.display=`none`),e.detail?(n.detail.textContent=$c(e.detail),n.detail.style.display=``):(n.detail.textContent=``,n.detail.style.display=`none`),n.container.classList.toggle(`has-detail`,!!e.detail),Ze(n.inlineToggleContainer);let a=e.standaloneToggle??e.inlineToggle;if(a){let t=document.createElement(`span`);t.className=`action-list-item-inline-toggle-label`,t.textContent=$c(a.label),e.standaloneToggle||n.inlineToggleContainer.append(t),n.inlineToggleContainer.style.display=``,n.container.classList.toggle(`has-inline-toggle`,!!e.inlineToggle),n.container.classList.toggle(`has-standalone-toggle`,!!e.standaloneToggle);let r=n.elementDisposables.add(new Mc({ariaLabel:a.title??a.label,checked:a.checked,disabled:a.disabled}));n.inlineToggleContainer.append(r.domNode),e.standaloneToggle&&n.elementDisposables.add(this._registerStandaloneToggle(e,r)),n.elementDisposables.add(r.onChange(()=>a.onChange(r.checked))),n.elementDisposables.add(E(n.inlineToggleContainer,S.CLICK,e=>e.stopPropagation()))}else n.inlineToggleContainer.style.display=`none`,n.container.classList.remove(`has-inline-toggle`),n.container.classList.remove(`has-standalone-toggle`);let o=this._keybindingService.lookupKeybinding(zc)?.getLabel(),s=this._keybindingService.lookupKeybinding(Bc)?.getLabel();n.container.classList.toggle(`option-disabled`,!!e.disabled),e.hover===void 0?e.tooltip?n.container.title=e.tooltip:e.disabled?n.container.title=e.label:e.standaloneToggle||this._hideDefaultKeybindingTooltip?n.container.title=``:o&&s?this._supportsPreview&&e.canPreview?n.container.title=K(1731,`{0} to Apply, {1} to Preview`,o,s):n.container.title=K(1732,`{0} to Apply`,o):n.container.title=``:n.container.title=``,Ze(n.toolbar);let c=[...e.toolbarActions??[]];if(e.onRemove&&c.push(ps({id:Hc,label:K(1733,`Remove`),class:M.asClassName(X.close),run:async()=>{await e.onRemove(),this._onRemoveItem?.(e)}})),n.container.classList.toggle(`has-toolbar`,c.length>0),c.length>0){let t=new Va(n.toolbar);n.elementDisposables.add(t),this._stopToolbarPointerPropagation?(n.elementDisposables.add(it(n.toolbar,e=>{e.preventDefault(),e.stopPropagation()})),n.elementDisposables.add(E(n.toolbar,S.CLICK,e=>e.stopPropagation())),n.elementDisposables.add(E(n.toolbar,$i.Tap,e=>e.stopPropagation()))):n.elementDisposables.add(it(n.toolbar,e=>e.preventDefault())),t.push(c,{icon:!0,label:!1}),n.elementDisposables.add(this._registerToolbar(e,t))}Kc(e)?(n.submenuIndicator.className=`action-list-submenu-indicator has-submenu `+M.asClassName(X.chevronRight),n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=``,n.elementDisposables.add(E(n.submenuIndicator,S.CLICK,t=>{t.stopPropagation(),this._onShowSubmenu?.(e)}))):this._reservesSubmenuSpace()?(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=``,n.submenuIndicator.style.visibility=`hidden`):(n.submenuIndicator.className=`action-list-submenu-indicator`,n.submenuIndicator.style.display=`none`),Gc(e)?(n.container.setAttribute(`aria-haspopup`,e.hover?.expandable?`dialog`:`menu`),n.container.setAttribute(`aria-expanded`,`false`)):(n.container.removeAttribute(`aria-haspopup`),e.isSectionToggle||n.container.removeAttribute(`aria-expanded`))}disposeTemplate(e){e.keybinding.dispose(),e.elementDisposables.dispose()}};qc=Ic([Lc(10,Oa),Lc(11,ct)],qc);var Jc=class extends UIEvent{constructor(){super(`acceptSelectedAction`)}},Yc=class extends UIEvent{constructor(){super(`previewSelectedAction`)}};function Xc(e){if(e.kind===`action`)return e.label}var Zc=Rc=class extends j{constructor(e,t,n,r,i,a,o,s,c){if(super(),this._supportsPreview=t,this._delegate=r,this._options=a,this._keybindingService=o,this._openerService=s,this._instantiationService=c,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new ha),this._submenuDisposables=this._register(new v),this._submenuHoverActionElements=[],this._itemMoveAnimation=this._register(new Un),this._collapsedSections=new Set,this._filterText=``,this._imeSessionInProgress=!1,this._isMeasuringWidth=!1,this._suppressHover=!1,this._hoverEnabled=!0,this._ignoreInitialHover=!0,this._hasLaidOut=!1,this._filterCts=this._register(new Un),this._groupTitleByIndex=new Map,this._standaloneToggles=new Map,this._itemToolbars=new Map,this._onDidRequestLayout=this._register(new b),this.onDidRequestLayout=this._onDidRequestLayout.event,this._visibleMenuItems=n,this._initialFocusItemId=this._options?.initialFocusItemId,this._filterText=this._options?.showFilter?this._options.initialFilterValue??``:``,this.domNode=document.createElement(`div`),this.domNode.classList.add(`actionList`),this._options?.inlineDescription&&this.domNode.classList.add(`inline-description`),this._options?.className){let e=this._options.className.split(/\s+/).filter(e=>e.length>0);e.length>0&&this.domNode.classList.add(...e)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement(`div`),this._submenuContainer.className=`action-list-submenu-panel action-widget`,this._submenuContainer.style.display=`none`,this._options?.persistentHover&&(this._submenuContainer.style.boxSizing=`border-box`),this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register(E(this._submenuContainer,`keydown`,e=>{if((e.key===`Enter`||e.key===` `)&&this._currentSubmenuElement?.hover?.tabThroughPanel){let t=Do(e.target)?e.target:void 0;if(t&&this._currentSubmenuElement.hover.getTabbableElements?.().includes(t)){e.stopPropagation();return}}if(e.key!==`ArrowLeft`&&e.key!==`Escape`)return;ra.stop(e,!0);let t=e.key===`Escape`&&this._currentSubmenuWidget!==void 0;this._hideSubmenu(),t?this.hide():(this._setKeyboardNavigation(!0),this._list.domFocus())})),this._register(E(this._submenuContainer,`mouseenter`,()=>{this._cancelSubmenuHide(),this._usesSubmenuPointerIntent()&&(this._cancelSubmenuShow(),this._resetSubmenuPointer())})),this._register(E(this._submenuContainer,`mouseleave`,()=>{this._scheduleSubmenuHide()})),this._register(E(this.domNode,S.MOUSE_LEAVE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer()})),this._usesSubmenuPointerIntent()&&this._register(E(this.domNode,S.MOUSE_MOVE,e=>{Do(e.target)&&this._expandedTrigger?.contains(e.target)&&this._updateSubmenuPointer(e)})),this._register(fo(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(let e of this._options.collapsedByDefault)this._collapsedSections.add(e);let l={getHeight:e=>this._getItemHeight(e),getTemplateId:e=>e.kind},u=()=>{let e=this._options?.reserveSubmenuSpace??!0;return e===`always`||e&&this._allMenuItems.some(Kc)};this._list=this._register(new Ma(e,this.domNode,l,[new qc(this._supportsPreview,e=>this._removeItem(e),e=>this._showSubmenuForItem(e),u,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._options?.stopToolbarPointerPropagation??!1,(e,t)=>(this._standaloneToggles.set(e,t),fo(()=>{this._standaloneToggles.get(e)===t&&this._standaloneToggles.delete(e)})),(e,t)=>(this._itemToolbars.set(e,t),this._updateToolbarFocusability(),fo(()=>{this._itemToolbars.get(e)===t&&this._itemToolbars.delete(e)})),this._keybindingService,this._openerService),new Uc,new Wc],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter&&!this._options?.onType,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Xc},accessibilityProvider:{getAriaLabel:e=>{if(e.kind===`action`){let t=e.label?$c(e?.label):``;if(e.badge&&(t=t+`, `+$c(e.badge)),e.detail&&(t=t+`, `+$c(e.detail)),e.ariaDescription)t=t+`, `+$c(e.ariaDescription);else if(e.description){let n=typeof e.description==`string`?e.description:e.description.value;t=t+`, `+$c(n)}if(e.hover?.content&&!e.ariaDescription&&!e.description){let n=e.hover.content,r=typeof n==`string`?n:ir(n)?n.value:Do(n)?n.textContent??void 0:void 0;r&&(!e.detail||$c(e.detail)!==$c(r))&&(t=t+`, `+$c(r))}e.group?.title&&(t=t+`, `+e.group.title);let n=e.standaloneToggle??e.inlineToggle;return n&&(t=e.standaloneToggle?n.checked?K(1734,`{0}, on`,n.label):K(1735,`{0}, off`,n.label):t+`, `+(n.checked?K(1736,`{0}, on`,n.label):K(1737,`{0}, off`,n.label))),e.disabled&&(t=K(1738,`{0}, Disabled Reason: {1}`,t,e.disabled)),e.submenuActions?.length&&(t=K(1739,`{0}, use right arrow to access options`,t)),t}return null},getWidgetAriaLabel:()=>K(1740,`Action Widget`),getSetSize:()=>this._visibleMenuItems.filter(e=>e.kind===`action`).length,getPosInSet:(e,t)=>Math.max(this._visibleMenuItems.slice(0,t+1).filter(e=>e.kind===`action`).length,1),getRole:e=>{switch(e.kind){case`action`:return`option`;case`separator`:return`separator`;default:return`separator`}},getWidgetRole:()=>`listbox`,...i}})),this._list.style(qo),this._register(this._list.onKeyDown(()=>this._setKeyboardNavigation(!0))),this._register(E(this._list.getHTMLElement(),S.MOUSE_MOVE,e=>{(e.movementX!==0||e.movementY!==0)&&this._setKeyboardNavigation(!1)})),this._register(this._list.onMouseClick(e=>this.onListClick(e))),this._register(this._list.onMouseOver(e=>{this._ignoreInitialHover||this.onListHover(e)}));let d=this._register(new Un);if(d.value=this._list.onMouseMove(e=>{(e.browserEvent.movementX!==0||e.browserEvent.movementY!==0)&&(d.clear(),this._ignoreInitialHover=!1,this.onListHover(e))}),this._register(this._list.onMouseDown(()=>{d.clear(),this._ignoreInitialHover=!1,this._setKeyboardNavigation(!1)})),this._register(this._list.onDidChangeFocus(()=>{this._updateToolbarFocusability(),this.onFocus()})),this._register(this._list.onDidChangeSelection(e=>this.onListSelection(e))),this._register(this._list.onDidScroll(()=>{this._isMeasuringWidth||this._layoutSubmenu?.()})),this._allMenuItems=[...n],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement(`div`),this._filterContainer.className=`action-list-filter`;let e=A(this._filterContainer,C(`.action-list-filter-row`));if(this._options?.showFilter){if(this._filterInput=document.createElement(`input`),this._filterInput.type=`text`,this._filterInput.className=`action-list-filter-input`,this._filterInput.placeholder=this._options?.filterPlaceholder??K(1741,`Search...`),this._filterInput.value=this._filterText,this._filterInput.setAttribute(`aria-label`,K(1742,`Filter items`)),e.appendChild(this._filterInput),this._register(E(this._filterInput,S.KEY_DOWN,e=>{if(this._setKeyboardNavigation(!0),e.isComposing||!this._filterInput?.closest(`.action-list-submenu-panel`))return;let t=this._keybindingService.softDispatch(new Jn(e),this._filterInput);(t.kind===2&&t.commandId!==null&&Vc.has(t.commandId)||e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)&&e.stopPropagation()})),this._register(E(this._filterInput,S.MOUSE_DOWN,()=>this._setKeyboardNavigation(!1))),this._options.tabThroughItemActions&&this._register(E(this._filterInput,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),this._options.filterAsCombobox){let e=this._list.getHTMLElement();e.id=this._list.domId,this._filterInput.setAttribute(`role`,`combobox`),this._filterInput.setAttribute(`aria-label`,this._filterInput.placeholder),this._filterInput.setAttribute(`aria-autocomplete`,`list`),this._filterInput.setAttribute(`aria-expanded`,`true`),this._filterInput.setAttribute(`aria-controls`,e.id),this._register(this._list.onDidChangeFocus(()=>this._updateFilterActiveDescendant())),this._register(E(this._filterInput,`focus`,()=>this._updateFilterActiveDescendant())),this._register(E(this._filterInput,`blur`,()=>this._updateFilterActiveDescendant())),this._register(ne(this._filterInput,`keydown`,e=>{if(this._imeSessionInProgress||e.browserEvent.isComposing||e.keyCode===114||e.keyCode===15||e.keyCode===17||e.keyCode===14||e.keyCode===13){e.stopPropagation();return}let t=e.keyCode===16||e.keyCode===18;(t||e.keyCode===3)&&(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey?t&&e.stopPropagation():(ra.stop(e,!0),e.keyCode===16?this.focusPrevious():e.keyCode===18?this.focusNext():this.acceptSelected()))}))}let t=this._options?.filterActions??[];if(t.length>0){let n=A(e,C(`.action-list-filter-actions`));this._register(new Va(n)).push(t,{icon:!0,label:!1})}let n=()=>{let e=this._filterInput.value;this._imeSessionInProgress||e===this._filterText&&!this._filterCts.value?.token.isCancellationRequested||(this._filterText=e,this._applyOrUpdateFilter())};this._register(E(this._filterInput,`compositionstart`,()=>{this._imeSessionInProgress=!0,this._filterCts.value?.cancel()})),this._register(E(this._filterInput,`compositionend`,()=>{this._imeSessionInProgress=!1,n()})),this._register(E(this._filterInput,`input`,n))}if(this._options?.secondaryHeading){let t=A(e,C(`.action-list-filter-label`));t.textContent=this._options.secondaryHeading}}if(this._options?.footerText&&(this._footerContainer=document.createElement(`div`),this._footerContainer.className=`action-list-footer`,this._footerContainer.textContent=this._options.footerText),this._options?.headerText){if(this._headerContainer=document.createElement(`div`),this._headerContainer.className=`action-list-header`,this._options.headerIcon){let e=A(this._headerContainer,C(`span.action-list-header-icon`));e.classList.add(...M.asClassNameArray(this._options.headerIcon)),e.setAttribute(`aria-hidden`,`true`)}let e=A(this._headerContainer,C(`span.action-list-header-text`));if(e.textContent=this._options.headerText,this._register(E(this._headerContainer,S.MOUSE_ENTER,()=>{this._options?.persistentHover?(this._cancelSubmenuShow(),this._resetSubmenuPointer()):this._hideSubmenu()})),this._options.headerLink){let{label:t,uri:n}=this._options.headerLink;e.textContent+=` `,this._register(this._instantiationService.createInstance(Fc,e,{label:t,href:n.toString(!0)},{}))}if(this._options.headerDismiss){let e=this._options.headerDismiss,t=A(this._headerContainer,C(`span.action-list-header-dismiss`));t.appendChild(C(M.asCSSSelector(X.close))),t.tabIndex=0,t.setAttribute(`role`,`button`),t.setAttribute(`aria-label`,K(1743,`Dismiss`));let n=()=>{e(),this.focus(),this._headerContainer?.remove(),this._headerContainer=void 0,this._onDidRequestLayout.fire()};this._register(Et(t,()=>n())),this._register(E(t,S.KEY_DOWN,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())}))}}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register(E(this.domNode,`keydown`,e=>{if(e.key===`ArrowRight`&&!e.isComposing){let t=this._list.getFocus();if(t.length>0){let n=this._list.element(t[0]);if(n?.submenuActions?.length||n?.hover?.expandable){ra.stop(e,!0);let r=this._getRowElement(t[0]);r&&(this._showSubmenuForElement(n,r),n.hover?.tabThroughPanel?this._focusFirstTabThroughPanelControl(n,r):this._currentSubmenuWidget?this._currentSubmenuWidget.focus():this._submenuContainer.focus())}}}})),this._register(E(this.domNode,`keydown`,e=>this._handleTabThroughPanelKeyDown(e),!0)),(this._filterInput||this._options?.onType)&&this._register(E(this.domNode,`keydown`,e=>{let t=e.target;(this._options?.onType||this._options?.filterAsCombobox)&&Do(t)&&(qa(t)||t.closest(`button, a, [contenteditable="true"], .action-list-submenu-panel`))||(!this._filterInput||!vo(this._filterInput))&&!e.isComposing&&e.key.length===1&&e.key!==` `&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),e.stopPropagation(),this._filterInput?(this._filterInput.focus(),this._filterInput.value=e.key,this._filterText=e.key,this._applyOrUpdateFilter()):this._options?.onType?.(e.key))}))}_toggleSection(e){let t=this._collapsedSections.has(e);if(t)this._collapsedSections.delete(e);else{this._collapsedSections.add(e);let t=this.getFocusedElement();if(t?.section===e&&!t.isSectionToggle){let t=this._visibleMenuItems.findIndex(t=>t.section===e&&t.isSectionToggle);t>=0&&this._list.setFocus([t])}}this._options?.onDidToggleSection?.(e,this._collapsedSections.has(e)),this._applyFilter(),t&&this._revealFirstItemOfSection(e)}_revealFirstItemOfSection(e){for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(n.section===e&&!n.isSectionToggle){this._list.reveal(t);return}}}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}let e=this._filterText;this._filterCts.value?.cancel();let t=new ha;this._filterCts.value=t,this._delegate.onFilter(e,t.token).then(e=>{t.token.isCancellationRequested||(this._allMenuItems=[...e],this._applyFilter(!0))}).catch(()=>{}).finally(()=>{this._filterCts.value===t&&!t.token.isCancellationRequested&&this._filterCts.clear()})}_applyFilter(e=!1,t=!0,n){this._itemMoveAnimation.clear();let r=e?``:this._filterText.toLowerCase(),i=!e&&r.length>0,a=[],o=this._list.getFocus(),s;if(o.length>0&&(s=this._list.element(o[0])),i){let e,t=[],n=!1,i=()=>{e&&n&&a.push(e),a.push(...t),e=void 0,t=[],n=!1},o=e=>{let t=(e.label??``).toLowerCase(),n=typeof e.description==`string`?e.description:e.description?.value??``;return t.includes(r)||n.toLowerCase().includes(r)};for(let r of this._allMenuItems)if(r.kind!==`header`){if(r.kind===`separator`)i(),e=r.label?r:void 0;else if(r.showAlways)t.push(r);else if(!r.isSectionToggle){if(r.filterItems){let e=o(r)?r.filterItems:r.filterItems.filter(o);e.length>0&&(n=!0,t.push(...e))}else o(r)&&(n=!0,t.push(r))}}i()}else for(let e of this._allMenuItems)if(e.kind===`header`)a.push(e);else if(e.kind===`separator`){if(e.section&&this._collapsedSections.has(e.section))continue;a.push(e)}else if(e.isSectionToggle&&e.section){let t=this._collapsedSections.has(e.section);a.push({...e,group:{...e.group,icon:t?X.chevronRight:X.chevronDown}})}else e.section&&this._collapsedSections.has(e.section)||a.push(e);let c=[],l=!1;for(let e=0;e<a.length;e++)c[e]=l,a[e].kind===`action`&&(l=!0);let u=[],d=!1;for(let e=a.length-1;e>=0;e--)a[e].kind===`action`?d=!0:a[e].kind===`separator`&&(u[e]=d,d=!1);for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.kind!==`separator`)continue;let n=u[e],r=!t.label&&!c[e];(!n||r)&&a.splice(e,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(a);let f=this._filterInput&&vo(this._filterInput),p=Vr(this._list.getHTMLElement());if(this._visibleMenuItems=a,this._list.splice(0,this._list.length,a),t&&this._onDidRequestLayout.fire(),f)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&(s||n)){let e=n??s?.item?.id;if(e){for(let t=0;t<this._list.length;t++)if(this._list.element(t).item?.id===e){this._list.setFocus([t]),this._list.reveal(t);break}p&&(this._focusCheckedOrFirst(),this._list.domFocus())}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}get closeAnimation(){return this._options?.closeAnimation}focusCondition(e){return!e.disabled&&e.kind===`action`}_setKeyboardNavigation(e){if(this._keyboardNavigation===e)return;this._keyboardNavigation=e;let t=this._list.getHTMLElement();t.classList.toggle(`keyboard-navigation`,e===!0),t.classList.toggle(`mouse-navigation`,e===!1)}_updateFilterActiveDescendant(){if(!this._filterInput)return;let[e]=this._list.getFocus();vo(this._filterInput)&&e!==void 0?this._filterInput.setAttribute(`aria-activedescendant`,this._list.getElementID(e)):this._filterInput.removeAttribute(`aria-activedescendant`)}focus(){this._setKeyboardNavigation(void 0),this._filterInput&&this._options?.focusFilterOnOpen?(this._filterInput.focus(),this._focusCheckedOrFirst()):(this._list.domFocus(),this._focusCheckedOrFirst(),this._showTabThroughPanelForFocusedItem())}clearFocus(){this._list.setFocus([])}getFocusedElement(){let e=this._list.getFocus();if(e.length>0)return this._list.element(e[0])}_updateToolbarFocusability(){if(!this._options?.tabThroughItemActions)return;let[e]=this._list.getFocus(),t=e!==void 0&&e<this._list.length?this._list.element(e):void 0;for(let[e,n]of this._itemToolbars)n.setFocusable(e===t)}_focusCheckedOrFirst(){let e=this._suppressHover;this._suppressHover=!0;try{let e=this._initialFocusItemId;if(this._initialFocusItemId=void 0,e)for(let t=0;t<this._list.length;t++){let n=this._list.element(t);if(this.focusCondition(n)&&n.item?.id===e){this._list.setFocus([t]),this._list.reveal(t);return}}let[t]=this._list.getFocus();if(t!==void 0){let e=this._list.element(t);if(e&&this.focusCondition(e)){this._list.reveal(t);return}}for(let e=0;e<this._list.length;e++){let t=this._list.element(e);if(this.focusCondition(t)&&t.item?.checked){this._list.setFocus([e]),this._list.reveal(e);return}}this._list.focusFirst(void 0,this.focusCondition);let n=this._list.getFocus();n.length>0&&this._list.reveal(n[0])}finally{this._suppressHover=e,this._options?.filterAsCombobox&&this._updateFilterActiveDescendant()}}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){return this._filterInput&&this._filterText?(this._filterInput.value=``,this._filterText=``,this._applyOrUpdateFilter(),!0):!1}get hasDynamicHeight(){return this._options?.showFilter?!0:this._allMenuItems.some(e=>e.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(e){return this._itemHeightWith(e,this._options)}_itemHeightWith(e,t){switch(e.kind){case`header`:return this._headerLineHeight;case`separator`:return e.label?this._actionLineHeight:this._separatorLineHeight;default:return e.inlineToggle?t?.inlineToggleItemHeight??70:e.detail?t?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){return this.computeHeightForItems(this._allMenuItems,void 0,this._options)}computeHeightForItems(e,t,n){let r=0;for(let i of e)t&&i.section&&!i.isSectionToggle&&t.has(i.section)||(r+=this._itemHeightWith(i,n));return r}computeListHeight(){let e=this._list.length,t=0;for(let n=0;n<e;n++){let e=this._list.element(n);t+=this._getItemHeight(e)}return t}layout(e,t){this._hasLaidOut=!0,this._list.layout(e,t),this.domNode.style.height=`${e}px`;let n=this.domNode.parentElement;n&&this._filterContainer?.parentElement===n&&n.insertBefore(this._filterContainer,this.domNode),this._layoutSubmenu?.()}computeMaxWidth(e){let t=this._list.length,n=Math.max(e,this._options?.minWidth??0),r=this._options?.maxWidth??1/0,i=Math.max(r,n),a=e=>Math.min(Math.max(e,n),i),o=this._allMenuItems.length;if(o>=50)return a(380);if(o>t){let e=[];for(let n=0;n<t;n++)e.push(this._list.element(n));let n=this._list.renderHeight,r=this._list.scrollTop,i=this._list.getFocus(),o=this._isMeasuringWidth;this._isMeasuringWidth=!0;try{let e=[...this._allMenuItems];this._list.splice(0,t,e);let n=0;for(let t of e)n+=this._getItemHeight(t);this._list.layout(n);let r=this._measureItemWidths(e);return a(Math.max(...r))}finally{try{this._list.splice(0,this._list.length,e),this._list.layout(n),this._list.scrollTop=r;let t=this._suppressHover;this._suppressHover=!0;try{this._list.setFocus(i)}finally{this._suppressHover=t}}finally{this._isMeasuringWidth=o}}}let s=[];for(let e=0;e<t;e++)s.push(this._list.element(e));let c=this._measureItemWidths(s);return a(Math.max(...c))}focusPrevious(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`previous`))return;if(this._filterInput&&vo(this._filterInput)){this._list.domFocus();let e=this._list.getFocus();if(e.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);let t=this._list.getFocus();t.length>0&&t[0]>=e[0]?this._filterInput.focus():t.length>0&&this._list.reveal(t[0])}else{this._list.focusLast(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]>e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}focusNext(){if(this._setKeyboardNavigation(!0),this._focusFilterResult(`next`))return;if(this._filterInput&&vo(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}else{this._list.focusFirst(void 0,this.focusCondition);let e=this._list.getFocus();e.length>0&&this._list.reveal(e[0])}return}let e=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);let t=this._list.getFocus();if(t.length>0){if(this._filterInput&&e.length>0&&t[0]<e[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(t[0])}}_focusFilterResult(e){if(!this._options?.filterAsCombobox||!this._filterInput||!vo(this._filterInput))return!1;e===`previous`?this._list.focusPrevious(1,!0,void 0,this.focusCondition):this._list.focusNext(1,!0,void 0,this.focusCondition);let[t]=this._list.getFocus();return t!==void 0&&this._list.reveal(t),!0}collapseFocusedSection(){let e=this._getFocusedSection();e&&!this._collapsedSections.has(e)&&this._toggleSection(e)}expandFocusedSection(){let e=this._getFocusedSection();e&&this._collapsedSections.has(e)&&this._toggleSection(e)}toggleFocusedSection(){let e=this._list.getFocus();if(e.length===0)return!1;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section?(this._toggleSection(t.section),!0):!1}_getFocusedSection(){let e=this._list.getFocus();if(e.length===0)return;let t=this._list.element(e[0]);return t.isSectionToggle&&t.section,t.section}acceptSelected(e){let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!this.focusCondition(r))return;let i=e?new Yc:new Jc;this._list.setSelection([n],i)}onListSelection(e){if(!e.elements.length)return;let t=e.elements[0];if(t.standaloneToggle){this._list.setSelection([]);let e=this._standaloneToggles.get(t);e&&!e.disabled&&(e.checked=!e.checked,t.standaloneToggle.onChange(e.checked));return}if(t.isSectionToggle&&t.section){this._list.setSelection([]);let e=t.section;queueMicrotask(()=>{this._toggleSection(e)});return}let n=ri(e.browserEvent)||e.browserEvent?.type===$i.Tap;if(n){let t=e.browserEvent.target;if(Do(t)&&(t.closest(`.action-list-item-toolbar`)||t.closest(`.action-list-submenu-indicator`)||t.closest(`.action-list-item-inline-toggle`))){this._list.setSelection([]);return}}if(t.openSubmenuOnClick&&t.submenuActions?.length&&(n||e.browserEvent instanceof Jc))this._list.setSelection([]),this._showSubmenuForItem(t),n||this._currentSubmenuWidget?.focus();else if(t.item&&this.focusCondition(t)){let n=e.browserEvent instanceof Yc;this._delegate.onSelect(t.item,n&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);this._delegate.onFocus?.(n.item),this._suppressHover||(this._options?.persistentHover&&(this._cancelSubmenuShow(),this._resetSubmenuPointer(),this._list.reveal(t)),this._showHoverForElement(n,t))}_removeItem(e){let t=this._allMenuItems.indexOf(e);t>=0&&(this._allMenuItems.splice(t,1),this._applyFilter())}_recomputeGroupTitles(e){this._groupTitleByIndex.clear();let t=new Set;for(let n=0;n<e.length;n++){let r=e[n];r.kind===`action`&&r.group?.title&&!t.has(r.group.title)&&(t.add(r.group.title),this._groupTitleByIndex.set(n,r.group.title))}}_measureItemWidths(e){let t=[];for(let n=0;n<e.length;n++){let r=this._getRowElement(n);r&&(r.style.width=`auto`,t.push({element:r,item:e[n]}))}try{return t.map(({element:e,item:t})=>e.getBoundingClientRect().width+(t.detail?0:this._computeToolbarWidth(t)))}finally{for(let{element:e}of t)e.style.width=``}}_computeToolbarWidth(e){let t=e.toolbarActions?.length??0;return e.onRemove&&t++,t===0?0:t*22+6+10}_getRowElement(e){return e<0?null:this.domNode.ownerDocument.getElementById(this._list.getElementID(e))}_showTabThroughPanelForFocusedItem(){let e=this._list.getFocus();if(e.length===0)return;let t=e[0],n=this._list.element(t);if(!n.hover?.tabThroughPanel)return;let r=this._getRowElement(t);r&&this._showSubmenuForElement(n,r)}_getTabThroughPanelControls(e,t){return e.hover?.tabThroughPanel&&this._currentSubmenuElement!==e&&this._showSubmenuForElement(e,t),{toolbar:this._itemToolbars.get(e),panelControls:[...e.hover?.getTabbableElements?.()??[],...this._submenuHoverActionElements]}}_focusFirstTabThroughPanelControl(e,t){let n=this._getTabThroughPanelControls(e,t);n.toolbar?.length()?n.toolbar.focus(0):(n.panelControls[0]??this._list.getHTMLElement()).focus()}_handleTabThroughPanelKeyDown(e){if(e.isComposing)return;let t=this._list.getFocus();if(t.length===0)return;let n=t[0],r=this._list.element(n);if(!r.hover?.tabThroughPanel&&!this._options?.tabThroughItemActions)return;let i=this._getRowElement(n),a=Qn();if(!i||!Do(a))return;let o=this._getTabThroughPanelControls(r,i),s=o.toolbar?.isFocused()??!1,c=this._submenuContainer.contains(a);if((e.key===`ArrowUp`||e.key===`ArrowDown`)&&(s||c)){ra.stop(e,!0),this._list.domFocus(),e.key===`ArrowUp`?this.focusPrevious():this.focusNext();return}if(e.key!==`Tab`||e.ctrlKey||e.metaKey||e.altKey)return;let l;if(e.shiftKey){if(c){let t=o.panelControls.indexOf(a);if(t>0)l=o.panelControls[t-1];else if(o.toolbar?.length()){ra.stop(e,!0),o.toolbar.focus(o.toolbar.length()-1);return}else l=this._list.getHTMLElement()}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t>0){ra.stop(e,!0),o.toolbar.focus(t-1);return}l=this._options?.filterAsCombobox?this._filterInput:this._list.getHTMLElement()}}else if(a===this._list.getHTMLElement()||a===this._filterInput){if(o.toolbar?.length()){ra.stop(e,!0),o.toolbar.focus(0);return}l=o.panelControls[0]}else if(o.toolbar?.isFocused()){let t=o.toolbar.viewItems.findIndex((e,t)=>o.toolbar?.isFocused(t));if(t+1<o.toolbar.length()){ra.stop(e,!0),o.toolbar.focus(t+1);return}l=o.panelControls[0]}else{let e=o.panelControls.indexOf(a);e>=0&&(l=o.panelControls[e+1]??this._list.getHTMLElement())}l&&(ra.stop(e,!0),l.focus())}_showHoverForElement(e,t){if(this._currentSubmenuElement===e)return;let n=!!e.hover?.content,r=!!e.submenuActions?.length;if(n||r){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}else this._options?.persistentHover||this._hideSubmenu()}_showSubmenuForItem(e){let t=this._list.indexOf(e);if(t>=0){let n=this._getRowElement(t);n&&this._showSubmenuForElement(e,n)}}_showSubmenuForElement(e,t){if(!this._hoverEnabled||this._currentSubmenuElement===e)return;this._currentSubmenuElement=e,this._clearSubmenuContainer(),t.setAttribute(`aria-expanded`,`true`),this._expandedTrigger=t,this._submenuPanelClassName=e.hover?.panelClassName,this._submenuPanelClassName&&this._submenuContainer.classList.add(this._submenuPanelClassName);let n=e.hover?.preserveVerticalPosition,r=!!e.submenuActions?.length,i=n?C(`.action-list-submenu-content`):this._submenuContainer,a=n?C(`.action-list-submenu-viewport`,void 0,i):void 0,o=a&&!r?this._submenuDisposables.add(new Lo(a,{horizontal:2,vertical:1,consumeMouseWheelIfScrollbarIsNeeded:!0,useShadows:!1})):void 0;o&&a?(this._submenuContainer.appendChild(o.getDomNode()),this._submenuDisposables.add(E(a,S.SCROLL,()=>o.scanDomNode())),this._submenuDisposables.add(E(this._submenuContainer,S.KEY_DOWN,e=>{let t=new Jn(e);(t.equals(12)||t.equals(11))&&(ra.stop(e,!0),o.setScrollPosition({scrollTop:o.getScrollPosition().scrollTop+(t.equals(12)?1:-1)*a.clientHeight}))}))):a&&this._submenuContainer.appendChild(a);let s,c=typeof e.hover?.content==`function`?e.hover.content():e.hover?.content;if(c){if(Do(c))s=c,e.hover?.disposable&&this._register(e.hover.disposable);else{let t=typeof c==`string`?new Xn(c):c,n=this._options?.linkHandler,r=bn(t,{actionHandler:t=>{let r=me.parse(t);n?n(r,e):this._openerService.open(r,{allowCommands:!0})}});this._submenuDisposables.add(r),s=r.element}s.classList.add(`action-list-submenu-hover-header`),s.classList.toggle(`content-owns-padding`,e.hover?.contentOwnsPadding===!0),e.submenuActions?.length&&s.classList.add(`has-submenu`),i.appendChild(s)}if(e.hover?.actions?.length){let t=C(`.hover-row.status-bar`),n=A(t,C(`.actions`));for(let t of e.hover.actions){let e=this._keybindingService.lookupKeybinding(t.commandId),r=this._submenuDisposables.add(mn.render(n,{label:t.label,commandId:t.commandId,run:e=>t.run(e),iconClass:t.iconClass},e?.getLabel()??null));this._submenuHoverActionElements.push(r.actionContainer)}this._submenuContainer.appendChild(t)}this._submenuContainer.style.display=``,this._submenuContainer.style.position=`absolute`,e.hover?.expandable?(this._submenuContainer.setAttribute(`role`,`dialog`),e.label&&this._submenuContainer.setAttribute(`aria-label`,e.label)):this._submenuContainer.removeAttribute(`role`);let u=yi(this.domNode),d=0,f=s?s.offsetWidth:0,p;if(r){let t=this._createSubmenuItems(e.submenuActions),n=this._submenuDisposables.add(this._instantiationService.createInstance(Rc,`submenu`,!1,t,{onHide:()=>{},onSelect:e=>{e.run();let t=this._currentSubmenuElement?.item;this._hideSubmenu(),t&&this._delegate.onSelect(t),this.hide()}},void 0,e.submenuOptions));p=n,n.headerContainer&&i.appendChild(n.headerContainer),n.filterContainer&&i.appendChild(n.filterContainer),i.appendChild(n.domNode),n.footerContainer&&i.appendChild(n.footerContainer),this._currentSubmenuWidget=n,n.clearFocus(),d=n.computeListHeight(),n.layout(d);let r=n.computeMaxWidth(0);f=Math.max(f,r,n.footerContainer?.offsetWidth??0),n.layout(d,f),n.domNode.style.width=`${f}px`,e.submenuOptions&&(this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${f+10}px`),this._submenuDisposables.add(n.onDidRequestLayout(()=>{d=n.computeListHeight(),n.layout(d,f),this._layoutSubmenu?.()})),this._submenuDisposables.add(E(i,`keydown`,e=>{e.key===`Escape`?(ra.stop(e,!0),this._hideSubmenu(),this.hide()):e.key===`ArrowLeft`?(ra.stop(e,!0),this._hideSubmenu(),this._setKeyboardNavigation(!0),this._list.domFocus()):e.key===`Enter`||e.key===` `?(ra.stop(e,!0),n.acceptSelected()):e.key===`ArrowDown`?(ra.stop(e,!0),n.focusNext()):e.key===`ArrowUp`&&(ra.stop(e,!0),n.focusPrevious())}))}let m,h,ee=()=>{let e=this._currentSubmenuElement;if(!e||this._layoutSubmenu!==ee)return;let t=this._list.indexOf(e),r=t>=0?this._getRowElement(t):null,s=this._options?.persistentHover;if(!r&&(!s||!this._allMenuItems.includes(e))){this._hideSubmenu();return}this._expandedTrigger!==r&&(this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=r??void 0),r?.setAttribute(`aria-expanded`,`true`);let c=this.domNode.getBoundingClientRect(),l=s||e.hover?.alignToParent,te=l?this.domNode.parentElement?.closest(`.action-widget`)?.getBoundingClientRect()??c:c,ne=r?.getBoundingClientRect()??te,g=l||n?mr(this.domNode):1;s&&(this._submenuContainer.style.width=`${te.width/g}px`);let re=this._submenuContainer.getBoundingClientRect(),ie=l?re.width:f+10,ae=u.innerWidth-(l?te.right:ne.right),oe=te.left,se=l?0:4;if(!l){let e=u.innerWidth-8;ie>e&&(ie=Math.max(e,0)),this._submenuContainer.style.boxSizing=`border-box`,this._submenuContainer.style.width=`${ie}px`}let _=ae>=ie||ae>=oe;s&&this._submenuSide&&(this._submenuSide===`right`?ae:oe)>=ie&&(_=this._submenuSide===`right`),s&&(this._submenuSide=_?`right`:`left`);let ce=_?te.right-c.left+se:te.left-c.left-ie-se,le=c.left+ce;le<4?ce+=4-le:le+ie>u.innerWidth-4&&(ce-=le+ie-(u.innerWidth-4)),this._submenuContainer.style.left=`${ce/g}px`;let ue=re.height;n&&(m??=ue/g);let de=m===void 0?ue:m*g,fe=h===void 0?r&&e.hover?.alignToAnchorTop?ne.top-c.top:r?ne.top-c.top+(ne.height-de)/2:re.top-c.top:h*g;if(n&&e.hover?.alignToAnchorTop&&a&&p){let e=re.height-a.getBoundingClientRect().height+((p.headerContainer?.offsetHeight??0)+(p.filterContainer?.offsetHeight??0)+(p.footerContainer?.offsetHeight??0)+d)*g;fe=Math.min(fe,u.innerHeight-c.top-e-8)}let pe=c.top+fe+de;if(pe>u.innerHeight&&!(n&&e.hover?.alignToAnchorTop)&&(fe-=pe-u.innerHeight+8),c.top+fe<0&&(fe=-c.top),n&&(h??=fe/g),a&&o){let e=(re.height-o.getDomNode().getBoundingClientRect().height)/g,t=Math.max(0,(u.innerHeight-c.top-fe-8)/g-e);a.style.height=`${Math.min(i.getBoundingClientRect().height/g,t)}px`,o.scanDomNode()}else if(a&&p){let e=(re.height-a.getBoundingClientRect().height)/g,t=Math.max(0,(u.innerHeight-c.top-fe-8)/g-e),n=(p.headerContainer?.offsetHeight??0)+(p.filterContainer?.offsetHeight??0)+(p.footerContainer?.offsetHeight??0),r=d===0?0:Math.max(this._actionLineHeight,Math.min(d,t-n));p.layout(r,f),a.style.height=`${n+r}px`}this._submenuContainer.style.top=`${fe/g}px`};if(this._layoutSubmenu=ee,ee(),(this._options?.persistentHover||e.hover?.alignToParent||e.hover?.tabThroughPanel||n)&&this._currentSubmenuElement===e){if(!p){let e=this._submenuDisposables.add(new Un),t=this._submenuDisposables.add(new l(`ActionListWidget.hoverPanel`,()=>{e.value||=di(u,()=>{e.clear(),ee()})},u));this._submenuDisposables.add(t.observe(n?i:this._submenuContainer,{box:`border-box`}))}(this._options?.persistentHover||n)&&this._submenuDisposables.add(E(u,S.RESIZE,()=>{this._cancelSubmenuShow(),this._resetSubmenuPointer(),ee()}))}}_createSubmenuItems(e){let t=[],n=e.filter(e=>e instanceof Kr).filter(e=>e.actions.length>0);for(let e=0;e<n.length;e++){let r=n[e];r.label&&t.push({kind:`header`,group:{title:r.label},label:r.label});for(let e of r.actions){let n=e,r=n.icon??M.fromId(e.checked?X.check.id:X.blank.id),i=n.hoverContent,a=i?new Xn().appendText(`${e.label}\n`).appendMarkdown(i):void 0;t.push({item:e,kind:`action`,label:e.label,description:e.tooltip&&e.tooltip!==e.label?e.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:e.tooltip||e.label,onRemove:n.onRemove,submenuActions:e instanceof Kr?[new Kr(e.id,``,e.actions)]:void 0})}e<n.length-1&&t.push({kind:`separator`,label:``})}for(let n of e)if(!(n instanceof Kr)){let e=n,r=e.icon??M.fromId(n.checked?X.check.id:X.blank.id),i=e.hoverContent,a=i?new Xn().appendText(`${n.label}\n`).appendMarkdown(i):void 0;t.push({item:n,kind:`action`,label:n.label,description:n.tooltip&&n.tooltip!==n.label?n.tooltip:void 0,group:{title:``,icon:r},hideIcon:!1,hover:a?{content:a}:void 0,tooltip:n.tooltip||n.label,onRemove:e.onRemove})}return t}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._currentSubmenuElement=void 0,this._submenuSide=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display=`none`}_clearSubmenuContainer(){this._layoutSubmenu=void 0,this._resetSubmenuPointer(),this._submenuContainer.contains(Qn())&&this._list.domFocus(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._submenuHoverActionElements=[],this._submenuPanelClassName&&=(this._submenuContainer.classList.remove(this._submenuPanelClassName),void 0),this._submenuContainer.removeAttribute(`role`),this._submenuContainer.removeAttribute(`aria-label`),this._expandedTrigger?.hasAttribute(`aria-expanded`)&&this._expandedTrigger.setAttribute(`aria-expanded`,`false`),this._expandedTrigger=void 0,Ze(this._submenuContainer),this._submenuContainer.style.width=``,this._submenuContainer.style.boxSizing=this._options?.persistentHover?`border-box`:``}_scheduleSubmenuHide(){this._cancelSubmenuHide(),!this._options?.persistentHover&&(this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300))}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(e,t){this._cancelSubmenuShow();let n=this._options?.submenuHoverDelay??500;if(this._usesSubmenuPointerIntent()){n=0;let e=this._submenuPointerOrigin;if(e&&t.clientX!==e.x&&this._currentSubmenuElement&&new en(e.x,e.y,this._submenuContainer).contains(t.clientX,t.clientY)){let e=Date.now();this._submenuPointerGraceDeadline??=e+200,n=Math.max(0,this._submenuPointerGraceDeadline-e)}}let r=()=>{this._submenuShowTimeout=void 0;let n=this._list.indexOf(e),r=n>=0?this._getRowElement(n):null;r&&(this._showSubmenuForElement(e,r),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(t))};n===0?r():this._submenuShowTimeout=setTimeout(r,n)}_updateSubmenuPointer(e){this._submenuPointerOrigin={x:e.clientX,y:e.clientY},this._submenuPointerGraceDeadline=void 0}_resetSubmenuPointer(){this._submenuPointerOrigin=void 0,this._submenuPointerGraceDeadline=void 0}_usesSubmenuPointerIntent(){return this._options?.persistentHover===!0||this._options?.submenuPointerIntent===!0}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(e){this._setKeyboardNavigation(!1);let t=e.element;if(t&&t.item&&this.focusCondition(t)){let n=typeof e.index==`number`?[e.index]:[],r=Qn();if(this._options?.tabThroughItemActions&&this._list.getFocus()[0]!==e.index&&Do(r)&&this.domNode.contains(r)&&r.closest(`.action-list-item-toolbar`)&&this._list.domFocus(),Do(e.browserEvent.target)&&e.browserEvent.target.closest(`.action-list-item-toolbar`)!==null){t.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus(this._options?.tabThroughItemActions?n:[]);return}let i=!!(t.submenuActions?.length||t.hover?.content),a=this._suppressHover;(i||this._usesSubmenuPointerIntent())&&(this._suppressHover=!0);try{this._list.setFocus(n)}finally{this._suppressHover=a}if(i){this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._usesSubmenuPointerIntent()&&this._updateSubmenuPointer(e.browserEvent)):(this._usesSubmenuPointerIntent()||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent));return}if(this._currentSubmenuElement===t?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._options?.submenuPointerIntent?this._scheduleSubmenuHide():this._options?.persistentHover||this._hideSubmenu()),this._delegate.onHover&&!t.disabled&&t.kind===`action`&&this._currentSubmenuElement!==t){let n=await this._delegate.onHover(t.item,this.cts.token),r=n?n.canPreview:void 0;r!==t.canPreview&&(t.canPreview=r,typeof e.index==`number`&&(this._list.splice(e.index,1,[t]),this._list.setFocus([e.index])))}}else t&&t.hover?.content&&typeof e.index==`number`&&(this._currentSubmenuElement===t?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._options?.persistentHover||this._hideSubmenu(),this._scheduleSubmenuShow(t,e.browserEvent)))}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};Zc=Rc=Ic([Lc(6,Oa),Lc(7,ct),Lc(8,k)],Zc);var Qc=class extends j{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get closeAnimation(){return this._widget.closeAnimation}get widgetClassName(){return this._widgetClassName}get anchorPosition(){if(this._preferredAnchorPosition!==void 0)return this._preferredAnchorPosition;if(this._showAbove!==void 0)return+!!this._showAbove}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._contextViewService=s,this._layoutService=c,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=o,this._preferredAnchorPosition=a?.anchorPosition,this._useFullHeight=a?.useFullHeight??!1,this._widgetClassName=a?.widgetClassName,this._widget=this._register(l.createInstance(Zc,e,t,n,r,i,a)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(e,t=!0){this._widget.hide(e),t&&this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(e){this._widget.acceptSelected(e)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){let e=this.domNode.parentElement?.closest(`.action-widget`);if(!e)return 0;let t=yi(e).getComputedStyle(e),n=e=>Number.parseFloat(e)||0;return n(t.paddingTop)+n(t.paddingBottom)+n(t.borderTopWidth)+n(t.borderBottomWidth)}computeHeight(){let e=this._fixedContentHeight??this._widget.computeListHeight(),t=this._widget.filterContainer?36:0,n=this._widget.footerContainer?32:0,r=this._widget.headerContainer&&!this._widget.headerContainer.hidden?this._widget.headerContainer.offsetHeight||36:0,i=t+n+r,a=yi(this.domNode),o;if(this.hasDynamicHeight()||this._preferredAnchorPosition!==void 0){let e=a.innerHeight,t=Gt(this._anchor),n=t.top-a.pageYOffset,r=e-n-t.height-30,s=n;if(this._showAbove===void 0){let e=this._fixedContentHeight??this._widget.computeFullHeight();this._showAbove=this._preferredAnchorPosition===void 0?i+e>r&&s>r:this._preferredAnchorPosition===1}o=Math.max(0,(this._showAbove?s:r)-this.computeActionWidgetVerticalChromeHeight())}else{let e=this._layoutService.getContainer(a).clientHeight,t=this.domNode.getBoundingClientRect().top;o=t>0?e-t-10:e*.7}let s=this._useFullHeight?a.innerHeight:Math.floor(a.innerHeight*.6),c=this._widget.lineHeight;if(this._preferredAnchorPosition!==void 0){let t=Math.min(o,s),n=Math.min(e+i,Math.max(0,t));return Math.max(0,n-i)}let l=Math.min(Math.max(o,c*3+i),s);return Math.min(e+i,l)-i}layout(e,t){this._hasLaidOut=!0,this._lastMinWidth=e,t!==void 0&&(this._fixedContentHeight=t);let n=this.computeHeight();this._widget.layout(n);let r=this._widget.computeMaxWidth(e);return this._cachedMaxWidth=r,this._widget.layout(n,this._cachedMaxWidth),this._cachedMaxWidth}};Qc=Ic([Lc(7,_o),Lc(8,Lt),Lc(9,k)],Qc);function $c(e){return e.replace(/\r\n|\r|\n/g,` `)}var el=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tl=function(e,t){return function(n,r){t(n,r,e)}};T(`actionBar.toggledBackground`,fi,K(1744,`Background color for toggled action items in action bar.`));var nl=`--action-widget-close-start-opacity`,rl=`--action-widget-close-start-transform`,il={Visible:new W(`codeActionMenuVisible`,!1,K(1745,`Whether the action widget list is visible`)),FilterFocused:new W(`codeActionMenuFilterFocused`,!1,K(1746,`Whether the action widget filter input is focused`))},al=Ee(`actionWidgetService`),ol=class extends j{get isVisible(){return il.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,n){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=n,this._list=this._register(new Un),this._closeAnimation=this._register(new Un)}show(e,t,n,r,i,a,o,s,c){let l=il.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(Qc,e,t,n,r,s,c,i);this._contextViewService.showContextView({getAnchor:()=>i,render:e=>(l.set(!0),this._renderWidget(e,u,o??[],c)),onHide:e=>{l.reset(),this._onWidgetClosed(e)},get anchorPosition(){return u.anchorPosition},focus:()=>u.focus()},a,!1)}acceptSelected(e){this._list.value?.acceptSelected(e)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(e){let t=this._list.value,n=this._widgetElement;if(!t||this._closingList===t)return;let r=t.closeAnimation;if(!n||!r||r.duration<=0||!this._hasRequiredAncestorClasses(n,r.requiredAncestorClasses)){this._closingList=t,t.hide(e);return}this._closingList=t;let i=yi(n).getComputedStyle(n);n.style.setProperty(nl,i.opacity),n.style.setProperty(rl,i.transform),n.classList.add(r.className),t.hide(e,!1),this._closeAnimation.value=Ot(()=>{this._list.value===t&&this._contextViewService.hideContextView(e)},r.duration)}clear(){this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement?.style.removeProperty(nl),this._widgetElement?.style.removeProperty(rl),this._widgetElement=void 0,this._list.clear()}_renderWidget(e,t,n,r){let i=document.createElement(`div`);i.classList.add(`action-widget`);let a=t.widgetClassName?.split(/\s+/).filter(Boolean);if(a?.length&&i.classList.add(...a),e.appendChild(i),this._widgetElement=i,this._list.value=t,this._list.value)this._list.value.headerContainer&&i.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&i.appendChild(this._list.value.filterContainer),i.appendChild(this._list.value.domNode),this._list.value.footerContainer&&i.appendChild(this._list.value.footerContainer);else throw Error(`List has no value`);let o=new v;r?.filterAsCombobox&&o.add(ne(i,`keydown`,e=>{e.keyCode===9&&!e.browserEvent.isComposing&&(ra.stop(e,!0),this.hide(!0))}));let s=this._list.value.headerContainer;s&&o.add(it(s,e=>e.preventDefault()));let c=0;o.add(it(i,()=>{c=Date.now()+1e3}));let l=document.createElement(`div`),u=e.appendChild(l);u.classList.add(`context-view-block`),o.add(it(u,e=>e.stopPropagation()));let d=0;if(n.length){let e=this._createActionBar(`.action-widget-action-bar`,n);e&&(i.appendChild(e.getContainer().parentElement),o.add(e),d=e.getContainer().offsetWidth)}let f=this._list.value?.layout(d);i.style.width=`${f}px`;let p=il.FilterFocused.bindTo(this._contextKeyService);if(o.add({dispose:()=>p.reset()}),this._list.value?.filterInput){let e=this._list.value.filterInput;o.add(E(e,`focus`,()=>p.set(!0))),o.add(E(e,`blur`,()=>p.set(!1)))}let m=o.add(Wi(e)),h=o.add(new Un);return o.add(m.onDidFocus(()=>h.clear())),o.add(m.onDidBlur(()=>{let t=()=>{let n=c-Date.now();if(n>0){h.value=Ot(t,n);return}let r=Qn();r&&(e.contains(r)||r.closest(`.action-widget-hover`)||r.closest(`.action-list-submenu-panel`))||this.hide(!0)};h.value=Ot(t,75)})),o}_createActionBar(e,t){if(!t.length)return;let n=C(e),r=new Va(n);return r.push(t,{icon:!1,label:!0}),r}_hasRequiredAncestorClasses(e,t){if(!t?.length)return!0;for(let n=e;n;n=n.parentElement)if(t.every(e=>n.classList.contains(e)))return!0;return!1}_onWidgetClosed(e){this._closingList===this._list.value?this.clear():(this._closeAnimation.clear(),this._closingList=void 0,this._widgetElement=void 0,this._list.value?.hide(e))}};ol=el([tl(0,_o),tl(1,G),tl(2,k)],ol),ye(al,ol,1);var sl=1100;Vo(class extends ho{constructor(){super({id:`hideCodeActionWidget`,title:z(1747,`Hide action widget`),precondition:il.Visible,keybinding:{weight:sl,primary:9,secondary:[1033]}})}run(e){e.get(al).hide(!0)}}),Vo(class extends ho{constructor(){super({id:`clearFilterCodeActionWidget`,title:z(1748,`Clear action widget filter`),precondition:L.and(il.Visible,il.FilterFocused),keybinding:{weight:1101,primary:9}})}run(e){let t=e.get(al);t instanceof ol&&(t.clearFilter()||t.hide(!0))}}),Vo(class extends ho{constructor(){super({id:`selectPrevCodeAction`,title:z(1749,`Select previous action`),precondition:il.Visible,keybinding:{weight:sl,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(e){let t=e.get(al);t instanceof ol&&t.focusPrevious()}}),Vo(class extends ho{constructor(){super({id:`selectNextCodeAction`,title:z(1750,`Select next action`),precondition:il.Visible,keybinding:{weight:sl,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(e){let t=e.get(al);t instanceof ol&&t.focusNext()}}),Vo(class extends ho{constructor(){super({id:`collapseSectionCodeAction`,title:z(1751,`Collapse section`),precondition:L.and(il.Visible,il.FilterFocused.negate()),keybinding:{weight:sl,primary:15}})}run(e){let t=e.get(al);t instanceof ol&&t.collapseSection()}}),Vo(class extends ho{constructor(){super({id:`expandSectionCodeAction`,title:z(1752,`Expand section`),precondition:L.and(il.Visible,il.FilterFocused.negate()),keybinding:{weight:sl,primary:17}})}run(e){let t=e.get(al);t instanceof ol&&t.expandSection()}}),Vo(class extends ho{constructor(){super({id:`toggleSectionCodeAction`,title:z(1753,`Toggle section`),precondition:L.and(il.Visible,il.FilterFocused.negate()),keybinding:{weight:sl,primary:10}})}run(e){let t=e.get(al);t instanceof ol&&(t.toggleSection()||t.acceptSelected())}}),Vo(class extends ho{constructor(){super({id:zc,title:z(1754,`Accept selected action`),precondition:il.Visible,keybinding:{weight:sl,primary:3,secondary:[2137]}})}run(e){let t=e.get(al);t instanceof ol&&t.acceptSelected()}}),Vo(class extends ho{constructor(){super({id:Bc,title:z(1755,`Preview selected action`),precondition:il.Visible,keybinding:{weight:sl,primary:2051}})}run(e){let t=e.get(al);t instanceof ol&&t.acceptSelected(!0)}});var cl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ll=function(e,t){return function(n,r){t(n,r,e)}},ul,dl=class extends j{static{ul=this}static{this.baseId=`editor.widget.postEditWidget`}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=i,this.edits=a,this.onSelectNewEdit=o,this.additionalActions=s,this._keybindingService=l,this._actionWidgetService=u,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=n.bindTo(c),this.visibleContext.set(!0),this._register(fo(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(fo((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(e=>{this.dispose()})),this._register(At.runAndSubscribe(l.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=C(`.post-edit-widget`),this.button=this._register(new fs(this.domNode,{supportIcons:!0})),this.button.label=`$(insert)`,this._register(E(this.domNode,S.CLICK,()=>this.showSelector()))}getId(){return ul.baseId+`.`+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){let e=ut(this.button.element),t={x:e.left+e.width,y:e.top+e.height};this._actionWidgetService.show(`postEditWidget`,!1,this.edits.allEdits.map((e,t)=>({kind:`action`,item:e,label:e.title,disabled:!1,canPreview:!1,group:{title:``,icon:M.fromId(t===this.edits.activeEditIndex?X.check.id:X.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:e=>{this._actionWidgetService.hide(!1);let t=this.edits.allEdits.findIndex(t=>t===e);if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}},t,this.editor.getDomNode()??void 0,this.additionalActions)}};dl=ul=cl([ll(8,G),ll(9,Oa),ll(10,al)],dl);var fl=class extends j{constructor(e,t,n,r,i,a,o,s){super(),this._id=e,this._editor=t,this._visibleContext=n,this._showCommand=r,this._getAdditionalActions=i,this._instantiationService=a,this._bulkEditService=o,this._notificationService=s,this._currentWidget=this._register(new Un),this._register(At.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,n,r,i){if(!e.length||!this._editor.hasModel())return;let a=this._editor.getModel(),o=t.allEdits.at(t.activeEditIndex);if(!o)return;let s=async a=>{let o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:a,allEdits:t.allEdits},n,r,i))},c=(r,i)=>{Xo(r)||(this._notificationService.error(i),n&&this.show(e[0],t,s))},l=new Ha(this._editor,3,void 0,i),u;try{u=await ie(r(o,l.token),l.token)}catch(e){return c(e,K(991,`Error resolving edit '{0}':
|
|
3
|
+
{1}`,o.title,jc(e)))}finally{l.dispose()}if(i.isCancellationRequested)return;let d=Ec(a.uri,e,u),f=e[0],p=a.deltaDecorations([],[{range:f,options:{description:`paste-line-suffix`,stickiness:0}}]);this._editor.focus();let m,h;try{m=await this._bulkEditService.apply(d,{editor:this._editor,token:i}),h=a.getDecorationRange(p[0])}catch(e){return c(e,K(992,`Error applying edit '{0}':
|
|
4
|
+
{1}`,o.title,jc(e)))}finally{a.deltaDecorations(p,[])}i.isCancellationRequested||n&&m.isApplied&&t.allEdits.length>1&&this.show(h??f,t,s)}show(e,t,n){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(dl,this._id,this._editor,this._visibleContext,this._showCommand,e,t,n,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};fl=cl([ll(5,k),ll(6,rs),ll(7,Ui)],fl);var pl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ml=function(e,t){return function(n,r){t(n,r,e)}},hl,gl=`editor.changePasteType`,_l=`editor.pasteAs.preferences`,vl=new W(`pasteWidgetVisible`,!1,K(971,`Whether the paste widget is showing`)),yl=`application/vnd.code.copymetadata`,bl=class extends j{static{hl=this}static{this.ID=`editor.contrib.copyPasteActionController`}static get(e){return e.getContribution(hl.ID)}constructor(e,t,n,r,i,a,o,s,c,l){super(),this._logService=n,this._bulkEditService=r,this._clipboardService=i,this._commandService=a,this._configService=o,this._languageFeaturesService=s,this._quickInputService=c,this._progressService=l,this._editor=e,this._register(e.onWillCopy(e=>this.handleCopy(e))),this._register(e.onWillCut(e=>this.handleCopy(e))),this._register(e.onWillPaste(e=>this.handlePaste(e))),this._pasteProgressManager=this._register(new Xs(`pasteIntoEditor`,e,t)),this._postPasteWidgetManager=this._register(t.createInstance(fl,`pasteIntoEditor`,e,vl,{id:gl,label:K(972,`Show paste options...`)},()=>hl._configureDefaultAction?[hl._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(e){this._logService.trace(`CopyPasteController.pasteAs`),this._editor.focus();try{this._logService.trace(`Before calling editor.action.clipboardPasteAction`),this._pasteAsActionContext={preferred:e},await this._commandService.executeCommand(`editor.action.clipboardPasteAction`)}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){if(this._logService.trace(`CopyPasteController#handleCopy`),!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled()))return;let t=this._editor.getModel(),n=this._editor._getViewModel(),i=this._editor.getSelections();if(!t||!n||!i?.length)return;let a={multicursorText:e.dataToCopy.multicursorText??null,pasteOnNewLine:e.dataToCopy.isFromEmptySelection,mode:null},o=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(e=>!!e.prepareDocumentPaste);if(!o.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:a});return}let s=new gr,c=o.flatMap(e=>e.copyMimeTypes??[]),l=r();this.setCopyMetadata(e.clipboardData,{id:l,providerCopyMimeTypes:c,defaultPastePayload:a});let u=o.map(n=>({providerMimeTypes:n.copyMimeTypes,operation:ot(r=>n.prepareDocumentPaste(t,e.dataToCopy.sourceRanges,s,r).catch(e=>{console.error(e)}))}));hl._currentCopyOperation?.operations.forEach(e=>e.operation.cancel()),hl._currentCopyOperation={handle:l,operations:u}}async handlePaste(e){if(this._logService.trace(`CopyPasteController#handlePaste for id : `,e.metadata?.id),!this._editor.hasTextFocus())return;let t=e.toExternalVSDataTransfer();if(!t)return;t.delete(yl),ec.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;let n=this._editor.getModel(),r=this._editor.getSelections();if(!r?.length||!n||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;let i=this.fetchCopyMetadata(e);this._logService.trace(`CopyPasteController#handlePaste with metadata : `,i?.id,` and text.length : `,e.clipboardData.getData(`text/plain`).length);let a=Array.from(e.clipboardData.files).map(e=>e.type),o=[...e.clipboardData.types,...a,...i?.providerCopyMimeTypes??[],Oe.uriList],s=this._languageFeaturesService.documentPasteEditProvider.ordered(n).filter(e=>{let t=this._pasteAsActionContext?.preferred;return t&&!this.providerMatchesPreference(e,t)?!1:e.pasteMimeTypes?.some(e=>wr(e,o))});s.length?(e.setHandled(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,s,r,t,i):this.doPasteInline(s,r,t,i,e.browserEvent)):this._pasteAsActionContext?.preferred&&(this.showPasteAsNoEditMessage(r,this._pasteAsActionContext.preferred),e.setHandled())}showPasteAsNoEditMessage(e,t){let n=`only`in t?t.only.value:`preferences`in t?t.preferences.length?t.preferences.map(e=>e.value).join(`, `):K(973,`empty`):t.providerId;ec.get(this._editor)?.showMessage(K(974,`No paste edits for '{0}' found`,n),e[0].getStartPosition())}doPasteInline(e,t,n,r,i){this._logService.trace(`CopyPasteController#doPasteInline`);let a=this._editor;if(!a.hasModel())return;let o=new Ha(a,3,void 0),s=ot(async a=>{let c=this._editor;if(!c.hasModel())return;let l=c.getModel(),u=new v,d=u.add(new ha(a));u.add(o.token.onCancellationRequested(()=>d.cancel()));let f=d.token;try{if(await this.mergeInDataFromCopy(e,n,r,f),f.isCancellationRequested)return;let a=e.filter(e=>this.isSupportedPasteProvider(e,n));if(!a.length||a.length===1&&a[0]instanceof oc)return this.applyDefaultPasteHandler(n,r,f,i);let o={triggerKind:Ko.Automatic},s=await this.getPasteEdits(a,n,l,t,o,f);if(u.add(s),f.isCancellationRequested)return;if(s.edits.length===1&&s.edits[0].provider instanceof oc)return this.applyDefaultPasteHandler(n,r,f,i);if(s.edits.length){let e=c.getOption(97).showPasteSelector===`afterPaste`;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:this.getInitialActiveEditIndex(l,s.edits),allEdits:s.edits},e,async(e,n)=>{if(!e.provider.resolveDocumentPasteEdit)return e;let r=e.provider.resolveDocumentPasteEdit(e,n),i=new oa,a=await this._pasteProgressManager.showWhile(t[0].getEndPosition(),K(975,`Resolving paste edit for '{0}'. Click to cancel`,e.title),js(Promise.race([i.p,r]),n),{cancel:()=>i.cancel()},0);return a&&(e.insertText=a.insertText,e.additionalEdit=a.additionalEdit),e},f)}await this.applyDefaultPasteHandler(n,r,f,i)}finally{u.dispose(),this._currentPasteOperation===s&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),K(976,`Running paste handlers. Click to cancel and do basic paste`),s,{cancel:async()=>{s.cancel(),!o.token.isCancellationRequested&&await this.applyDefaultPasteHandler(n,r,o.token,i)}}).finally(()=>{o.dispose()}),this._currentPasteOperation=s}showPasteAsPick(e,t,n,r,i){this._logService.trace(`CopyPasteController#showPasteAsPick`);let a=ot(async o=>{let s=this._editor;if(!s.hasModel())return;let c=s.getModel(),l=new v,u=l.add(new Ha(s,3,void 0,o));try{if(await this.mergeInDataFromCopy(t,r,i,u.token),u.token.isCancellationRequested)return;let a=t.filter(t=>this.isSupportedPasteProvider(t,r,e));e&&(a=a.filter(t=>this.providerMatchesPreference(t,e)));let o={triggerKind:Ko.PasteAs,only:e&&`only`in e?e.only:void 0},s=l.add(await this.getPasteEdits(a,r,c,n,o,u.token));if(u.token.isCancellationRequested)return;if(e&&(s={edits:s.edits.filter(t=>`only`in e?e.only.contains(t.kind):`preferences`in e?e.preferences.some(e=>e.contains(t.kind)):e.providerId===t.provider.id),dispose:s.dispose}),!s.edits.length){e&&this.showPasteAsNoEditMessage(n,e);return}let d;if(e)d=s.edits.at(0);else{let e={id:`editor.pasteAs.default`,label:K(977,`Configure default paste action`),edit:void 0},t=await this._quickInputService.pick([...s.edits.map(e=>({label:e.title,description:e.kind?.value,edit:e})),...hl._configureDefaultAction?[Ea({type:`separator`}),{label:hl._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:K(978,`Select Paste Action`)});if(t===e){hl._configureDefaultAction?.run();return}d=t?.edit}if(!d)return;let f=Ec(c.uri,n,d);await this._bulkEditService.apply(f,{editor:this._editor})}finally{l.dispose(),this._currentPasteOperation===a&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:K(979,`Running paste handlers`)},()=>a)}setCopyMetadata(e,t){this._logService.trace(`CopyPasteController#setCopyMetadata new id : `,t.id),e.setData(yl,JSON.stringify(t))}fetchCopyMetadata(e){this._logService.trace(`CopyPasteController#fetchCopyMetadata`);let t=e.clipboardData.getData(yl);if(t)try{return JSON.parse(t)}catch{return}if(e.metadata)return{defaultPastePayload:{mode:e.metadata.mode,multicursorText:e.metadata.multicursorText??null,pasteOnNewLine:!!e.metadata.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,n,r){if(this._logService.trace(`CopyPasteController#mergeInDataFromCopy with metadata : `,n?.id),n?.id&&hl._currentCopyOperation?.handle===n.id){let n=hl._currentCopyOperation.operations.filter(t=>e.some(e=>e.pasteMimeTypes.some(e=>wr(e,t.providerMimeTypes)))).map(e=>e.operation),i=await Promise.all(n);if(r.isCancellationRequested)return;for(let e of i.reverse())if(e)for(let[n,r]of e)t.replace(n,r)}if(!t.has(Oe.uriList)){let e=await this._clipboardService.readResources();if(r.isCancellationRequested)return;e.length&&t.append(Oe.uriList,cr(ft.create(e)))}}async getPasteEdits(e,t,n,r,i,a){let o=new v,s=await js(Promise.all(e.map(async e=>{try{let s=await e.provideDocumentPasteEdits?.(n,r,t,i,a);return s&&o.add(s),s?.edits?.map(t=>({...t,provider:e}))}catch(e){Xo(e)||console.error(e);return}})),a);return{edits:Dc(as(s??[]).flat().filter(e=>!i.only||i.only.contains(e.kind))),dispose:()=>o.dispose()}}async applyDefaultPasteHandler(e,t,n,r){let i=await(e.get(Oe.text)??e.get(`text`))?.asString()??``;if(n.isCancellationRequested)return;let a={clipboardEvent:r,text:i,pasteOnNewLine:t?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:t?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace(`CopyPasteController#applyDefaultPasteHandler for id : `,t?.id),this._editor.trigger(`keyboard`,`paste`,a)}isSupportedPasteProvider(e,t,n){return e.pasteMimeTypes?.some(e=>t.matches(e))?!n||this.providerMatchesPreference(e,n):!1}providerMatchesPreference(e,t){return`only`in t?e.providedPasteEditKinds.some(e=>t.only.contains(e)):`preferences`in t?e.providedPasteEditKinds.some(e=>t.preferences.some(t=>t.contains(e))):e.id===t.providerId}getInitialActiveEditIndex(e,t){let n=this._configService.getValue(_l,{resource:e.uri});for(let e of Array.isArray(n)?n:[]){let n=new Gs(e),r=t.findIndex(e=>n.contains(e.kind));if(r>=0)return r}return 0}};bl=hl=pl([ml(1,k),ml(2,Qe),ml(3,rs),ml(4,On),ml(5,Mi),ml(6,fa),ml(7,q),ml(8,ee),ml(9,$t)],bl);var xl=`9_cutcopypaste`,Sl=o||document.queryCommandSupported&&document.queryCommandSupported(`cut`),Cl=o||document.queryCommandSupported&&document.queryCommandSupported(`copy`),wl=navigator.clipboard===void 0||et?document.queryCommandSupported&&document.queryCommandSupported(`paste`):!0;function Tl(e){return e.register(),e}var El=Sl?Tl(new tn({id:`editor.action.clipboardCutAction`,precondition:void 0,kbOpts:o?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:N.MenubarEditMenu,group:`2_ccp`,title:K(864,`Cu&&t`),order:1},{menuId:N.EditorContext,group:xl,title:K(865,`Cut`),when:H.writable,order:1},{menuId:N.CommandPalette,group:``,title:K(866,`Cut`),order:1},{menuId:N.SimpleEditorContext,group:xl,title:K(867,`Cut`),when:H.writable,order:1}]})):void 0,Dl=Cl?Tl(new tn({id:`editor.action.clipboardCopyAction`,precondition:void 0,kbOpts:o?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:N.MenubarEditMenu,group:`2_ccp`,title:K(868,`&&Copy`),order:2},{menuId:N.EditorContext,group:xl,title:K(869,`Copy`),order:2},{menuId:N.CommandPalette,group:``,title:K(870,`Copy`),order:1},{menuId:N.SimpleEditorContext,group:xl,title:K(871,`Copy`),order:2}]})):void 0;Co.appendMenuItem(N.MenubarEditMenu,{submenu:N.MenubarCopy,title:z(876,`Copy As`),group:`2_ccp`,order:3}),Co.appendMenuItem(N.EditorContext,{submenu:N.EditorContextCopy,title:z(877,`Copy As`),group:xl,order:3}),Co.appendMenuItem(N.EditorContext,{submenu:N.EditorContextShare,title:z(878,`Share`),group:`11_share`,order:-1,when:L.and(L.notEquals(`resourceScheme`,`output`),H.editorTextFocus)}),Co.appendMenuItem(N.ExplorerContext,{submenu:N.ExplorerContextShare,title:z(879,`Share`),group:`11_share`,order:-1});var Ol=wl?Tl(new tn({id:`editor.action.clipboardPasteAction`,precondition:void 0,kbOpts:o?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:N.MenubarEditMenu,group:`2_ccp`,title:K(872,`&&Paste`),order:4},{menuId:N.EditorContext,group:xl,title:K(873,`Paste`),when:H.writable,order:4},{menuId:N.CommandPalette,group:``,title:K(874,`Paste`),order:1},{menuId:N.SimpleEditorContext,group:xl,title:K(875,`Paste`),when:H.writable,order:4}]})):void 0,kl=class extends B{constructor(){super({id:`editor.action.clipboardCopyWithSyntaxHighlightingAction`,label:z(880,`Copy with Syntax Highlighting`),precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:0,weight:100}})}run(e,t){let n=e.get(Qe),r=e.get(On);n.trace(`ExecCommandCopyWithSyntaxHighlightingAction#run`),t.hasModel()&&(t.getOption(45)||!t.getSelection().isEmpty())&&(Ge.forceCopyWithSyntaxHighlighting=!0,t.focus(),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)`),Al(t,r),n.trace(`ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)`),Ge.forceCopyWithSyntaxHighlighting=!1)}};function Al(e,t){if(Ge.electronBugWorkaroundCopyEventHasFired=!1,e.getContainerDomNode().ownerDocument.execCommand(`copy`),o&&Ge.electronBugWorkaroundCopyEventHasFired===!1){let{dataToCopy:n}=co(e._getViewModel(),void 0,et);t.writeText(n.text)}}function jl(e,t){e&&(e.addImplementation(1e4,`code-editor`,(e,n)=>{let r=e.get(Qe),i=e.get(On);r.trace(`registerExecCommandImpl (addImplementation code-editor for : `,t,`)`);let a=e.get(is).getFocusedCodeEditor();if(a&&a.hasTextFocus()&&a.hasModel()){let e=a.getOption(45),n=a.getSelection();return n&&n.isEmpty()&&!e||(a.getOption(171)&&t===`cut`?(Ml(a),r.trace(`registerExecCommandImpl (before execCommand copy)`),Al(a,i),a.trigger(void 0,`cut`,void 0),r.trace(`registerExecCommandImpl (after execCommand copy)`)):(Ml(a),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),t===`copy`?Al(a,i):a.getContainerDomNode().ownerDocument.execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`))),!0}return!1}),e.addImplementation(0,`generic-dom`,(e,n)=>{let r=e.get(Qe);return r.trace(`registerExecCommandImpl (addImplementation generic-dom for : `,t,`)`),r.trace(`registerExecCommandImpl (before execCommand `+t+`)`),Rn().execCommand(t),r.trace(`registerExecCommandImpl (after execCommand `+t+`)`),!0}))}function Ml(e){if(e.getOption(171)){let t=eo.get(e.getId());t&&t.handleWillCopy()}}jl(El,`cut`),jl(Dl,`copy`),Ol&&(Ol.addImplementation(1e4,`code-editor`,(e,t)=>{let n=e.get(Qe);n.trace(`registerExecCommandImpl (addImplementation code-editor for : paste)`);let r=e.get(is),i=e.get(On),a=r.getFocusedCodeEditor();if(a&&a.hasModel()&&a.hasTextFocus()){if(a.getOption(171)){let e=eo.get(a.getId());e&&e.handleWillPaste()}n.trace(`registerExecCommandImpl (before triggerPaste)`);let e=i.triggerPaste(Ue().vscodeWindowId);return e?(n.trace(`registerExecCommandImpl (triggerPaste defined)`),e.then(async()=>(n.trace(`registerExecCommandImpl (after triggerPaste)`),bl.get(a)?.finishedPaste()??Promise.resolve()))):(n.trace(`registerExecCommandImpl (triggerPaste undefined)`),!gi||(n.trace(`registerExecCommandImpl (Paste handling on web)`),(async()=>{let e=await i.readText();if(e!==``){let t=bt.INSTANCE.get(e),r=!1,i=null,o=null;t&&(r=a.getOption(45)&&!!t.isFromEmptySelection,i=t.multicursorText===void 0?null:t.multicursorText,o=t.mode),n.trace(`registerExecCommandImpl (clipboardText.length : `,e.length,` id : `,t?.id,`)`),a.trigger(`keyboard`,`paste`,{text:e,pasteOnNewLine:r,multicursorText:i,mode:o})}})()))}return!1}),Ol.addImplementation(0,`generic-dom`,(e,t)=>(e.get(Qe).trace(`registerExecCommandImpl (addImplementation generic-dom for : paste)`),e.get(On).triggerPaste(Ue().vscodeWindowId)??!1))),Cl&&y(kl);var Nl=class e{constructor(e,t,n){this.languageConfigurationService=n,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,n){if(n<0)return!1;let r=t.length,i=e.length;if(n+r>i)return!1;for(let i=0;i<r;i++){let r=e.charCodeAt(n+i),a=t.charCodeAt(i);if(r!==a&&!(r>=65&&r<=90&&r+32===a)&&!(a>=65&&a<=90&&a+32===r))return!1}return!0}_createOperationsForBlockComment(t,n,r,i,a,o){let s=t.startLineNumber,c=t.startColumn,l=t.endLineNumber,u=t.endColumn,d=a.getLineContent(s),f=a.getLineContent(l),p=d.lastIndexOf(n,c-1+n.length),m=f.indexOf(r,u-1-r.length);if(p!==-1&&m!==-1){if(s===l)d.substring(p+n.length,m).indexOf(r)>=0&&(p=-1,m=-1);else{let e=d.substring(p+n.length),t=f.substring(0,m);(e.indexOf(r)>=0||t.indexOf(r)>=0)&&(p=-1,m=-1)}}let h;p!==-1&&m!==-1?(i&&p+n.length<d.length&&d.charCodeAt(p+n.length)===32&&(n+=` `),i&&m>0&&f.charCodeAt(m-1)===32&&(r=` `+r,--m),h=e._createRemoveBlockCommentOperations(new J(s,p+n.length+1,l,m+1),n,r)):(h=e._createAddBlockCommentOperations(t,n,r,this._insertSpace),this._usedEndToken=h.length===1?r:null);for(let e of h)o.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,n){let r=[];return J.isEmpty(e)?r.push(_.delete(new J(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+n.length))):(r.push(_.delete(new J(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(_.delete(new J(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+n.length)))),r}static _createAddBlockCommentOperations(e,t,n,r){let i=[];return J.isEmpty(e)?i.push(_.replace(new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+` `+n)):(i.push(_.insert(new O(e.startLineNumber,e.startColumn),t+(r?` `:``))),i.push(_.insert(new O(e.endLineNumber,e.endColumn),(r?` `:``)+n))),i}getEditOperations(e,t){let n=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(n);let i=e.getLanguageIdAtPosition(n,r),a=this.languageConfigurationService.getLanguageConfiguration(i).comments;a&&a.blockCommentStartToken&&a.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,a.blockCommentStartToken,a.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){let n=t.getInverseEditOperations();if(n.length===2){let e=n[0],t=n[1];return new P(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{let e=n[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new P(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}},Pl=class e{constructor(e,t,n,r,i,a,o){this.languageConfigurationService=e,this._selection=t,this._indentSize=n,this._type=r,this._insertSpace=i,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=a,this._ignoreFirstLine=o||!1}static _gatherPreflightCommentStrings(e,t,n,r){e.tokenization.tokenizeIfCheap(t);let i=e.getLanguageIdAtPosition(t,1),a=r.getLanguageConfiguration(i).comments,o=a?a.lineCommentToken:null;if(!o)return null;let s=[];for(let e=0,r=n-t+1;e<r;e++)s[e]={ignore:!1,commentStr:o,commentStrOffset:0,commentStrLength:o.length};return s}static _analyzeLines(e,t,n,r,i,a,o,s,c){let l=!0,u=s.getLanguageConfiguration(c).comments?.lineCommentNoIndent??!1,d;d=e===0||e!==1;for(let s=0,c=r.length;s<c;s++){let c=r[s],f=i+s;if(f===i&&o){c.ignore=!0;continue}let p=n.getLineContent(f),m=_r(p);if(m===-1){c.ignore=a,c.commentStrOffset=u?0:p.length;continue}l=!1;let h=u?0:m;if(c.ignore=!1,c.commentStrOffset=h,d&&!Nl._haystackHasNeedleAtOffset(p,c.commentStr,h)&&(e===0?d=!1:e===1||(c.ignore=!0)),d&&t){let e=m+c.commentStrLength;e<p.length&&p.charCodeAt(e)===32&&(c.commentStrLength+=1)}}if(e===0&&l){d=!1;for(let e=0,t=r.length;e<t;e++)r[e].ignore=!1}return{supported:!0,shouldRemoveComments:d,lines:r}}static _gatherPreflightData(t,n,r,i,a,o,s,c){let l=e._gatherPreflightCommentStrings(r,i,a,c),u=r.getLanguageIdAtPosition(i,1);return l===null?{supported:!1}:e._analyzeLines(t,n,r,l,i,o,s,c,u)}_executeLineComments(t,n,r,i){let a;r.shouldRemoveComments?a=e._createRemoveLineCommentsOperations(r.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,r.lines,i.startLineNumber,this._indentSize),a=this._createAddLineCommentsOperations(r.lines,i.startLineNumber));let o=new O(i.positionLineNumber,i.positionColumn);for(let e=0,r=a.length;e<r;e++)n.addEditOperation(a[e].range,a[e].text),J.isEmpty(a[e].range)&&J.getStartPosition(a[e].range).equals(o)&&t.getLineContent(o.lineNumber).length+1===o.column&&(this._deltaColumn=(a[e].text||``).length);this._selectionId=n.trackSelection(i)}_attemptRemoveBlockComment(e,t,n,r){let i=t.startLineNumber,a=t.endLineNumber,o=r.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),s=e.getLineContent(i).lastIndexOf(n,o-1),c=e.getLineContent(a).indexOf(r,t.endColumn-1-n.length);return s!==-1&&c===-1&&(c=e.getLineContent(i).indexOf(r,s+n.length),a=i),s===-1&&c!==-1&&(s=e.getLineContent(a).lastIndexOf(n,c),i=a),t.isEmpty()&&(s===-1||c===-1)&&(s=e.getLineContent(i).indexOf(n),s!==-1&&(c=e.getLineContent(i).indexOf(r,s+n.length))),s!==-1&&e.getLineContent(i).charCodeAt(s+n.length)===32&&(n+=` `),c!==-1&&e.getLineContent(a).charCodeAt(c-1)===32&&(r=` `+r,--c),s!==-1&&c!==-1?Nl._createRemoveBlockCommentOperations(new J(i,s+n.length+1,a,c+1),n,r):null}_executeBlockComment(e,t,n){e.tokenization.tokenizeIfCheap(n.startLineNumber);let r=e.getLanguageIdAtPosition(n.startLineNumber,1),i=this.languageConfigurationService.getLanguageConfiguration(r).comments;if(!i||!i.blockCommentStartToken||!i.blockCommentEndToken)return;let a=i.blockCommentStartToken,o=i.blockCommentEndToken,s=this._attemptRemoveBlockComment(e,n,a,o);if(!s){if(n.isEmpty()){let t=e.getLineContent(n.startLineNumber),r=_r(t);r===-1&&(r=t.length),s=Nl._createAddBlockCommentOperations(new J(n.startLineNumber,r+1,n.startLineNumber,t.length+1),a,o,this._insertSpace)}else s=Nl._createAddBlockCommentOperations(new J(n.startLineNumber,e.getLineFirstNonWhitespaceColumn(n.startLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),a,o,this._insertSpace);s.length===1&&(this._deltaColumn=a.length+1)}this._selectionId=t.trackSelection(n);for(let e of s)t.addEditOperation(e.range,e.text)}getEditOperations(t,n){let r=this._selection;if(this._moveEndPositionDown=!1,r.startLineNumber===r.endLineNumber&&this._ignoreFirstLine){n.addEditOperation(new J(r.startLineNumber,t.getLineMaxColumn(r.startLineNumber),r.startLineNumber+1,1),r.startLineNumber===t.getLineCount()?``:`
|
|
5
|
+
`),this._selectionId=n.trackSelection(r);return}r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,t.getLineMaxColumn(r.endLineNumber-1)));let i=e._gatherPreflightData(this._type,this._insertSpace,t,r.startLineNumber,r.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return i.supported?this._executeLineComments(t,n,i,r):this._executeBlockComment(t,n,r)}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),new P(n.selectionStartLineNumber,n.selectionStartColumn+this._deltaColumn,n.positionLineNumber,n.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];i.ignore||n.push(_.delete(new J(t+r,i.commentStrOffset+1,t+r,i.commentStrOffset+i.commentStrLength+1)))}return n}_createAddLineCommentsOperations(e,t){let n=[],r=this._insertSpace?` `:``;for(let i=0,a=e.length;i<a;i++){let a=e[i];a.ignore||n.push(_.insert(new O(t+i,a.commentStrOffset+1),a.commentStr+r))}return n}static nextVisibleColumn(e,t,n,r){return n?e+(t-e%t):e+r}static _normalizeInsertionPoint(t,n,r,i){let a=1073741824,o,s;for(let o=0,s=n.length;o<s;o++){if(n[o].ignore)continue;let s=t.getLineContent(r+o),c=0;for(let t=0,r=n[o].commentStrOffset;c<a&&t<r;t++)c=e.nextVisibleColumn(c,i,s.charCodeAt(t)===9,1);c<a&&(a=c)}a=Math.floor(a/i)*i;for(let c=0,l=n.length;c<l;c++){if(n[c].ignore)continue;let l=t.getLineContent(r+c),u=0;for(o=0,s=n[c].commentStrOffset;u<a&&o<s;o++)u=e.nextVisibleColumn(u,i,l.charCodeAt(o)===9,1);u>a?n[c].commentStrOffset=o-1:n[c].commentStrOffset=o}}},Fl=class extends B{constructor(e,t){super(t),this._type=e}run(e,t){let n=e.get(os);if(!t.hasModel())return;let r=t.getModel(),i=[],a=r.getOptions(),o=t.getOption(29),s=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));s.sort((e,t)=>J.compareRangesUsingStarts(e.selection,t.selection));let c=s[0];for(let e=1;e<s.length;e++){let t=s[e];c.selection.endLineNumber===t.selection.startLineNumber&&(c.index<t.index?t.ignoreFirstLine=!0:(c.ignoreFirstLine=!0,c=t))}for(let e of s)i.push(new Pl(n,e.selection,a.indentSize,this._type,o.insertSpace,o.ignoreEmptyLines,e.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Il=class extends Fl{constructor(){super(0,{id:`editor.action.commentLine`,label:z(948,`Toggle Line Comment`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:N.MenubarEditMenu,group:`5_insert`,title:K(946,`&&Toggle Line Comment`),order:1},canTriggerInlineEdits:!0})}},Ll=class extends Fl{constructor(){super(1,{id:`editor.action.addCommentLine`,label:z(949,`Add Line Comment`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2081),weight:100},canTriggerInlineEdits:!0})}},Rl=class extends Fl{constructor(){super(2,{id:`editor.action.removeCommentLine`,label:z(950,`Remove Line Comment`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2099),weight:100},canTriggerInlineEdits:!0})}},zl=class extends B{constructor(){super({id:`editor.action.blockComment`,label:z(951,`Toggle Block Comment`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:N.MenubarEditMenu,group:`5_insert`,title:K(947,`Toggle &&Block Comment`),order:2},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(os);if(!t.hasModel())return;let r=t.getOption(29),i=[],a=t.getSelections();for(let e of a)i.push(new Nl(e,r.insertSpace,n));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}};y(Il),y(Ll),y(Rl),y(zl);var Bl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vl=function(e,t){return function(n,r){t(n,r,e)}},Hl,Ul=class{static{Hl=this}static{this.ID=`editor.contrib.contextmenu`}static get(e){return e.getContribution(Hl.ID)}constructor(e,t,n,r,i,a,o,s){this._contextMenuService=t,this._contextViewService=n,this._contextKeyService=r,this._keybindingService=i,this._menuService=a,this._configurationService=o,this._workspaceContextService=s,this._toDispose=new v,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(e=>this._onContextMenu(e))),this._toDispose.add(this._editor.onMouseWheel(e=>{if(this._contextMenuIsBeingShownCount>0){let t=this._contextViewService.getContextViewElement(),n=e.srcElement;n.shadowRoot&&or(t)===n.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(e=>{this._editor.getOption(30)&&e.keyCode===58&&(e.preventDefault(),e.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(30)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let t=!1;for(let n of this._editor.getSelections())if(n.containsPosition(e.target.position)){t=!0;break}t||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(30)||!this._editor.hasModel())return;let t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){let n=[],r=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(let t of r){let[,r]=t,i=0;for(let t of r)if(t instanceof ei){let r=this._getMenuActions(e,t.item.submenu);r.length>0&&(n.push(new Kr(t.id,t.label,r)),i++)}else n.push(t),i++;i&&n.push(new xs)}return n.length&&n.pop(),n}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();let e=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),t=ut(this._editor.getDomNode());n={x:t.left+e.left,y:t.top+e.top+e.height}}let r=this._editor.getOption(144)&&!dr;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:r&&this._editor.getOption(51),getAnchor:()=>n,getActions:()=>e,getActionViewItem:e=>{let t=this._keybindingFor(e);if(t)return new io(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});let n=e;return typeof n.getActionViewItem==`function`?n.getActionViewItem():new io(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:e=>this._keybindingFor(e),onHide:e=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||na(this._workspaceContextService.getWorkspace()))return;let t=this._editor.getOption(81),n=0,r=e=>({id:`menu-action-${++n}`,label:e.label,tooltip:``,class:void 0,enabled:e.enabled===void 0||e.enabled,checked:e.checked,run:e.run}),i=(e,t)=>new Kr(`menu-action-${++n}`,e,t,void 0),a=(e,t,n,a,o)=>{if(!t)return r({label:e,enabled:t,run:()=>{}});let s=e=>()=>{this._configurationService.updateValue(n,e)},c=[];for(let e of o)c.push(r({label:e.label,checked:a===e.value,run:s(e.value)}));return i(e,c)},o=[];o.push(r({label:K(952,`Minimap`),checked:t.enabled,run:()=>{this._configurationService.updateValue(`editor.minimap.enabled`,!t.enabled)}})),o.push(new xs),o.push(r({label:K(953,`Render Characters`),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue(`editor.minimap.renderCharacters`,!t.renderCharacters)}})),o.push(a(K(954,`Vertical size`),t.enabled,`editor.minimap.size`,t.size,[{label:K(955,`Proportional`),value:`proportional`},{label:K(956,`Fill`),value:`fill`},{label:K(957,`Fit`),value:`fit`}])),o.push(a(K(958,`Slider`),t.enabled,`editor.minimap.showSlider`,t.showSlider,[{label:K(959,`Mouse Over`),value:`mouseover`},{label:K(960,`Always`),value:`always`}])),o.push(a(K(961,`Side`),t.enabled,`editor.minimap.side`,t.side,[{label:K(962,`Right`),value:`right`},{label:K(963,`Left`),value:`left`}]));let s=this._editor.getOption(144)&&!dr;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getDomNode():void 0,useWindowContainerForShadowRoot:s&&this._editor.getOption(51),getAnchor:()=>e,getActions:()=>o,onHide:e=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Ul=Hl=Bl([Vl(1,La),Vl(2,_o),Vl(3,G),Vl(4,Oa),Vl(5,Yi),Vl(6,fa),Vl(7,ge)],Ul);var Wl=class extends B{constructor(){super({id:`editor.action.showContextMenu`,label:z(964,`Show Editor Context Menu`),precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:1092,weight:100}})}run(e,t){Ul.get(t)?.showContextMenu()}};D(Ul.ID,Ul,2),y(Wl);var Gl=class{constructor(e){this.selections=e}equals(e){let t=this.selections.length;if(t!==e.selections.length)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}},Kl=class{constructor(e,t,n){this.cursorState=e,this.scrollTop=t,this.scrollLeft=n}},ql=class e extends j{static{this.ID=`editor.contrib.cursorUndoRedoController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(e=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;let n=new Gl(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(n)||(this._undoStack.push(new Kl(n,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){this._editor.hasModel()&&this._undoStack.length!==0&&(this._redoStack.push(new Kl(new Gl(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&this._redoStack.length!==0&&(this._undoStack.push(new Kl(new Gl(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}},Jl=class extends B{constructor(){super({id:`cursorUndo`,label:z(965,`Cursor Undo`),precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:2099,weight:100}})}run(e,t,n){ql.get(t)?.cursorUndo()}},Yl=class extends B{constructor(){super({id:`cursorRedo`,label:z(966,`Cursor Redo`),precondition:void 0})}run(e,t,n){ql.get(t)?.cursorRedo()}};D(ql.ID,ql,0),y(Jl),y(Yl);var Xl=class e{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){let e=this._findScopeDecorationIds.map(e=>this._editor.getModel().getDecorationRange(e)).filter(e=>!!e);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){let t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){let t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(t){let n=this._editor.getModel().getDecorationsInRange(t);for(let t of n){let n=t.options;if(n===e._FIND_MATCH_DECORATION||n===e._FIND_MATCH_NO_OVERVIEW_DECORATION||n===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(t.id)}return 0}setCurrentFindMatch(t){let n=null,r=0;if(t)for(let e=0,i=this._decorations.length;e<i;e++){let i=this._editor.getModel().getDecorationRange(this._decorations[e]);if(t.equalsRange(i)){n=this._decorations[e],r=e+1;break}}return(this._highlightedDecorationId!==null||n!==null)&&this._editor.changeDecorations(t=>{if(this._highlightedDecorationId!==null&&(t.changeDecorationOptions(this._highlightedDecorationId,e._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),n!==null&&(this._highlightedDecorationId=n,t.changeDecorationOptions(this._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),n!==null){let r=this._editor.getModel().getDecorationRange(n);if(r.startLineNumber!==r.endLineNumber&&r.endColumn===1){let e=r.endLineNumber-1,t=this._editor.getModel().getLineMaxColumn(e);r=new J(r.startLineNumber,r.startColumn,e,t)}this._rangeHighlightDecorationId=t.addDecoration(r,e._RANGE_HIGHLIGHT_DECORATION)}}),r}set(t,n){this._editor.changeDecorations(r=>{let i=e._FIND_MATCH_DECORATION,a=[];if(t.length>1e3){i=e._FIND_MATCH_NO_OVERVIEW_DECORATION;let n=this._editor.getModel().getLineCount(),r=this._editor.getLayoutInfo().height/n,o=Math.max(2,Math.ceil(3/r)),s=t[0].range.startLineNumber,c=t[0].range.endLineNumber;for(let n=1,r=t.length;n<r;n++){let r=t[n].range;c+o>=r.startLineNumber?r.endLineNumber>c&&(c=r.endLineNumber):(a.push({range:new J(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),s=r.startLineNumber,c=r.endLineNumber)}a.push({range:new J(s,1,c,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}let o=Array(t.length);for(let e=0,n=t.length;e<n;e++)o[e]={range:t[e].range,options:i};this._decorations=r.deltaDecorations(this._decorations,o),this._overviewRulerApproximateDecorations=r.deltaDecorations(this._overviewRulerApproximateDecorations,a),this._rangeHighlightDecorationId&&=(r.removeDecoration(this._rangeHighlightDecorationId),null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(e=>r.removeDecoration(e)),this._findScopeDecorationIds=[]),n?.length&&(this._findScopeDecorationIds=n.map(t=>r.addDecoration(t,e._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.endLineNumber>e.lineNumber)&&(r.endLineNumber<e.lineNumber||!(r.endColumn>e.column)))return r}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,n=this._decorations.length;t<n;t++){let n=this._decorations[t],r=this._editor.getModel().getDecorationRange(n);if(!(!r||r.startLineNumber<e.lineNumber)&&(r.startLineNumber>e.lineNumber||!(r.startColumn<e.column)))return r}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}static{this._CURRENT_FIND_MATCH_DECORATION=F.register({description:`current-find-match`,stickiness:1,zIndex:13,className:`currentFindMatch`,inlineClassName:`currentFindMatchInline`,showIfCollapsed:!0,overviewRuler:{color:be(nr),position:Ss.Center},minimap:{color:be(Li),position:1}})}static{this._FIND_MATCH_DECORATION=F.register({description:`find-match`,stickiness:1,zIndex:10,className:`findMatch`,inlineClassName:`findMatchInline`,showIfCollapsed:!0,overviewRuler:{color:be(nr),position:Ss.Center},minimap:{color:be(Li),position:1}})}static{this._FIND_MATCH_NO_OVERVIEW_DECORATION=F.register({description:`find-match-no-overview`,stickiness:1,className:`findMatch`,showIfCollapsed:!0})}static{this._FIND_MATCH_ONLY_OVERVIEW_DECORATION=F.register({description:`find-match-only-overview`,stickiness:1,overviewRuler:{color:be(nr),position:Ss.Center}})}static{this._RANGE_HIGHLIGHT_DECORATION=F.register({description:`find-range-highlight`,stickiness:1,className:`rangeHighlight`,isWholeLine:!0})}static{this._FIND_SCOPE_DECORATION=F.register({description:`find-scope`,className:`findScope`,isWholeLine:!0})}},Zl=class{constructor(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){let e=[];for(let t=0;t<this._ranges.length;t++)e.push({range:this._ranges[t],text:this._replaceStrings[t]});e.sort((e,t)=>J.compareRangesUsingStarts(e.range,t.range));let n=[],r=e[0];for(let t=1;t<e.length;t++)r.range.endLineNumber===e[t].range.startLineNumber&&r.range.endColumn===e[t].range.startColumn?(r.range=r.range.plusRange(e[t].range),r.text+=e[t].text):(n.push(r),r=e[t]);n.push(r);for(let e of n)t.addEditOperation(e.range,e.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}};function Ql(e,t){if(e&&e[0]!==``){let n=$l(e,t,`-`),r=$l(e,t,`_`);return n&&!r?eu(e,t,`-`):!n&&r?eu(e,t,`_`):e[0].toUpperCase()===e[0]?t.toUpperCase():e[0].toLowerCase()===e[0]?t.toLowerCase():lo(e[0][0])&&t.length>0?t[0].toUpperCase()+t.substr(1):e[0][0].toUpperCase()!==e[0][0]&&t.length>0?t[0].toLowerCase()+t.substr(1):t}return t}function $l(e,t,n){return e[0].indexOf(n)!==-1&&t.indexOf(n)!==-1&&e[0].split(n).length===t.split(n).length}function eu(e,t,n){let r=t.split(n),i=e[0].split(n),a=``;return r.forEach((e,t)=>{a+=Ql([i[t]],e)+n}),a.slice(0,-1)}var tu=class{constructor(e){this.staticValue=e,this.kind=0}},nu=class{constructor(e){this.pieces=e,this.kind=1}},ru=class e{static fromStaticValue(t){return new e([iu.staticValue(t)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){this._state=!e||e.length===0?new tu(``):e.length===1&&e[0].staticValue!==null?new tu(e[0].staticValue):new nu(e)}buildReplaceString(t,n){if(this._state.kind===0)return n?Ql(t,this._state.staticValue):this._state.staticValue;let r=``;for(let n=0,i=this._state.pieces.length;n<i;n++){let i=this._state.pieces[n];if(i.staticValue!==null){r+=i.staticValue;continue}let a=e._substitute(i.matchIndex,t);if(i.caseOps!==null&&i.caseOps.length>0){let e=[],t=i.caseOps.length,n=0;for(let r=0,o=a.length;r<o;r++){if(n>=t){e.push(a.slice(r));break}switch(i.caseOps[n]){case`U`:e.push(a[r].toUpperCase());break;case`u`:e.push(a[r].toUpperCase()),n++;break;case`L`:e.push(a[r].toLowerCase());break;case`l`:e.push(a[r].toLowerCase()),n++;break;default:e.push(a[r])}}a=e.join(``)}r+=a}return r}static _substitute(e,t){if(t===null)return``;if(e===0)return t[0];let n=``;for(;e>0;){if(e<t.length)return(t[e]||``)+n;n=String(e%10)+n,e=Math.floor(e/10)}return`$`+n}},iu=class e{static staticValue(t){return new e(t,-1,null)}static caseOps(t,n){return new e(null,t,n)}constructor(e,t,n){this.staticValue=e,this.matchIndex=t,this.caseOps=!n||n.length===0?null:n.slice(0)}},au=class{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=``}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,n){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=iu.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),this._result[this._resultLen++]=iu.caseOps(e,n),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=iu.staticValue(this._currentStaticPiece),this._currentStaticPiece=``),new ru(this._result)}};function ou(e){if(!e||e.length===0)return new ru(null);let t=[],n=new au(e);for(let r=0,i=e.length;r<i;r++){let a=e.charCodeAt(r);if(a===92){if(r++,r>=i)break;let a=e.charCodeAt(r);switch(a){case 92:n.emitUnchanged(r-1),n.emitStatic(`\\`,r+1);break;case 110:n.emitUnchanged(r-1),n.emitStatic(`
|
|
6
|
+
`,r+1);break;case 116:n.emitUnchanged(r-1),n.emitStatic(` `,r+1);break;case 117:case 85:case 108:case 76:n.emitUnchanged(r-1),n.emitStatic(``,r+1),t.push(String.fromCharCode(a))}}else if(a===36){if(r++,r>=i)break;let a=e.charCodeAt(r);if(a===36){n.emitUnchanged(r-1),n.emitStatic(`$`,r+1);continue}if(a===48||a===38){n.emitUnchanged(r-1),n.emitMatchIndex(0,r+1,t),t.length=0;continue}if(49<=a&&a<=57){let o=a-48;if(r+1<i){let i=e.charCodeAt(r+1);if(48<=i&&i<=57){r++,o=o*10+(i-48),n.emitUnchanged(r-2),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}n.emitUnchanged(r-1),n.emitMatchIndex(o,r+1,t),t.length=0;continue}}}return n.finalize()}var su=new W(`findWidgetVisible`,!1);su.toNegated();var cu=new W(`findInputFocussed`,!1),lu=new W(`replaceInputFocussed`,!1),uu=new W(`findWidgetFocused`,!1),du={primary:545,mac:{primary:2593}},fu={primary:565,mac:{primary:2613}},pu={primary:560,mac:{primary:2608}},mu={primary:554,mac:{primary:2602}},hu={primary:558,mac:{primary:2606}},Z={StartFindAction:`actions.find`,StartFindWithSelection:`actions.findWithSelection`,StartFindWithArgs:`editor.actions.findWithArgs`,NextMatchFindAction:`editor.action.nextMatchFindAction`,PreviousMatchFindAction:`editor.action.previousMatchFindAction`,GoToMatchFindAction:`editor.action.goToMatchFindAction`,NextSelectionMatchFindAction:`editor.action.nextSelectionMatchFindAction`,PreviousSelectionMatchFindAction:`editor.action.previousSelectionMatchFindAction`,StartFindReplaceAction:`editor.action.startFindReplaceAction`,CloseFindWidgetCommand:`closeFindWidget`,ToggleCaseSensitiveCommand:`toggleFindCaseSensitive`,ToggleWholeWordCommand:`toggleFindWholeWord`,ToggleRegexCommand:`toggleFindRegex`,ToggleSearchScopeCommand:`toggleFindInSelection`,TogglePreserveCaseCommand:`togglePreserveCase`,ReplaceOneAction:`editor.action.replaceOne`,ReplaceAllAction:`editor.action.replaceAll`,SelectAllMatchesAction:`editor.action.selectAllMatches`},gu=19999,_u=240,vu=class e{constructor(e,t){this._toDispose=new v,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new rn,this._decorations=new Xl(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new Ht(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(e=>{(e.reason===3||e.reason===5||e.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(e=>{this._ignoreModelContentChanged||(e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Je(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},_u)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let n=null;t===void 0?n=this._decorations.getFindScopes():t!==null&&(n=Array.isArray(t)?t:[t]),n!==null&&(n=n.map(e=>{if(e.startLineNumber!==e.endLineNumber){let t=e.endLineNumber;return e.endColumn===1&&--t,new J(e.startLineNumber,1,t,this._editor.getModel().getLineMaxColumn(t))}return e}));let r=this._findMatches(n,!1,gu);this._decorations.set(r,n);let i=this._editor.getSelection(),a=this._decorations.getCurrentMatchesPosition(i);if(a===0&&r.length>0){let e=Da(r.map(e=>e.range),e=>J.compareRangesUsingStarts(e,i)>=0);a=e>0?e-1+1:a}this._state.changeMatchInfo(a,this._decorations.getCount(),void 0),e&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){let e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){let t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf(`^`)>=0||this._state.searchString.indexOf(`$`)>=0),{lineNumber:n,column:r}=e,i=this._editor.getModel();return t||r===1?(n===1?n=i.getLineCount():n--,r=i.getLineMaxColumn(n)):r--,new O(n,r)}_moveToPrevMatch(t,n=!1){if(!this._state.canNavigateBack()){let e=this._decorations.matchAfterPosition(t);e&&this._setCurrentFindMatch(e);return}if(this._decorations.getCount()<19999){let e=this._decorations.matchBeforePosition(t);e&&e.isEmpty()&&e.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),e=this._decorations.matchBeforePosition(t)),e&&this._setCurrentFindMatch(e);return}if(this._cannotFind())return;let r=this._decorations.getFindScope(),i=e._getSearchRange(this._editor.getModel(),r);i.getEndPosition().isBefore(t)&&(t=i.getEndPosition()),t.isBefore(i.getStartPosition())&&(t=i.getEndPosition());let{lineNumber:a,column:o}=t,s=this._editor.getModel(),c=new O(a,o),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(l&&l.range.isEmpty()&&l.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),l=s.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),l){if(!n&&!i.containsRange(l.range))return this._moveToPrevMatch(l.range.getStartPosition(),!0);this._setCurrentFindMatch(l.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){let t=this._state.isRegex&&(this._state.searchString.indexOf(`^`)>=0||this._state.searchString.indexOf(`$`)>=0),{lineNumber:n,column:r}=e,i=this._editor.getModel();return t||r===i.getLineMaxColumn(n)?(n===i.getLineCount()?n=1:n++,r=1):r++,new O(n,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){let t=this._decorations.matchBeforePosition(e);t&&this._setCurrentFindMatch(t);return}if(this._decorations.getCount()<19999){let t=this._decorations.matchAfterPosition(e);t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),t&&this._setCurrentFindMatch(t);return}let t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(t,n,r,i=!1){if(this._cannotFind())return null;let a=this._decorations.getFindScope(),o=e._getSearchRange(this._editor.getModel(),a);o.getEndPosition().isBefore(t)&&(t=o.getStartPosition()),t.isBefore(o.getStartPosition())&&(t=o.getStartPosition());let{lineNumber:s,column:c}=t,l=this._editor.getModel(),u=new O(s,c),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n);return r&&d&&d.range.isEmpty()&&d.range.getStartPosition().equals(u)&&(u=this._nextSearchPosition(u),d=l.findNextMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n)),d?!i&&!o.containsRange(d.range)?this._getNextMatch(d.range.getEndPosition(),n,r,!0):d:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){let t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?ou(this._state.replaceString):ru.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;let e=this._getReplacePattern(),t=this._editor.getSelection(),n=this._getNextMatch(t.getStartPosition(),!0,!1);if(n){if(t.equalsRange(n.range)){let r=e.buildReplaceString(n.matches,this._state.preserveCase),i=new re(t,r);this._executeEditorCommand(`replace`,i),this._decorations.setStartPosition(new O(t.startLineNumber,t.startColumn+r.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(n.range)}}_findMatches(t,n,r){let i=(t||[null]).map(t=>e._getSearchRange(this._editor.getModel(),t));return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,n,r)}replaceAll(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){let e=new Pi(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!e)return;let t=e.regex;if(!t.multiline){let e=`mu`;t.ignoreCase&&(e+=`i`),t.global&&(e+=`g`),t=new RegExp(t.source,e)}let n=this._editor.getModel(),r=n.getValue(1),i=n.getFullModelRange(),a=this._getReplacePattern(),o,s=this._state.preserveCase;o=a.hasReplacementPatterns||s?r.replace(t,function(){return a.buildReplaceString(arguments,s)}):r.replace(t,a.buildReplaceString(null,s));let c=new qn(i,o,this._editor.getSelection());this._executeEditorCommand(`replaceAll`,c)}_regularReplaceAll(e){let t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let e=0,i=n.length;e<i;e++)r[e]=t.buildReplaceString(n[e].matches,this._state.preserveCase);let i=new Zl(this._editor.getSelection(),n.map(e=>e.range),r);this._executeEditorCommand(`replaceAll`,i)}selectAllMatches(){if(!this._hasMatches())return;let e=this._decorations.getFindScopes(),t=this._findMatches(e,!1,1073741824).map(e=>new P(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)),n=this._editor.getSelection();for(let e=0,r=t.length;e<r;e++)if(t[e].equalsRange(n)){t=[n].concat(t.slice(0,e),t.slice(e+1));break}this._editor.setSelections(t)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}},yu=class e extends yo{static{this.ID=`editor.contrib.findOptionsWidget`}constructor(e,t,n){super(),this._hideSoon=this._register(new Ht(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=n,this._domNode=document.createElement(`div`),this._domNode.className=`findOptionsWidget`,this._domNode.style.display=`none`,this._domNode.style.top=`10px`,this._domNode.style.zIndex=`12`,this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`);let r={inputActiveOptionBorder:ur(Oi),inputActiveOptionForeground:ur(no),inputActiveOptionBackground:ur(fi)},i={groupId:`find-options-widget`};this.caseSensitive=this._register(new _t({appendTitle:this._keybindingLabelFor(Z.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:i,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new lt({appendTitle:this._keybindingLabelFor(Z.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:i,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new ao({appendTitle:this._keybindingLabelFor(Z.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:i,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(e=>{let t=!1;e.isRegex&&(this.regex.checked=this._state.isRegex,t=!0),e.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,t=!0),e.matchCase&&(this.caseSensitive.checked=this._state.matchCase,t=!0),!this._state.isRevealed&&t&&this._revealTemporarily()})),this._register(E(this._domNode,S.MOUSE_LEAVE,e=>this._onMouseLeave())),this._register(E(this._domNode,`mouseover`,e=>this._onMouseOver()))}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding(``,e)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display=`block`)}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display=`none`)}};function bu(e,t){return e===1||e!==2&&t}var xu=class extends j{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return bu(this._isRegexOverride,this._isRegex)}get wholeWord(){return bu(this._wholeWordOverride,this._wholeWord)}get matchCase(){return bu(this._matchCaseOverride,this._matchCase)}get preserveCase(){return bu(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new b),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString=``,this._replaceString=``,this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,n){let r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},i=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,i=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,i=!0),n!==void 0&&(J.equalsRange(this._currentMatch,n)||(this._currentMatch=n,r.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(r)}change(e,t,n=!0){let r={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1},i=!1,a=this.isRegex,o=this.wholeWord,s=this.matchCase,c=this.preserveCase;e.searchString!==void 0&&this._searchString!==e.searchString&&(this._searchString=e.searchString,r.searchString=!0,i=!0),e.replaceString!==void 0&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,r.replaceString=!0,i=!0),e.isRevealed!==void 0&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,r.isRevealed=!0,i=!0),e.isReplaceRevealed!==void 0&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,r.isReplaceRevealed=!0,i=!0),e.isRegex!==void 0&&(this._isRegex=e.isRegex),e.wholeWord!==void 0&&(this._wholeWord=e.wholeWord),e.matchCase!==void 0&&(this._matchCase=e.matchCase),e.preserveCase!==void 0&&(this._preserveCase=e.preserveCase),e.searchScope!==void 0&&(e.searchScope?.every(e=>this._searchScope?.some(t=>!J.equalsRange(t,e)))||(this._searchScope=e.searchScope,r.searchScope=!0,i=!0)),e.loop!==void 0&&this._loop!==e.loop&&(this._loop=e.loop,r.loop=!0,i=!0),e.isSearching!==void 0&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,r.isSearching=!0,i=!0),e.filters!==void 0&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,r.filters=!0,i=!0),this._isRegexOverride=e.isRegexOverride===void 0?0:e.isRegexOverride,this._wholeWordOverride=e.wholeWordOverride===void 0?0:e.wholeWordOverride,this._matchCaseOverride=e.matchCaseOverride===void 0?0:e.matchCaseOverride,this._preserveCaseOverride=e.preserveCaseOverride===void 0?0:e.preserveCaseOverride,a!==this.isRegex&&(i=!0,r.isRegex=!0),o!==this.wholeWord&&(i=!0,r.wholeWord=!0),s!==this.matchCase&&(i=!0,r.matchCase=!0),c!==this.preserveCase&&(i=!0,r.preserveCase=!0),i&&this._onFindReplaceStateChange.fire(r)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=19999}},Su=K(5,`input`),Cu=K(6,`Preserve Case`),wu=class extends ar{constructor(e){super({icon:X.preserveCase,title:Cu+e.appendTitle,isChecked:e.isChecked,hoverLifecycleOptions:e.hoverLifecycleOptions,inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},Tu=class extends yo{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor(e,t,n,r){super(),this._showOptionButtons=n,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new b),this._onKeyDown=this._register(new b),this._onMouseDown=this._register(new b),this._onInput=this._register(new b),this._onKeyUp=this._register(new b),this._onPreserveCaseKeyDown=this._register(new b),this.contextViewProvider=t,this.placeholder=r.placeholder||``,this.validation=r.validation,this.label=r.label||Su;let i=r.appendPreserveCaseLabel||``,a=r.history||new Set([]),o=!!r.flexibleHeight,s=!!r.flexibleWidth,c=r.flexibleMaxHeight;this.domNode=document.createElement(`div`),this.domNode.classList.add(`monaco-findInput`),this.inputBox=this._register(new He(this.domNode,this.contextViewProvider,{ariaLabel:this.label||``,placeholder:this.placeholder||``,validationOptions:{validation:this.validation},history:a,showHistoryHint:r.showHistoryHint,flexibleHeight:o,flexibleWidth:s,flexibleMaxHeight:c,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new wu({appendTitle:i,isChecked:!1,hoverLifecycleOptions:r.hoverLifecycleOptions,...r.toggleStyles})),this._register(this.preserveCase.onChange(e=>{this._onDidOptionChange.fire(e),!e&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(e=>{this._onPreserveCaseKeyDown.fire(e)})),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;let l=[this.preserveCase.domNode];this.onkeydown(this.domNode,e=>{pr(e,this.domNode,()=>l,()=>this.inputBox.focus())});let u=document.createElement(`div`);u.className=`controls`,u.style.display=this._showOptionButtons?`block`:`none`,u.appendChild(this.preserveCase.domNode),this.domNode.appendChild(u),e?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,e=>this._onKeyDown.fire(e)),this.onkeyup(this.inputBox.inputElement,e=>this._onKeyUp.fire(e)),this.oninput(this.inputBox.inputElement,e=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,e=>this._onMouseDown.fire(e))}enable(){this.domNode.classList.remove(`disabled`),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add(`disabled`),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+`px`}},Eu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Du=function(e,t){return function(n,r){t(n,r,e)}},Ou=new W(`suggestWidgetVisible`,!1,K(1793,`Whether suggestion are visible`)),ku=`historyNavigationWidgetFocus`,Au=`historyNavigationForwardsEnabled`,ju=`historyNavigationBackwardsEnabled`,Mu=void 0,Nu=[];function Pu(e,t){if(Nu.includes(t))throw Error(`Cannot register the same widget multiple times`);Nu.push(t);let n=new v,r=new W(ku,!1).bindTo(e),i=new W(Au,!0).bindTo(e),a=new W(ju,!0).bindTo(e),o=()=>{r.set(!0),Mu=t},s=()=>{r.set(!1),Mu===t&&(Mu=void 0)};return vo(t.element)&&o(),n.add(t.onDidFocus(()=>o())),n.add(t.onDidBlur(()=>s())),n.add(fo(()=>{Nu.splice(Nu.indexOf(t),1),s()})),{historyNavigationForwardsEnablement:i,historyNavigationBackwardsEnablement:a,dispose(){n.dispose()}}}var Fu=class extends Zn{constructor(e,t,n,r){super(e,t,n);let i=this._register(r.createScoped(this.inputBox.element));this._register(Pu(i,this.inputBox))}};Fu=Eu([Du(3,G)],Fu);var Iu=class extends Tu{constructor(e,t,n,r,i=!1){super(e,t,i,n);let a=this._register(r.createScoped(this.inputBox.element));this._register(Pu(a,this.inputBox))}};Iu=Eu([Du(3,G)],Iu),ci.registerCommandAndKeybindingRule({id:`history.showPrevious`,weight:200,when:L.and(L.has(ku),L.equals(ju,!0),Ou.isEqualTo(!1)),primary:16,secondary:[528],handler:e=>{Mu?.showPreviousValue()}}),ci.registerCommandAndKeybindingRule({id:`history.showNext`,weight:200,when:L.and(L.has(ku),L.equals(Au,!0),Ou.isEqualTo(!1)),primary:18,secondary:[530],handler:e=>{Mu?.showNextValue()}});function Lu(e){return e.lookupKeybinding(`history.showPrevious`)?.getElectronAccelerator()===`Up`&&e.lookupKeybinding(`history.showNext`)?.getElectronAccelerator()===`Down`}var Ru=U(`find-collapsed`,X.chevronRight,K(1011,`Icon to indicate that the editor find widget is collapsed.`)),zu=U(`find-expanded`,X.chevronDown,K(1012,`Icon to indicate that the editor find widget is expanded.`)),Bu=U(`find-selection`,X.selection,K(1013,`Icon for 'Find in Selection' in the editor find widget.`)),Vu=U(`find-replace`,X.replace,K(1014,`Icon for 'Replace' in the editor find widget.`)),Hu=U(`find-replace-all`,X.replaceAll,K(1015,`Icon for 'Replace All' in the editor find widget.`)),Uu=U(`find-previous-match`,X.arrowUp,K(1016,`Icon for 'Find Previous' in the editor find widget.`)),Wu=U(`find-next-match`,X.arrowDown,K(1017,`Icon for 'Find Next' in the editor find widget.`)),Gu=K(1018,`Find / Replace`),Ku=K(1019,`Find`),qu=K(1020,`Find`),Ju=K(1021,`Previous Match`),Yu=K(1022,`Next Match`),Xu=K(1023,`Find in Selection`),Zu=K(1024,`Close`),Qu=K(1025,`Replace`),$u=K(1026,`Replace`),ed=K(1027,`Replace`),td=K(1028,`Replace All`),nd=K(1029,`Toggle Replace`),rd=K(1030,`Only the first {0} results are highlighted, but all find operations work on the entire text.`,gu),id=K(1031,`{0} of {1}`),ad=K(1032,`No results`),od=419,sd=221,cd=69,ld=33,ud=pn?256:2048,dd=class{constructor(e){this.afterLineNumber=e,this.heightInPx=ld,this.suppressMouseDown=!1,this.domNode=document.createElement(`div`),this.domNode.className=`dock-find-viewzone`}};function fd(e,t,n){let r=!!t.match(/\n/);n&&r&&n.selectionStart>0&&e.stopPropagation()}function pd(e,t,n){let r=!!t.match(/\n/);n&&r&&n.selectionEnd<n.value.length&&e.stopPropagation()}var md=class e extends yo{static{this.ID=`editor.contrib.findWidget`}constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._hoverService=o,this._findWidgetSearchHistory=s,this._replaceWidgetHistory=c,this._configurationService=l,this._accessibilityService=u,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=n,this._contextViewProvider=r,this._keybindingService=i,this._contextKeyService=a,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new Ft(500),this._register(fo(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(e=>{if(e.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),e.hasChanged(166)&&this._tryUpdateWidgetWidth(),e.hasChanged(2)&&this.updateAccessibilitySupport(),e.hasChanged(50)){let e=this._codeEditor.getOption(50).loop;this._state.change({loop:e},!1);let t=this._codeEditor.getOption(50).addExtraSpaceOnTop;t&&!this._viewZone&&(this._viewZone=new dd(0),this._showViewZone()),!t&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){let e=await this._controller.getGlobalBufferTerm();e&&e!==this._state.searchString&&(this._state.change({searchString:e},!1),this._findInput.select())}})),this._findInputFocused=cu.bindTo(a),this._findFocusTracker=this._register(Wi(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._lastFocusedInputWasReplace=!1,this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=lu.bindTo(a),this._replaceFocusTracker=this._register(Wi(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._lastFocusedInputWasReplace=!0,this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._findWidgetFocused=uu.bindTo(a),this._widgetFocusTracker=this._register(Wi(this._domNode)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register(E(this._domNode,`focusin`,e=>{Do(e.target)&&(this._lastFocusedElement=e.target)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new dd(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(e=>{e.scrollTopChanged?this._layoutViewZone():setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return e.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(104)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=t(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){let e=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle(`no-results`,e),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Y)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=cd+`px`,this._state.matchesCount>=19999?this._matchesCount.title=rd:this._matchesCount.title=``,this._matchesCount.firstChild?.remove();let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+=`+`);let n=String(this._state.matchesPosition);n===`0`&&(n=`?`),e=lr(id,n,t)}else e=ad;this._matchesCount.appendChild(document.createTextNode(e)),To(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),cd=Math.max(cd,this._matchesCount.clientWidth)}_getAriaLabel(e,t,n){let r;if(e===ad)r=n===``?K(1033,`{0} found`,e):K(1034,`{0} found for '{1}'`,e,n);else if(t){let i=K(1035,`{0} found for '{1}', at {2}`,e,n,t.startLineNumber+`:`+t.startColumn),a=this._codeEditor.getModel();r=a&&t.startLineNumber<=a.getLineCount()&&t.startLineNumber>=1?`${a.getLineContent(t.startLineNumber)}, ${i}`:i}else r=K(1036,`{0} found for '{1}'`,e,n);return r}_updateToggleSelectionFindButton(){let e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,n=this._toggleSelectionFind.checked;this._isVisible&&(n||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);let e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle(`replaceToggled`,this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);let n=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;let e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case`always`:this._toggleSelectionFind.checked=!0;break;case`never`:this._toggleSelectionFind.checked=!1;break;case`multiline`:{let t=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=t;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add(`visible`),this._domNode.setAttribute(`aria-hidden`,`false`),this._updateFindInputAriaLabel()},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&e){let n=this._codeEditor.getDomNode();if(n){let r=ut(n),i=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),a=r.left+(i?i.left:0),o=i?i.top:0;if(this._viewZone&&o<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);let n=Sr(this._domNode).left;a>n&&(t=!1);let i=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(i?i.left:0)>n&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove(`visible`),this._domNode.setAttribute(`aria-hidden`,`true`),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;let t=this._viewZone;this._viewZoneId===void 0&&t&&this._codeEditor.changeViewZones(n=>{t.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(t),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+t.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new dd(0));let t=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){let r=this._getHeight();if(r===t.heightInPx)return;let i=r-t.heightInPx;t.heightInPx=r,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+i)}else{let r=this._getHeight();if(r-=this._codeEditor.getOption(96).top,r<=0)return;t.heightInPx=r,this._viewZoneId=n.addZone(t),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&=(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;let e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add(`hiddenEditor`);return}this._domNode.classList.contains(`hiddenEditor`)&&this._domNode.classList.remove(`hiddenEditor`);let n=e.width,r=e.minimap.minimapWidth,i=!1,a=!1,o=!1;if(this._resized&&t(this._domNode)>od)this._domNode.style.maxWidth=`${n-28-r-15}px`,this._replaceInput.width=t(this._findInput.domNode);else if(447+r>=n&&(a=!0),447+r-cd>=n&&(o=!0),447+r-cd>=n+50&&(i=!0),this._domNode.classList.toggle(`collapsed-find-widget`,i),this._domNode.classList.toggle(`narrow-find-widget`,o),this._domNode.classList.toggle(`reduced-find-widget`,a),!o&&!i&&(this._domNode.style.maxWidth=`${n-28-r-15}px`),this._findInput.layout({collapsedFindWidget:i,narrowFindWidget:o,reducedFindWidget:a}),this._resized){let e=this._findInput.inputBox.element.clientWidth;e>0&&(this._replaceInput.width=e)}else this._isReplaceVisible&&(this._replaceInput.width=t(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){let e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){let e=this._codeEditor.getSelections();e.map(e=>{e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));let t=this._state.currentMatch;return e.startLineNumber!==e.endLineNumber&&!J.equalsRange(e,t)?e:null}).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(ud|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}this._findInput.inputBox.insertAtCursor(`
|
|
7
|
+
`),e.preventDefault()}else if(e.equals(2))this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();else if(e.equals(2066))this._codeEditor.focus(),e.preventDefault();else{if(e.equals(16))return fd(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`));if(e.equals(18))return pd(e,this._findInput.getValue(),this._findInput.domNode.querySelector(`textarea`))}}_onReplaceInputKeyDown(e){if(e.equals(ud|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}this._replaceInput.inputBox.insertAtCursor(`
|
|
8
|
+
`),e.preventDefault()}else if(e.equals(2))this._findInput.focusOnCaseSensitive(),e.preventDefault();else if(e.equals(1026))this._findInput.focus(),e.preventDefault();else if(e.equals(2066))this._codeEditor.focus(),e.preventDefault();else{if(e.equals(16))return fd(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`));if(e.equals(18))return pd(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector(`textarea`))}}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){return this._keybindingService.appendKeybinding(``,e)}_buildDomNode(){let e=this._codeEditor.getOption(50).history,n=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new Fu(null,this._contextViewProvider,{width:sd,label:Ku,placeholder:qu,appendCaseSensitiveLabel:this._keybindingLabelFor(Z.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Z.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Z.ToggleRegexCommand),validation:e=>{if(e.length===0||!this._findInput.getRegex())return null;try{return new RegExp(e,`gu`),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Lu(this._keybindingService),inputBoxStyles:Ta,toggleStyles:mi,history:e===`workspace`?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(e=>{e.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(e)})),this._register(this._findInput.inputBox.onDidChange(()=>{!this._ignoreChangeEvent&&this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(e=>{e.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),e.preventDefault())})),this._register(this._findInput.onRegexKeyDown(e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),e.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(e=>{this._tryUpdateHeight()&&this._showViewZone()})),Dr&&this._register(this._findInput.onMouseDown(e=>this._onFindInputMouseDown(e))),this._matchesCount=document.createElement(`div`),this._matchesCount.className=`matchesCount`,this._updateMatchesCount();let r={groupId:`find-widget`};this._prevBtn=this._register(new hd({label:Ju+this._keybindingLabelFor(Z.PreviousMatchFindAction),icon:Uu,hoverLifecycleOptions:r,onTrigger:()=>{wo(this._codeEditor.getAction(Z.PreviousMatchFindAction)).run().then(void 0,Y)}},this._hoverService)),this._nextBtn=this._register(new hd({label:Yu+this._keybindingLabelFor(Z.NextMatchFindAction),icon:Wu,hoverLifecycleOptions:r,onTrigger:()=>{wo(this._codeEditor.getAction(Z.NextMatchFindAction)).run().then(void 0,Y)}},this._hoverService));let i=document.createElement(`div`);i.className=`find-part`,i.appendChild(this._findInput.domNode);let a=document.createElement(`div`);a.className=`find-actions`,i.appendChild(a),a.appendChild(this._matchesCount),a.appendChild(this._prevBtn.domNode),a.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new ar({icon:Bu,title:Xu+this._keybindingLabelFor(Z.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:r,inputActiveOptionBackground:ur(fi),inputActiveOptionBorder:ur(Oi),inputActiveOptionForeground:ur(no)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let e=this._codeEditor.getSelections();e=e.map(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}else this._state.change({searchScope:null},!0)})),a.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new hd({label:Zu+this._keybindingLabelFor(Z.CloseFindWidgetCommand),icon:Bi,hoverLifecycleOptions:r,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:e=>{e.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),e.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new Iu(null,void 0,{label:Qu,placeholder:$u,appendPreserveCaseLabel:this._keybindingLabelFor(Z.TogglePreserveCaseCommand),history:n===`workspace`?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>Lu(this._keybindingService),inputBoxStyles:Ta,toggleStyles:mi,hoverLifecycleOptions:r},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(e=>this._onReplaceInputKeyDown(e))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(e=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(e=>{e.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),e.preventDefault())})),this._replaceBtn=this._register(new hd({label:ed+this._keybindingLabelFor(Z.ReplaceOneAction),icon:Vu,hoverLifecycleOptions:r,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{e.equals(1026)&&(this._closeBtn.focus(),e.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new hd({label:td+this._keybindingLabelFor(Z.ReplaceAllAction),icon:Hu,hoverLifecycleOptions:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));let o=document.createElement(`div`);o.className=`replace-part`,o.appendChild(this._replaceInput.domNode);let s=document.createElement(`div`);s.className=`replace-actions`,o.appendChild(s),s.appendChild(this._replaceBtn.domNode),s.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new hd({label:nd,className:`codicon toggle left`,onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=t(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement(`div`),this._domNode.className=`editor-widget find-widget`,this._domNode.setAttribute(`aria-hidden`,`true`),this._domNode.ariaLabel=Gu,this._domNode.role=`dialog`,this._domNode.style.width=`${od}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(i),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(o),this._resizeSash=this._register(new Si(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let c=od;this._register(this._resizeSash.onDidStart(()=>{c=t(this._domNode)})),this._register(this._resizeSash.onDidChange(e=>{this._resized=!0;let n=c+e.startX-e.currentX;n<od||n>(parseFloat(oo(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${n}px`,this._isReplaceVisible&&(this._replaceInput.width=t(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{let e=t(this._domNode);if(e<od)return;let n=od;if(!this._resized||e===od){let e=this._codeEditor.getLayoutInfo();n=e.width-28-e.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${n}px`,this._isReplaceVisible&&(this._replaceInput.width=t(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){let e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let e=Ku,t=Qu;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue(`accessibility.verbosity.find`)&&this._accessibilityService.isScreenReaderOptimized()){let n=this._keybindingService.lookupKeybinding(`editor.action.accessibilityHelp`)?.getAriaLabel();if(n){let r=K(1037,`Press {0} for accessibility help`,n);e=K(1038,`{0}, {1}`,e,r),t=K(1039,`{0}, {1}`,t,r)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=Ot(()=>{this._isVisible&&(this._findInput.inputBox.setAriaLabel(Ku),this._replaceInput.inputBox.setAriaLabel(Qu))},1e3)}this._findInput.inputBox.setAriaLabel(e),this._replaceInput.inputBox.setAriaLabel(t)}getViewState(){let e=!1;return this._viewZone&&this._viewZoneId&&(e=this._viewZone.heightInPx>this._codeEditor.getScrollTop()),{widgetViewZoneVisible:e,scrollTop:this._codeEditor.getScrollTop()}}setViewState(e){e&&e.widgetViewZoneVisible&&this._layoutViewZone(e.scrollTop)}},hd=class extends yo{constructor(e,t){super(),this._opts=e;let n=`button`;this._opts.className&&(n=n+` `+this._opts.className),this._opts.icon&&(n=n+` `+M.asClassName(this._opts.icon)),this._domNode=document.createElement(`div`),this._domNode.tabIndex=0,this._domNode.className=n,this._domNode.setAttribute(`role`,`button`),this._domNode.setAttribute(`aria-label`,this._opts.label),this._register(t.setupDelayedHover(this._domNode,{content:this._opts.label,style:1},e.hoverLifecycleOptions)),this.onclick(this._domNode,e=>{this._opts.onTrigger(),e.preventDefault()}),this.onkeydown(this._domNode,e=>{e.equals(10)||e.equals(3)?(this._opts.onTrigger(),e.preventDefault()):this._opts.onKeyDown?.(e)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle(`disabled`,!e),this._domNode.setAttribute(`aria-disabled`,String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute(`aria-expanded`,String(!!e)),e?(this._domNode.classList.remove(...M.asClassNameArray(Ru)),this._domNode.classList.add(...M.asClassNameArray(zu))):(this._domNode.classList.remove(...M.asClassNameArray(zu)),this._domNode.classList.add(...M.asClassNameArray(Ru)))}};ke((e,t)=>{let n=e.getColor(ls);n&&t.addRule(`.monaco-editor .findMatch { border: 1px ${Ja(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`);let r=e.getColor(je);r&&t.addRule(`.monaco-editor .findScope { border: 1px ${Ja(e.type)?`dashed`:`solid`} ${r}; }`);let i=e.getColor(uo);i&&t.addRule(`.monaco-editor .find-widget { border: 1px solid ${i}; }`);let a=e.getColor(Dn);a&&t.addRule(`.monaco-editor .findMatchInline { color: ${a}; }`);let o=e.getColor(Pn);o&&t.addRule(`.monaco-editor .currentFindMatchInline { color: ${o}; }`)});var gd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_d=function(e,t){return function(n,r){t(n,r,e)}},vd,yd=class{static{vd=this}static{this.FIND_HISTORY_KEY=`workbench.find.history`}static{this._instance=null}static getOrCreate(e){return vd._instance||(vd._instance=new vd(e)),vd._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new b,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(e){let t=this.inMemoryValues.delete(e);return this.save(),t}add(e){return this.inMemoryValues.add(e),this.save(),this}has(e){return this.inMemoryValues.has(e)}forEach(e,t){return this.load(),this.inMemoryValues.forEach(e)}replace(e){this.inMemoryValues=new Set(e),this.save()}load(){let e,t=this.storageService.get(vd.FIND_HISTORY_KEY,1);if(t)try{e=JSON.parse(t)}catch{}this.inMemoryValues=new Set(e||[])}save(){let e=[];return this.inMemoryValues.forEach(t=>e.push(t)),new Promise(t=>{this.storageService.store(vd.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};yd=vd=gd([_d(0,Qt)],yd);var bd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xd=function(e,t){return function(n,r){t(n,r,e)}},Sd,Cd=class{static{Sd=this}static{this.FIND_HISTORY_KEY=`workbench.replace.history`}static{this._instance=null}static getOrCreate(e){return Sd._instance||(Sd._instance=new Sd(e)),Sd._instance}constructor(e){this.storageService=e,this.inMemoryValues=new Set,this._onDidChangeEmitter=new b,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(e){let t=this.inMemoryValues.delete(e);return this.save(),t}add(e){return this.inMemoryValues.add(e),this.save(),this}has(e){return this.inMemoryValues.has(e)}forEach(e,t){return this.load(),this.inMemoryValues.forEach(e)}replace(e){this.inMemoryValues=new Set(e),this.save()}load(){let e,t=this.storageService.get(Sd.FIND_HISTORY_KEY,1);if(t)try{e=JSON.parse(t)}catch{}this.inMemoryValues=new Set(e||[])}save(){let e=[];return this.inMemoryValues.forEach(t=>e.push(t)),new Promise(t=>{this.storageService.store(Sd.FIND_HISTORY_KEY,JSON.stringify(e),1,0),this._onDidChangeEmitter.fire(e),t()})}};Cd=Sd=bd([xd(0,Qt)],Cd);var wd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Td=function(e,t){return function(n,r){t(n,r,e)}},Ed,Dd=524288;function Od(e,t=`single`,n=!1){if(!e.hasModel())return null;let r=e.getSelection();if(t===`single`&&r.startLineNumber===r.endLineNumber||t===`multiple`){if(r.isEmpty()){let t=e.getConfiguredWordAtPosition(r.getStartPosition());if(t&&!1===n)return t.word}else if(e.getModel().getValueLengthInRange(r)<Dd)return e.getModel().getValueInRange(r)}return null}var kd=class extends j{static{Ed=this}static{this.ID=`editor.contrib.findController`}get editor(){return this._editor}static get(e){return e.getContribution(Ed.ID)}constructor(e,t,n,r,i,a){super(),this._editor=e,this._findWidgetVisible=su.bindTo(t),this._contextKeyService=t,this._storageService=n,this._clipboardService=r,this._notificationService=i,this._hoverService=a,this._updateHistoryDelayer=this._register(new Ft(500)),this._state=this._register(new xu),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(e=>this._onStateChanged(e))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{let e=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean(`editor.matchCase`,1,!1),wholeWord:this._storageService.getBoolean(`editor.wholeWord`,1,!1),isRegex:this._storageService.getBoolean(`editor.isRegex`,1,!1),preserveCase:this._storageService.getBoolean(`editor.preserveCase`,1,!1)},!1),e&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:`none`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(50).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&=(this._model.dispose(),null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store(`editor.isRegex`,this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store(`editor.wholeWord`,this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store(`editor.matchCase`,this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store(`editor.preserveCase`,this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean(`editor.matchCase`,1,this._state.matchCase),wholeWord:this._storageService.getBoolean(`editor.wholeWord`,1,this._state.wholeWord),isRegex:this._storageService.getBoolean(`editor.isRegex`,1,this._state.isRegex),preserveCase:this._storageService.getBoolean(`editor.preserveCase`,1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!cu.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(e=>(e.endColumn===1&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()?null:e)).filter(e=>!!e),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=pt(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;let n={...t,isRevealed:!0};if(e.seedSearchStringFromSelection===`single`){let t=Od(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);t&&(n.searchString=this._state.isRegex?pt(t):t)}else if(e.seedSearchStringFromSelection===`multiple`&&!e.updateSearchScope){let t=Od(this._editor,e.seedSearchStringFromSelection);t&&(n.searchString=t)}if(!n.searchString&&e.seedSearchStringFromGlobalClipboard){let e=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;e&&(n.searchString=e)}if(e.forceRevealReplace||n.isReplaceRevealed?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){let e=this._editor.getSelections();e.some(e=>!e.isEmpty())&&(n.searchScope=e)}n.loop=e.loop,this._state.change(n,!1),this._model||=new vu(this._editor,this._state)}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn(K(994,`The file is too large to perform a replace all operation.`)),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():``}setGlobalBufferTerm(e){this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};kd=Ed=wd([Td(1,G),Td(2,Qt),Td(3,On),Td(4,Ui),Td(5,Zi)],kd);var Ad=class extends kd{constructor(e,t,n,r,i,a,o,s,c,l){super(e,n,a,o,i,s),this._contextViewService=t,this._keybindingService=r,this._configurationService=c,this._accessibilityService=l,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=yd.getOrCreate(a),this._replaceWidgetHistory=Cd.getOrCreate(a)}async _start(e,t){this._widget||this._createFindWidget();let n=this._editor.getSelection(),r=!1;switch(this._editor.getOption(50).autoFindInSelection){case`always`:r=!0;break;case`never`:r=!1;break;case`multiline`:r=!!n&&n.startLineNumber!==n.endLineNumber}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new md(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._hoverService,this._findWidgetSearchHistory,this._replaceWidgetHistory,this._configurationService,this._accessibilityService)),this._findOptionsWidget=this._register(new yu(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(e){this._widget?.setViewState(e)}};Ad=wd([Td(1,_o),Td(2,G),Td(3,Oa),Td(4,Ui),Td(5,Qt),Td(6,On),Td(7,Zi),Td(8,fa),Td(9,Xi)],Ad),Kn(new Ie({id:Z.StartFindAction,label:z(1002,`Find`),precondition:L.or(H.focus,L.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:N.MenubarEditMenu,group:`3_find`,title:K(995,`&&Find`),order:1}})).addImplementation(0,(e,t,n)=>{let r=kd.get(t);return r?r.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(50).seedSearchStringFromSelection===`never`?`none`:`single`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}):!1});var jd={description:`Open a new In-Editor Find Widget.`,args:[{name:`Open a new In-Editor Find Widget args`,schema:{properties:{searchString:{type:`string`},replaceString:{type:`string`},isRegex:{type:`boolean`},matchWholeWord:{type:`boolean`},isCaseSensitive:{type:`boolean`},preserveCase:{type:`boolean`},findInSelection:{type:`boolean`}}}}]},Md=class extends B{constructor(){super({id:Z.StartFindWithArgs,label:z(1003,`Find with Arguments`),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:jd})}async run(e,t,n){let r=kd.get(t);if(r){let e=n?{searchString:n.searchString,replaceString:n.replaceString,isReplaceRevealed:n.replaceString!==void 0,isRegex:n.isRegex,wholeWord:n.matchWholeWord,matchCase:n.isCaseSensitive,preserveCase:n.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(50).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:n?.findInSelection||!1,loop:t.getOption(50).loop},e),r.setGlobalBufferTerm(r.getState().searchString)}}},Nd=class extends B{constructor(){super({id:Z.StartFindWithSelection,label:z(1004,`Find with Selection`),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){let n=kd.get(t);n&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`multiple`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),n.setGlobalBufferTerm(n.getState().searchString))}};async function Pd(e,t){let n=kd.get(e);if(!n)return;let r=e.getOption(50).closeOnResult,i=n.getState().isRevealed,a=()=>{let e=n.editor.getSelection(),a=t?n.moveToNextMatch():n.moveToPrevMatch(),o=!1;if(a){let t=n.editor.getSelection();(!e&&t||e&&t&&!e.equalsSelection(t))&&(o=!0)}return o?(n.editor.pushUndoStop(),r&&i&&n.isFindInputFocused()&&n.closeFindWidget(),!0):!1};if(!a()&&(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&e.getOption(50).seedSearchStringFromSelection!==`never`?`single`:`none`,seedSearchStringFromNonEmptySelection:e.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(50).loop}),!a())){let e=n.getState();i&&e.matchesCount===0&&e.searchString&&To(K(996,`{0} found for '{1}'`,ad,e.searchString))}}Kn(new Ie({id:Z.NextMatchFindAction,label:z(1005,`Find Next`),precondition:void 0,kbOpts:[{kbExpr:H.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:L.and(H.focus,cu),primary:3,weight:100}]})).addImplementation(0,async(e,t,n)=>Pd(t,!0)),Kn(new Ie({id:Z.PreviousMatchFindAction,label:z(1006,`Find Previous`),precondition:void 0,kbOpts:[{kbExpr:H.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:L.and(H.focus,cu),primary:1027,weight:100}]})).addImplementation(0,async(e,t,n)=>Pd(t,!1));var Fd=class extends B{constructor(){super({id:Z.GoToMatchFindAction,label:z(1007,`Go to Match...`),precondition:su}),this._highlightDecorations=[]}run(e,t){let n=kd.get(t);if(!n)return;let r=n.getState().matchesCount;if(r<1){e.get(Ui).notify({severity:Fi.Warning,message:K(997,`No matches. Try searching for something else.`)});return}let i=e.get(ee),a=new v,o=a.add(i.createInputBox());o.placeholder=K(998,`Type a number to go to a specific match (between 1 and {0})`,r);let s=e=>{let t=parseInt(e);if(isNaN(t))return;let r=n.getState().matchesCount;if(t>0&&t<=r)return t-1;if(t<0&&t>=-r)return r+t},c=e=>{let r=s(e);if(typeof r==`number`){o.validationMessage=void 0,n.goToMatch(r);let e=n.getState().currentMatch;e&&this.addDecorations(t,e)}else o.validationMessage=K(999,`Please type a number between 1 and {0}`,n.getState().matchesCount),this.clearDecorations(t)};a.add(o.onDidChangeValue(e=>{c(e)})),a.add(o.onDidAccept(()=>{let e=s(o.value);typeof e==`number`?(n.goToMatch(e),o.hide()):o.validationMessage=K(1e3,`Please type a number between 1 and {0}`,n.getState().matchesCount)})),a.add(o.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),o.show()}clearDecorations(e){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(e=>{this._highlightDecorations=e.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:`find-match-quick-access-range-highlight`,className:`rangeHighlight`,isWholeLine:!0}},{range:t,options:{description:`find-match-quick-access-range-highlight-overview`,overviewRuler:{color:be(ss),position:Ss.Full}}}])})}},Id=class extends B{async run(e,t){let n=kd.get(t);if(!n)return;let r=Od(t,`single`,!1);r&&n.setSearchString(r),this._run(n)||(await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:`none`,seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop}),this._run(n))}},Ld=class extends Id{constructor(){super({id:Z.NextSelectionMatchFindAction,label:z(1008,`Find Next Selection`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},Rd=class extends Id{constructor(){super({id:Z.PreviousSelectionMatchFindAction,label:z(1009,`Find Previous Selection`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}};Kn(new Ie({id:Z.StartFindReplaceAction,label:z(1010,`Replace`),precondition:L.or(H.focus,L.has(`editorIsOpen`)),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:N.MenubarEditMenu,group:`3_find`,title:K(1001,`&&Replace`),order:2}})).addImplementation(0,(e,t,n)=>{if(!t.hasModel()||t.getOption(104))return!1;let r=kd.get(t);if(!r)return!1;let i=t.getSelection(),a=r.isFindInputFocused(),o=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getOption(50).seedSearchStringFromSelection!==`never`&&!a,s=a||o?2:1;return r.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?`single`:`none`,seedSearchStringFromNonEmptySelection:t.getOption(50).seedSearchStringFromSelection===`selection`,seedSearchStringFromGlobalClipboard:t.getOption(50).seedSearchStringFromSelection!==`never`,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(50).loop})}),D(kd.ID,Ad,0),y(Md),y(Nd),y(Fd),y(Ld),y(Rd);var zd=Bt.bindToContribution(kd.get);x(new zd({id:Z.CloseFindWidgetCommand,precondition:su,handler:e=>e.closeFindWidget(),kbOpts:{weight:105,kbExpr:H.focus,primary:9,secondary:[1033]}})),x(new zd({id:Z.ToggleCaseSensitiveCommand,precondition:void 0,handler:e=>e.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:H.focus,primary:du.primary,mac:du.mac,win:du.win,linux:du.linux}})),x(new zd({id:Z.ToggleWholeWordCommand,precondition:void 0,handler:e=>e.toggleWholeWords(),kbOpts:{weight:105,kbExpr:H.focus,primary:fu.primary,mac:fu.mac,win:fu.win,linux:fu.linux}})),x(new zd({id:Z.ToggleRegexCommand,precondition:void 0,handler:e=>e.toggleRegex(),kbOpts:{weight:105,kbExpr:H.focus,primary:pu.primary,mac:pu.mac,win:pu.win,linux:pu.linux}})),x(new zd({id:Z.ToggleSearchScopeCommand,precondition:void 0,handler:e=>e.toggleSearchScope(),kbOpts:{weight:105,kbExpr:H.focus,primary:mu.primary,mac:mu.mac,win:mu.win,linux:mu.linux}})),x(new zd({id:Z.TogglePreserveCaseCommand,precondition:void 0,handler:e=>e.togglePreserveCase(),kbOpts:{weight:105,kbExpr:H.focus,primary:hu.primary,mac:hu.mac,win:hu.win,linux:hu.linux}})),x(new zd({id:Z.ReplaceOneAction,precondition:su,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:H.focus,primary:3094}})),x(new zd({id:Z.ReplaceOneAction,precondition:su,handler:e=>e.replace(),kbOpts:{weight:105,kbExpr:L.and(H.focus,lu),primary:3}})),x(new zd({id:Z.ReplaceAllAction,precondition:su,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:H.focus,primary:2563}})),x(new zd({id:Z.ReplaceAllAction,precondition:su,handler:e=>e.replaceAll(),kbOpts:{weight:105,kbExpr:L.and(H.focus,lu),primary:void 0,mac:{primary:2051}}})),x(new zd({id:Z.SelectAllMatchesAction,precondition:su,handler:e=>e.selectAllMatches(),kbOpts:{weight:105,kbExpr:H.focus,primary:515}}));var Bd={0:` `,1:`u`,2:`r`},Vd=16777215,Hd=4278190080,Ud=class{constructor(e){let t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){let t=e/32|0,n=e%32;return!!(this._states[t]&1<<n)}set(e,t){let n=e/32|0,r=e%32,i=this._states[n];t?this._states[n]=i|1<<r:this._states[n]=i&~(1<<r)}},Wd=class e{constructor(e,t,n){if(e.length!==t.length||e.length>65535)throw Error(`invalid startIndexes or endIndexes size`);this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Ud(e.length),this._userDefinedStates=new Ud(e.length),this._recoveredStates=new Ud(e.length),this._types=n,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(t,n)=>{let r=e[e.length-1];return this.getStartLineNumber(r)<=t&&this.getEndLineNumber(r)>=n};for(let n=0,r=this._startIndexes.length;n<r;n++){let r=this._startIndexes[n],i=this._endIndexes[n];if(r>16777215||i>16777215)throw Error(`startLineNumber or endLineNumber must not exceed 16777215`);for(;e.length>0&&!t(r,i);)e.pop();let a=e.length>0?e[e.length-1]:-1;e.push(n),this._startIndexes[n]=r+((a&255)<<24),this._endIndexes[n]=i+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Vd}getEndLineNumber(e){return this._endIndexes[e]&Vd}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let n=!1;if(this._types)for(let r=0;r<this._types.length;r++)this._types[r]===e&&(this.setCollapsed(r,t),n=!0);return n}toRegion(e){return new Gd(this,e)}getParentIndex(e){this.ensureParentIndices();let t=((this._startIndexes[e]&Hd)>>>24)+((this._endIndexes[e]&Hd)>>>16);return t===65535?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,n=this._startIndexes.length;if(n===0)return-1;for(;t<n;){let r=Math.floor((t+n)/2);e<this.getStartLineNumber(r)?n=r:t=r+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){let e=[];for(let t=0;t<this.length;t++)e[t]=`[${Bd[this.getSource(t)]}${this.isCollapsed(t)?`+`:`-`}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(`, `)}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Vd,endLineNumber:this._endIndexes[e]&Vd,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(t){let n=t.length,r=new Uint32Array(n),i=new Uint32Array(n),a=[],o=!1;for(let e=0;e<n;e++){let n=t[e];r[e]=n.startLineNumber,i[e]=n.endLineNumber,a.push(n.type),n.type&&(o=!0)}o||(a=void 0);let s=new e(r,i,a);for(let e=0;e<n;e++)t[e].isCollapsed&&s.setCollapsed(e,!0),s.setSource(e,t[e].source);return s}static sanitizeAndMerge(e,t,n,r){n??=Number.MAX_VALUE;let i=(e,t)=>Array.isArray(e)?(n=>n<t?e[n]:void 0):(n=>n<t?e.toFoldRange(n):void 0),a=i(e,e.length),o=i(t,t.length),s=0,c=0,l=a(0),u=o(0),d=[],f,p=0,m=[];for(;l||u;){let e;if(u&&(!l||l.startLineNumber>=u.startLineNumber))l&&l.startLineNumber===u.startLineNumber?(u.source===1?e=u:(e=l,e.isCollapsed=u.isCollapsed&&(l.endLineNumber===u.endLineNumber||!r?.startsInside(l.startLineNumber+1,l.endLineNumber+1)),e.source=0),l=a(++s)):(e=u,u.isCollapsed&&u.source===0&&(e.source=2)),u=o(++c);else{let t=c,n=u;for(;;){if(!n||n.startLineNumber>l.endLineNumber){e=l;break}if(n.source===1&&n.endLineNumber>l.endLineNumber)break;n=o(++t)}l=a(++s)}if(e){for(;f&&f.endLineNumber<e.startLineNumber;)f=d.pop();e.endLineNumber>e.startLineNumber&&e.startLineNumber>p&&e.endLineNumber<=n&&(!f||f.endLineNumber>=e.endLineNumber)&&(m.push(e),p=e.startLineNumber,f&&d.push(f),f=e)}}return m}},Gd=class{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}},Kd=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new b,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Wd(new Uint32Array,new Uint32Array),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);let t={};this._decorationProvider.changeDecorations(n=>{let r=0,i=-1,a=-1,o=e=>{for(;r<e;){let e=this._regions.getEndLineNumber(r),t=this._regions.isCollapsed(r);if(e<=i){let i=this.regions.getSource(r)!==0;n.changeDecorationOptions(this._editorDecorationIds[r],this._decorationProvider.getDecorationOption(t,e<=a,i))}t&&e>a&&(a=e),r++}};for(let n of e){let e=n.regionIndex,r=this._editorDecorationIds[e];if(r&&!t[r]){t[r]=!0,o(e);let n=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,n),i=Math.max(i,this._regions.getEndLineNumber(e))}}o(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){let t=new Set,n=!1;for(let r of e)if(J.isEmpty(r)){let e=this._regions.findRange(r.startLineNumber);for(;e!==-1&&this._regions.getSource(e)===0;)e=this._regions.getParentIndex(e);e===-1?n=!0:t.add(e)}let r=[],i=t=>{for(let n of e)if(!J.isEmpty(n)&&!(n.startLineNumber>t.endLineNumber||t.startLineNumber>n.endLineNumber))return!0;return!1};for(let e=0;e<this._regions.length;e++){let a=this._regions.toFoldRange(e);(a.source===0||!n&&!t.has(e)&&!i(a))&&r.push(a)}this.updatePost(Wd.fromFoldRanges(r))}update(e,t){let n=this._currentFoldedOrManualRanges(t),r=Wd.sanitizeAndMerge(e,n,this._textModel.getLineCount(),t);this.updatePost(Wd.fromFoldRanges(r))}updatePost(e){let t=[],n=-1;for(let r=0,i=e.length;r<i;r++){let i=e.getStartLineNumber(r),a=e.getEndLineNumber(r),o=e.isCollapsed(r),s=e.getSource(r)!==0,c={startLineNumber:i,startColumn:this._textModel.getLineMaxColumn(i),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:c,options:this._decorationProvider.getDecorationOption(o,a<=n,s)}),o&&a>n&&(n=a)}this._decorationProvider.changeDecorations(e=>this._editorDecorationIds=e.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){let t=[];for(let n=0,r=this._regions.length;n<r;n++){let r=this.regions.isCollapsed(n),i=this.regions.getSource(n);if(r||i!==0){let a=this._regions.toFoldRange(n),o=this._textModel.getDecorationRange(this._editorDecorationIds[n]);o&&(r&&e?.startsInside(o.startLineNumber+1,o.endLineNumber)&&(r=!1),t.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:a.type,isCollapsed:r,source:i}))}}return t}getMemento(){let e=this._currentFoldedOrManualRanges(),t=[],n=this._textModel.getLineCount();for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i.startLineNumber>=i.endLineNumber||i.startLineNumber<1||i.endLineNumber>n)continue;let a=this._getLinesChecksum(i.startLineNumber+1,i.endLineNumber);t.push({startLineNumber:i.startLineNumber,endLineNumber:i.endLineNumber,isCollapsed:i.isCollapsed,source:i.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;let t=[],n=this._textModel.getLineCount();for(let r of e){if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>n)continue;let e=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);(!r.checksum||e===r.checksum)&&t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,type:void 0,isCollapsed:r.isCollapsed??!0,source:r.source??0})}let r=Wd.sanitizeAndMerge(this._regions,t,n);this.updatePost(Wd.fromFoldRanges(r))}_getLinesChecksum(e,t){return Ae(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(e,t){let n=[];if(this._regions){let r=this._regions.findRange(e),i=1;for(;r>=0;){let e=this._regions.toRegion(r);(!t||t(e,i))&&n.push(e),i++,r=e.parentIndex}}return n}getRegionAtLine(e){if(this._regions){let t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){let n=[],r=e?e.regionIndex+1:0,i=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){let e=[];for(let a=r,o=this._regions.length;a<o;a++){let r=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<i){for(;e.length>0&&!r.containedBy(e[e.length-1]);)e.pop();e.push(r),t(r,e.length)&&n.push(r)}else break}}else for(let e=r,a=this._regions.length;e<a;e++){let r=this._regions.toRegion(e);if(this._regions.getStartLineNumber(e)<i)(!t||t(r))&&n.push(r);else break}return n}};function qd(e,t,n){let r=[];for(let i of n){let n=e.getRegionAtLine(i);if(n){let i=!n.isCollapsed;if(r.push(n),t>1){let a=e.getRegionsInside(n,(e,n)=>e.isCollapsed!==i&&n<t);r.push(...a)}}}e.toggleCollapseState(r)}function Jd(e,t,n=Number.MAX_VALUE,r){let i=[];if(r&&r.length>0)for(let a of r){let r=e.getRegionAtLine(a);if(r&&(r.isCollapsed!==t&&i.push(r),n>1)){let a=e.getRegionsInside(r,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...a)}}else{let r=e.getRegionsInside(null,(e,r)=>e.isCollapsed!==t&&r<n);i.push(...r)}e.toggleCollapseState(i)}function Yd(e,t,n,r){let i=[];for(let a of r){let r=e.getAllRegionsAtLine(a,(e,r)=>e.isCollapsed!==t&&r<=n);i.push(...r)}e.toggleCollapseState(i)}function Xd(e,t,n){let r=[];for(let i of n){let n=e.getAllRegionsAtLine(i,e=>e.isCollapsed!==t);n.length>0&&r.push(n[0])}e.toggleCollapseState(r)}function Zd(e,t,n,r){let i=e.getRegionsInside(null,(e,i)=>i===t&&e.isCollapsed!==n&&!r.some(t=>e.containsLine(t)));e.toggleCollapseState(i)}function Qd(e,t,n){let r=[];for(let t of n){let n=e.getAllRegionsAtLine(t,void 0);n.length>0&&r.push(n[0])}let i=e.getRegionsInside(null,e=>r.every(t=>!t.containedBy(e)&&!e.containedBy(t))&&e.isCollapsed!==t);e.toggleCollapseState(i)}function $d(e,t,n){let r=e.textModel,i=e.regions,a=[];for(let e=i.length-1;e>=0;e--)if(n!==i.isCollapsed(e)){let n=i.getStartLineNumber(e);t.test(r.getLineContent(n))&&a.push(i.toRegion(e))}e.toggleCollapseState(a)}function ef(e,t,n){let r=e.regions,i=[];for(let e=r.length-1;e>=0;e--)n!==r.isCollapsed(e)&&t===r.getType(e)&&i.push(r.toRegion(e));e.toggleCollapseState(i)}function tf(e,t){let n=null,r=t.getRegionAtLine(e);if(r!==null&&(n=r.startLineNumber,e===n)){let e=r.parentIndex;n=e===-1?null:t.regions.getStartLineNumber(e)}return n}function nf(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){if(e!==n.startLineNumber)return n.startLineNumber;{let e=n.parentIndex,r=0;for(e!==-1&&(r=t.regions.getStartLineNumber(n.parentIndex));n!==null;)if(n.regionIndex>0){if(n=t.regions.toRegion(n.regionIndex-1),n.startLineNumber<=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}}else if(t.regions.length>0)for(n=t.regions.toRegion(t.regions.length-1);n!==null;){if(n.startLineNumber<e)return n.startLineNumber;n=n.regionIndex>0?t.regions.toRegion(n.regionIndex-1):null}return null}function rf(e,t){let n=t.getRegionAtLine(e);if(n!==null&&n.startLineNumber===e){let e=n.parentIndex,r=0;if(e!==-1)r=t.regions.getEndLineNumber(n.parentIndex);else if(t.regions.length===0)return null;else r=t.regions.getEndLineNumber(t.regions.length-1);for(;n!==null;)if(n.regionIndex<t.regions.length){if(n=t.regions.toRegion(n.regionIndex+1),n.startLineNumber>=r)return null;if(n.parentIndex===e)return n.startLineNumber}else return null}else if(t.regions.length>0)for(n=t.regions.toRegion(0);n!==null;){if(n.startLineNumber>e)return n.startLineNumber;n=n.regionIndex<t.regions.length?t.regions.toRegion(n.regionIndex+1):null}return null}var af=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new b,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(e=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(e=>e.range.endLineNumber!==e.range.startLineNumber||ui(e.text)[0]!==0))}updateHiddenRanges(){let e=!1,t=[],n=0,r=0,i=Number.MAX_VALUE,a=-1,o=this._foldingModel.regions;for(;n<o.length;n++){if(!o.isCollapsed(n))continue;let s=o.getStartLineNumber(n)+1,c=o.getEndLineNumber(n);i<=s&&c<=a||(!e&&r<this._hiddenRanges.length&&this._hiddenRanges[r].startLineNumber===s&&this._hiddenRanges[r].endLineNumber===c?(t.push(this._hiddenRanges[r]),r++):(e=!0,t.push(new J(s,1,c,1))),i=s,a=c)}(this._hasLineChanges||e||r<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return sf(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1,n=this._foldingModel.textModel,r=null,i=e=>((!r||!of(e,r))&&(r=sf(this._hiddenRanges,e)),r?r.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let a=e[r],o=i(a.startLineNumber);o&&(a=a.setStartPosition(o,n.getLineMaxColumn(o)),t=!0);let s=i(a.endLineNumber);s&&(a=a.setEndPosition(s,n.getLineMaxColumn(s)),t=!0),e[r]=a}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&=(this._foldingModelListener.dispose(),null),this._updateEventEmitter.dispose()}};function of(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}function sf(e,t){let n=Da(e,e=>t<e.startLineNumber)-1;return n>=0&&e[n].endLineNumber>=t?e[n]:null}var cf=5e3,lf=`indent`,uf=class{constructor(e,t,n){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=n,this.id=lf}dispose(){}compute(e){let t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,n=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(pf(this.editorModel,n,r,this.foldingRangesLimit))}},df=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,n){if(e>16777215||t>16777215)return;let r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,n<1e3&&(this._indentOccurrences[n]=(this._indentOccurrences[n]||0)+1)}toIndentRanges(e){let t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=this._length-1,r=0;n>=0;n--,r++)e[r]=this._startIndexes[n],t[r]=this._endIndexes[n];return new Wd(e,t)}{this._foldingRangesLimit.update(this._length,t);let n=0,r=this._indentOccurrences.length;for(let e=0;e<this._indentOccurrences.length;e++){let i=this._indentOccurrences[e];if(i){if(i+n>t){r=e;break}n+=i}}let i=e.getOptions().tabSize,a=new Uint32Array(t),o=new Uint32Array(t);for(let s=this._length-1,c=0;s>=0;s--){let l=this._startIndexes[s],u=e.getLineContent(l),d=gs(u,i);(d<r||d===r&&n++<t)&&(a[c]=l,o[c]=this._endIndexes[s],c++)}return new Wd(a,o)}}},ff={limit:cf,update:()=>{}};function pf(e,t,n,r=ff){let i=e.getOptions().tabSize,a=new df(r),o,s,c;n&&(n.start.flags===n.end.flags?o=RegExp(`(${n.start.source})|(?:${n.end.source})`,n.start.flags):(s=n.start,c=n.end));let l=[],u=e.getLineCount()+1;l.push({indent:-1,endAbove:u,line:u});for(let n=e.getLineCount();n>0;n--){let r=e.getLineContent(n),u=gs(r,i),d=l[l.length-1];if(u===-1){t&&(d.endAbove=n);continue}let f=!1,p=!1,m;if(o?(o.lastIndex=0,(m=o.exec(r))&&(f=!!m[1],p=!f)):(s&&(s.lastIndex=0,f=s.test(r)),!f&&c&&(c.lastIndex=0,p=c.test(r))),f||p){if(f){let e=l.length-1;for(;e>0&&l[e].indent!==-2;)e--;if(e>0){l.length=e+1,d=l[e],a.insertFirst(n,d.line,u),d.line=n,d.indent=u,d.endAbove=n;continue}}else{l.push({indent:-2,endAbove:n,line:n});continue}}if(d.indent>u){do l.pop(),d=l[l.length-1];while(d.indent>u);let e=d.endAbove-1;e-n>=1&&a.insertFirst(n,e,u)}d.indent===u?d.endAbove=n:l.push({indent:u,endAbove:n,line:n})}return a.toIndentRanges(e)}var mf=T(`editor.foldBackground`,{light:a(vn,.3),dark:a(vn,.3),hcDark:null,hcLight:null},K(1060,`Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations.`),!0);T(`editor.foldPlaceholderForeground`,{light:`#808080`,dark:`#808080`,hcDark:null,hcLight:null},K(1061,`Color of the collapsed text after the first line of a folded range.`)),T(`editorGutter.foldingControlForeground`,vr,K(1062,`Color of the folding control in the editor gutter.`));var hf=U(`folding-expanded`,X.chevronDown,K(1063,`Icon for expanded ranges in the editor glyph margin.`)),gf=U(`folding-collapsed`,X.chevronRight,K(1064,`Icon for collapsed ranges in the editor glyph margin.`)),_f=U(`folding-manual-collapsed`,gf,K(1065,`Icon for manually collapsed ranges in the editor glyph margin.`)),vf=U(`folding-manual-expanded`,hf,K(1066,`Icon for manually expanded ranges in the editor glyph margin.`)),yf={color:be(mf),position:1},bf=K(1067,`Click to expand the range.`),xf=K(1068,`Click to collapse the range.`),Sf=class e{static{this.COLLAPSED_VISUAL_DECORATION=F.register({description:`folding-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:bf,firstLineDecorationClassName:M.asClassName(gf)})}static{this.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=F.register({description:`folding-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:yf,isWholeLine:!0,linesDecorationsTooltip:bf,firstLineDecorationClassName:M.asClassName(gf)})}static{this.MANUALLY_COLLAPSED_VISUAL_DECORATION=F.register({description:`folding-manually-collapsed-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:bf,firstLineDecorationClassName:M.asClassName(_f)})}static{this.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=F.register({description:`folding-manually-collapsed-highlighted-visual-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:yf,isWholeLine:!0,linesDecorationsTooltip:bf,firstLineDecorationClassName:M.asClassName(_f)})}static{this.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=F.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,isWholeLine:!0,linesDecorationsTooltip:bf})}static{this.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=F.register({description:`folding-no-controls-range-decoration`,stickiness:0,afterContentClassName:`inline-folded`,className:`folded-background`,minimap:yf,isWholeLine:!0,linesDecorationsTooltip:bf})}static{this.EXPANDED_VISUAL_DECORATION=F.register({description:`folding-expanded-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+M.asClassName(hf),linesDecorationsTooltip:xf})}static{this.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=F.register({description:`folding-expanded-auto-hide-visual-decoration`,stickiness:1,isWholeLine:!0,firstLineDecorationClassName:M.asClassName(hf),linesDecorationsTooltip:xf})}static{this.MANUALLY_EXPANDED_VISUAL_DECORATION=F.register({description:`folding-manually-expanded-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:`alwaysShowFoldIcons `+M.asClassName(vf),linesDecorationsTooltip:xf})}static{this.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=F.register({description:`folding-manually-expanded-auto-hide-visual-decoration`,stickiness:0,isWholeLine:!0,firstLineDecorationClassName:M.asClassName(vf),linesDecorationsTooltip:xf})}static{this.NO_CONTROLS_EXPANDED_RANGE_DECORATION=F.register({description:`folding-no-controls-range-decoration`,stickiness:0,isWholeLine:!0})}static{this.HIDDEN_RANGE_DECORATION=F.register({description:`folding-hidden-range-decoration`,stickiness:1})}constructor(e){this.editor=e,this.showFoldingControls=`mouseover`,this.showFoldingHighlights=!0}getDecorationOption(t,n,r){return n?e.HIDDEN_RANGE_DECORATION:this.showFoldingControls===`never`?t?this.showFoldingHighlights?e.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:e.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:e.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?r?this.showFoldingHighlights?e.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?e.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:e.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls===`mouseover`?r?e.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:r?e.MANUALLY_EXPANDED_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}},Cf={},wf=`syntax`,Tf=class{constructor(e,t,n,r,i){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=n,this.foldingRangesLimit=r,this.fallbackRangeProvider=i,this.id=wf,this.disposables=new v,i&&this.disposables.add(i);for(let e of t)typeof e.onDidChange==`function`&&this.disposables.add(e.onDidChange(n))}compute(e){return Ef(this.providers,this.editorModel,e).then(t=>this.editorModel.isDisposed()?null:t?Of(t,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(e)??null)}dispose(){this.disposables.dispose()}};function Ef(e,t,n){let r=null,i=e.map((e,i)=>Promise.resolve(e.provideFoldingRanges(t,Cf,n)).then(e=>{if(!n.isCancellationRequested&&Array.isArray(e)){Array.isArray(r)||(r=[]);let n=t.getLineCount();for(let t of e)t.start>0&&t.end>t.start&&t.end<=n&&r.push({start:t.start,end:t.end,rank:i,kind:t.kind})}},qr));return Promise.all(i).then(e=>r)}var Df=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,n,r){if(e>16777215||t>16777215)return;let i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=r,this._types[i]=n,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){let e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let n=0;n<this._length;n++)e[n]=this._startIndexes[n],t[n]=this._endIndexes[n];return new Wd(e,t,this._types)}{this._foldingRangesLimit.update(this._length,e);let t=0,n=this._nestingLevelCounts.length;for(let r=0;r<this._nestingLevelCounts.length;r++){let i=this._nestingLevelCounts[r];if(i){if(i+t>e){n=r;break}t+=i}}let r=new Uint32Array(e),i=new Uint32Array(e),a=[];for(let o=0,s=0;o<this._length;o++){let c=this._nestingLevels[o];(c<n||c===n&&t++<e)&&(r[s]=this._startIndexes[o],i[s]=this._endIndexes[o],a[s]=this._types[o],s++)}return new Wd(r,i,a)}}};function Of(e,t){let n=e.sort((e,t)=>{let n=e.start-t.start;return n===0&&(n=e.rank-t.rank),n}),r=new Df(t),i,a=[];for(let e of n)if(!i)i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else if(e.start>i.start){if(e.end<=i.end)a.push(i),i=e,r.add(e.start,e.end,e.kind&&e.kind.value,a.length);else{if(e.start>i.end){do i=a.pop();while(i&&e.start>i.end);i&&a.push(i),i=e}r.add(e.start,e.end,e.kind&&e.kind.value,a.length)}}return r.toIndentRanges()}var kf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Af=function(e,t){return function(n,r){t(n,r,e)}},jf,Mf=new W(`foldingEnabled`,!1),Nf=class extends j{static{jf=this}static{this.ID=`editor.contrib.folding`}static get(e){return e.getContribution(jf.ID)}static getFoldingRangeProviders(e,t){let n=e.foldingRangeProvider.ordered(t);return jf._foldingRangeSelector?.(n,t)??n}constructor(e,t,n,r,i,a){super(),this.contextKeyService=t,this.languageConfigurationService=n,this.languageFeaturesService=a,this.localToDispose=this._register(new v),this.editor=e,this._foldingLimitReporter=this._register(new Pf(e));let o=this.editor.getOptions();this._isEnabled=o.get(52),this._useFoldingProviders=o.get(53)!==`indentation`,this._unfoldOnClickAfterEndOfLine=o.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=o.get(55),this.updateDebounceInfo=i.for(a.foldingRangeProvider,`Folding`,{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new Sf(e),this.foldingDecorationProvider.showFoldingControls=o.get(126),this.foldingDecorationProvider.showFoldingHighlights=o.get(54),this.foldingEnabled=Mf.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(52)&&(this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(56)&&this.onModelChanged(),e.hasChanged(126)||e.hasChanged(54)){let e=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=e.get(126),this.foldingDecorationProvider.showFoldingHighlights=e.get(54),this.triggerFoldingModelChanged()}e.hasChanged(53)&&(this._useFoldingProviders=this.editor.getOptions().get(53)!==`indentation`,this.onFoldingStrategyChanged()),e.hasChanged(57)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57)),e.hasChanged(55)&&(this._foldingImportsByDefault=this.editor.getOptions().get(55))})),this.onModelChanged()}saveViewState(){let e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){let t=this.foldingModel.getMemento(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){let t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();let e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new Kd(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new af(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new Ft(this.updateDebounceInfo.get(e)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new Ht(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(e=>this.onDidChangeModelContent(e))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&=(this.foldingRegionPromise.cancel(),null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;let t=new uf(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){let n=jf.getFoldingRangeProviders(this.languageFeaturesService,e);n.length>0&&(this.rangeProvider=new Tf(e,n,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){this.hiddenRangeModel?.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&=(this.foldingRegionPromise.cancel(),null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{let e=this.foldingModel;if(!e)return null;let t=new Ns,n=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=ot(e=>n.compute(e));return r.then(n=>{if(n&&r===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){let e=n.setCollapsedAllOfType(pi.Imports.value,!0);e&&(r=Ci.capture(this.editor),this._currentModelHasFoldedImports=e)}let i=this.editor.getSelections();e.update(n,If(i)),r?.restore(this.editor);let a=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=a)}return e})}).then(void 0,e=>(Y(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){let e=this.getFoldingModel();e&&e.then(e=>{if(e){let t=this.editor.getSelections();if(t&&t.length>0){let n=[];for(let r of t){let t=r.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&n.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}n.length&&(e.toggleCollapseState(n),this.reveal(t[0].getPosition()))}}}).then(void 0,Y)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;let t=e.target.range,n=!1;switch(e.target.type){case 4:{let t=e.target.detail,r=e.target.element.offsetLeft;if(t.offsetX-r<4)return;n=!0;break}case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){let e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:n}}onEditorMouseUp(e){let t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;let n=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,i=e.target.range;if(!i||i.startLineNumber!==n)return;if(r){if(e.target.type!==4)return}else{let e=this.editor.getModel();if(!e||i.startColumn!==e.getLineMaxColumn(n))return}let a=t.getRegionAtLine(n);if(a&&a.startLineNumber===n){let i=a.isCollapsed;if(r||i){let r=e.event.altKey,o=[];if(r){let e=t.getRegionsInside(null,e=>!e.containedBy(a)&&!a.containedBy(e));for(let t of e)t.isCollapsed&&o.push(t);o.length===0&&(o=e)}else{let n=e.event.middleButton||e.event.shiftKey;if(n)for(let e of t.getRegionsInside(a))e.isCollapsed===i&&o.push(e);(i||!n||o.length===0)&&o.push(a)}t.toggleCollapseState(o),this.reveal({lineNumber:n,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};Nf=jf=kf([Af(1,G),Af(2,os),Af(3,Ui),Af(4,Ne),Af(5,q)],Nf);var Pf=class extends j{constructor(e){super(),this.editor=e,this._onDidChange=this._register(new b),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},Ff=class extends B{runEditorCommand(e,t,n){let r=e.get(os),i=Nf.get(t);if(!i)return;let a=i.getFoldingModel();if(a)return this.reportTelemetry(e,t),a.then(e=>{if(e){this.invoke(i,e,t,n,r);let a=t.getSelection();a&&i.reveal(a.getStartPosition())}})}getSelectedLines(e){let t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}};function If(e){return!e||e.length===0?{startsInside:()=>!1}:{startsInside(t,n){for(let r of e){let e=r.startLineNumber;if(e>=t&&e<=n)return!0}return!1}}}function Lf(e){if(!Qa(e)){if(!li(e))return!1;let t=e;if(!Qa(t.levels)&&!Ho(t.levels)||!Qa(t.direction)&&!wi(t.direction)||!Qa(t.selectionLines)&&(!Array.isArray(t.selectionLines)||!t.selectionLines.every(Ho)))return!1}return!0}var Rf=class extends Ff{constructor(){super({id:`editor.unfold`,label:z(1040,`Unfold`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:`Unfold the content in the editor`,args:[{name:`Unfold editor argument`,description:`Property-value pairs that can be passed through this argument:
|
|
9
|
+
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
10
|
+
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
11
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
|
|
12
|
+
`,constraint:Lf,schema:{type:`object`,properties:{levels:{type:`number`,default:1},direction:{type:`string`,enum:[`up`,`down`],default:`down`},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=r&&r.levels||1,a=this.getLineNumbers(r,n);r&&r.direction===`up`?Yd(t,!1,i,a):Jd(t,!1,i,a)}},zf=class extends Ff{constructor(){super({id:`editor.unfoldRecursively`,label:z(1041,`Unfold Recursively`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2142),weight:100}})}invoke(e,t,n,r){Jd(t,!1,Number.MAX_VALUE,this.getSelectedLines(n))}},Bf=class extends Ff{constructor(){super({id:`editor.fold`,label:z(1042,`Fold`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:`Fold the content in the editor`,args:[{name:`Fold editor argument`,description:`Property-value pairs that can be passed through this argument:
|
|
13
|
+
* 'levels': Number of levels to fold.
|
|
14
|
+
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
15
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
|
|
16
|
+
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
17
|
+
`,constraint:Lf,schema:{type:`object`,properties:{levels:{type:`number`},direction:{type:`string`,enum:[`up`,`down`]},selectionLines:{type:`array`,items:{type:`number`}}}}}]}})}invoke(e,t,n,r){let i=this.getLineNumbers(r,n),a=r&&r.levels,o=r&&r.direction;typeof a!=`number`&&typeof o!=`string`?Xd(t,!0,i):o===`up`?Yd(t,!0,a||1,i):Jd(t,!0,a||1,i)}},Vf=class extends Ff{constructor(){super({id:`editor.toggleFold`,label:z(1043,`Toggle Fold`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2090),weight:100}})}invoke(e,t,n){qd(t,1,this.getSelectedLines(n))}},Hf=class extends Ff{constructor(){super({id:`editor.foldRecursively`,label:z(1044,`Fold Recursively`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2140),weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);Jd(t,!0,Number.MAX_VALUE,r)}},Uf=class extends Ff{constructor(){super({id:`editor.toggleFoldRecursively`,label:z(1045,`Toggle Fold Recursively`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,3114),weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);qd(t,Number.MAX_VALUE,r)}},Wf=class extends Ff{constructor(){super({id:`editor.foldAllBlockComments`,label:z(1046,`Fold All Block Comments`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2138),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())ef(t,pi.Comment.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).comments;r&&r.blockCommentStartToken&&$d(t,RegExp(`^\\s*`+pt(r.blockCommentStartToken)),!0)}}},Gf=class extends Ff{constructor(){super({id:`editor.foldAllMarkerRegions`,label:z(1047,`Fold All Regions`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2077),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())ef(t,pi.Region.value,!0);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&$d(t,new RegExp(r.markers.start),!0)}}},Kf=class extends Ff{constructor(){super({id:`editor.unfoldAllMarkerRegions`,label:z(1048,`Unfold All Regions`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2078),weight:100}})}invoke(e,t,n,r,i){if(t.regions.hasTypes())ef(t,pi.Region.value,!1);else{let e=n.getModel();if(!e)return;let r=i.getLanguageConfiguration(e.getLanguageId()).foldingRules;r&&r.markers&&r.markers.start&&$d(t,new RegExp(r.markers.start),!1)}}},qf=class extends Ff{constructor(){super({id:`editor.foldAllExcept`,label:z(1049,`Fold All Except Selected`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2136),weight:100}})}invoke(e,t,n){Qd(t,!0,this.getSelectedLines(n))}},Jf=class extends Ff{constructor(){super({id:`editor.unfoldAllExcept`,label:z(1050,`Unfold All Except Selected`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2134),weight:100}})}invoke(e,t,n){Qd(t,!1,this.getSelectedLines(n))}},Yf=class extends Ff{constructor(){super({id:`editor.foldAll`,label:z(1051,`Fold All`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2069),weight:100}})}invoke(e,t,n){Jd(t,!0)}},Xf=class extends Ff{constructor(){super({id:`editor.unfoldAll`,label:z(1052,`Unfold All`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2088),weight:100}})}invoke(e,t,n){Jd(t,!1)}},Zf=class e extends Ff{static{this.ID_PREFIX=`editor.foldLevel`}static{this.ID=t=>e.ID_PREFIX+t}getFoldingLevel(){return parseInt(this.id.substr(e.ID_PREFIX.length))}invoke(e,t,n){Zd(t,this.getFoldingLevel(),!0,this.getSelectedLines(n))}},Qf=class extends Ff{constructor(){super({id:`editor.gotoParentFold`,label:z(1053,`Go to Parent Fold`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=tf(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},$f=class extends Ff{constructor(){super({id:`editor.gotoPreviousFold`,label:z(1054,`Go to Previous Folding Range`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=nf(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},ep=class extends Ff{constructor(){super({id:`editor.gotoNextFold`,label:z(1055,`Go to Next Folding Range`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,weight:100}})}invoke(e,t,n){let r=this.getSelectedLines(n);if(r.length>0){let e=rf(r[0],t);e!==null&&n.setSelection({startLineNumber:e,startColumn:1,endLineNumber:e,endColumn:1})}}},tp=class extends Ff{constructor(){super({id:`editor.createFoldingRangeFromSelection`,label:z(1056,`Create Folding Range from Selection`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2135),weight:100}})}invoke(e,t,n){let r=[],i=n.getSelections();if(i){for(let e of i){let t=e.endLineNumber;e.endColumn===1&&--t,t>e.startLineNumber&&(r.push({startLineNumber:e.startLineNumber,endLineNumber:t,type:void 0,isCollapsed:!0,source:1}),n.setSelection({startLineNumber:e.startLineNumber,startColumn:1,endLineNumber:e.startLineNumber,endColumn:1}))}if(r.length>0){r.sort((e,t)=>e.startLineNumber-t.startLineNumber);let e=Wd.sanitizeAndMerge(t.regions,r,n.getModel()?.getLineCount());t.updatePost(Wd.fromFoldRanges(e))}}}},np=class extends Ff{constructor(){super({id:`editor.removeManualFoldingRanges`,label:z(1057,`Remove Manual Folding Ranges`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2137),weight:100}})}invoke(e,t,n){let r=n.getSelections();r&&(t.removeManualRanges(r),e.triggerFoldingModelChanged())}},rp=class extends Ff{constructor(){super({id:`editor.toggleImportFold`,label:z(1058,`Toggle Import Fold`),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,weight:100}})}async invoke(e,t){let n=[],r=t.regions;for(let e=r.length-1;e>=0;e--)r.getType(e)===pi.Imports.value&&n.push(r.toRegion(e));t.toggleCollapseState(n),e.triggerFoldingModelChanged()}};D(Nf.ID,Nf,0),y(Rf),y(zf),y(Bf),y(Hf),y(Uf),y(Yf),y(Xf),y(Wf),y(Gf),y(Kf),y(qf),y(Jf),y(Vf),y(Qf),y($f),y(ep),y(tp),y(np),y(rp);for(let e=1;e<=7;e++)ks(new Zf({id:Zf.ID(e),label:z(1059,`Fold Level {0}`,e),precondition:Mf,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2048|21+e),weight:100}}));R.registerCommand(`_executeFoldingRangeProvider`,async function(e,...t){let[n]=t;if(!(n instanceof me))throw Ar();let r=e.get(q),i=e.get(ce).getModel(n);if(!i)throw Ar();let a=e.get(fa);if(!a.getValue(`editor.folding`,{resource:n}))return[];let o=e.get(os),s=a.getValue(`editor.foldingStrategy`,{resource:n}),c={get limit(){return a.getValue(`editor.foldingMaximumRegions`,{resource:n})},update:(e,t)=>{}},l=new uf(i,o,c),u=l;if(s!==`indentation`){let e=Nf.getFoldingRangeProviders(r,i);e.length&&(u=new Tf(i,e,()=>{},c,l))}let d=await u.compute(w.None),f=[];try{if(d)for(let e=0;e<d.length;e++){let t=d.getType(e);f.push({start:d.getStartLineNumber(e),end:d.getEndLineNumber(e),kind:t?pi.fromValue(t):void 0})}return f}finally{u.dispose()}});var ip=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ap=function(e,t){return function(n,r){t(n,r,e)}},op=class{constructor(e,t,n){this.marker=e,this.index=t,this.total=n}},sp=class{constructor(e,t,n){this._markerService=t,this._configService=n,this._onDidChange=new b,this.onDidChange=this._onDidChange.event,this._dispoables=new v,this._markers=[],this._nextIdx=-1,me.isUri(e)?this._resourceFilter=t=>t.toString()===e.toString():e&&(this._resourceFilter=e);let r=this._configService.getValue(`problems.sortOrder`),i=(e,t)=>{let n=Ke(e.resource.toString(),t.resource.toString());return n===0&&(n=r===`position`?J.compareRangesUsingStarts(e,t)||hn.compare(e.severity,t.severity):hn.compare(e.severity,t.severity)||J.compareRangesUsingStarts(e,t)),n},a=()=>{let t=this._markerService.read({resource:me.isUri(e)?e:void 0,severities:hn.Error|hn.Warning|hn.Info});return typeof e==`function`&&(t=t.filter(e=>this._resourceFilter(e.resource))),t.sort(i),!De(t,this._markers,(e,t)=>e.resource.toString()===t.resource.toString()&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn&&e.severity===t.severity&&e.message===t.message)&&(this._markers=t,!0)};a(),this._dispoables.add(t.onMarkerChanged(e=>{(!this._resourceFilter||e.some(e=>this._resourceFilter(e)))&&a()&&(this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){let e=this._markers[this._nextIdx];return e&&new op(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,n){let r=this._markers.findIndex(t=>hr(t.resource,e.uri));if(r<0)r=le(this._markers.length,t=>Ke(this._markers[t].resource.toString(),e.uri.toString())),r<0&&(r=~r),this._nextIdx=n?r:(this._markers.length+r-1)%this._markers.length;else{let i=!1,a=!1;for(let n=r;n<this._markers.length;n++){let r=J.lift(this._markers[n]);if(r.isEmpty()){let t=e.getWordAtPosition(r.getStartPosition());t&&(r=new J(r.startLineNumber,t.startColumn,r.startLineNumber,t.endColumn))}if(t&&(r.containsPosition(t)||t.isBeforeOrEqual(r.getStartPosition()))){this._nextIdx=n,i=!0,a=!r.containsPosition(t);break}if(this._markers[n].resource.toString()!==e.uri.toString())break}i?a&&!n&&--this._nextIdx:this._nextIdx=n?0:this._markers.length-1}this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,n){if(this._markers.length===0)return!1;let r=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,n,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),r!==this._nextIdx}find(e,t){let n=this._markers.findIndex(t=>t.resource.toString()===e.toString());if(!(n<0)){for(;n<this._markers.length;n++)if(J.containsPosition(this._markers[n],t))return new op(this._markers[n],n+1,this._markers.length)}}};sp=ip([ap(1,Tt),ap(2,fa)],sp);var cp=Ee(`IMarkerNavigationService`),lp=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new oe}getMarkerList(e){for(let t of this._provider){let n=t.getMarkerList(e);if(n)return n}return new sp(e,this._markerService,this._configService)}};lp=ip([ap(0,Tt),ap(1,fa)],lp),ye(cp,lp,1);var up=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dp=function(e,t){return function(n,r){t(n,r,e)}},fp=class extends Ka{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},n,i,a,o,s,c,l,u,d,f,p),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(e=>this._onParentConfigurationChanged(e)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){Wa(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};fp=up([dp(4,k),dp(5,is),dp(6,Mi),dp(7,G),dp(8,Mn),dp(9,Ui),dp(10,Xi),dp(11,os),dp(12,q),dp(13,Ei)],fp);function pp(e){let t=e.get(is).getFocusedCodeEditor();return t instanceof fp?t.getParentEditor():t}var mp=new I(new $a(0,122,204)),hp={showArrow:!0,showFrame:!0,className:``,frameColor:mp,arrowColor:mp,keepEditorSelection:!1},gp=`vs.editor.contrib.zoneWidget`,_p=class{constructor(e,t,n,r,i,a,o,s){this.id=``,this.domNode=e,this.afterLineNumber=t,this.afterColumn=n,this.heightInLines=r,this.showInHiddenAreas=o,this.ordinal=s,this._onDomNodeTop=i,this._onComputedHeight=a}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}},vp=class{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}},yp=class e{static{this._IdGenerator=new Ps(`.arrow-decoration-`)}constructor(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),Ia(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){Ia(this._ruleName),Po(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:J.fromPositions(e),options:{description:`zone-widget-arrow`,className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}},bp=class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new v,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=Rr(t),Wa(this.options,hp,!1),this.domNode=document.createElement(`div`),this.options.isAccessible||(this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setAttribute(`role`,`presentation`)),this._disposables.add(this.editor.onDidLayoutChange(e=>{let t=this._getWidth(e);this.domNode.style.width=t+`px`,this.domNode.style.left=this._getLeft(e)+`px`,this._onWidth(t)}))}dispose(){this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add(`zone-widget`),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement(`div`),this.container.classList.add(`zone-widget-container`),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new yp(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){let e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){let e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+`px`}_onViewZoneHeight(e){if(this.domNode.style.height=`${e}px`,this.container){let t=e-this._decoratingElementsHeight();this.container.style.height=`${t}px`;let n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash?.layout()}get position(){let e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){let n=J.isIRange(e)?J.lift(e):J.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId.set([{range:n,options:F.EMPTY}])}hide(){this._viewZone&&=(this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id)}),null),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this._arrow?.hide(),this._positionMarkerId.clear(),this._isSashResizeHeight=!1}_decoratingElementsHeight(){let e=this.editor.getOption(75),t=0;if(this.options.showArrow){let n=Math.round(e/3);t+=2*n}if(this.options.showFrame){let n=this.options.frameWidth??Math.round(e/9);t+=2*n}return t}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*.8)}_showImpl(e,t){let n=e.getStartPosition(),r=this.editor.getLayoutInfo(),i=this._getWidth(r);this.domNode.style.width=`${i}px`,this.domNode.style.left=this._getLeft(r)+`px`;let a=document.createElement(`div`);a.style.overflow=`hidden`;let o=this.editor.getOption(75),s=this._getMaximumHeightInLines();s!==void 0&&(t=Math.min(t,s));let c=0,l=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(o/3),this._arrow.height=c,this._arrow.show(n)),this.options.showFrame&&(l=Math.round(o/9)),this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._overlayWidget&&=(this.editor.removeOverlayWidget(this._overlayWidget),null),this.domNode.style.top=`-1000px`,this._viewZone=new _p(a,n.lineNumber,n.column,t,e=>this._onViewZoneTop(e),e=>this._onViewZoneHeight(e),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=e.addZone(this._viewZone),this._overlayWidget=new vp(gp+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){let e=this.options.frameWidth?this.options.frameWidth:l;this.container.style.borderTopWidth=e+`px`,this.container.style.borderBottomWidth=e+`px`}let u=t*o-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+`px`,this.container.style.height=u+`px`,this.container.style.overflow=`hidden`),this._doLayout(u,i),this.options.keepEditorSelection||this.editor.setSelection(e);let d=this.editor.getModel();if(d){let t=d.validateRange(new J(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(t,t.startLineNumber===d.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e,t){let n=this._getMaximumHeightInLines(),r=t&&n!==void 0?Math.min(n,e):e;this._viewZone&&this._viewZone.heightInLines!==r&&(this.editor.changeViewZones(e=>{this._viewZone&&(this._viewZone.heightInLines=r,e.layoutZone(this._viewZone.id))}),this._updateSashEnablement())}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Si(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines,...this._getResizeBounds()})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){let n=(t.currentY-e.startY)/this.editor.getOption(75),r=n<0?Math.ceil(n):Math.floor(n),i=e.heightInLines+r;i>e.minLines&&i<e.maxLines&&(this._isSashResizeHeight=!0,this._relayout(i))}}))}_updateSashEnablement(){if(this._resizeSash){let{minLines:e,maxLines:t}=this._getResizeBounds();this._resizeSash.state=e===t?0:3}}_getResizeBounds(){return{minLines:5,maxLines:35}}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){let e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}},xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sp=function(e,t){return function(n,r){t(n,r,e)}},Cp=Ee(`IPeekViewService`);ye(Cp,class{constructor(){this._widgets=new Map}addExclusiveWidget(e,t){let n=this._widgets.get(e);n&&(n.listener.dispose(),n.widget.dispose()),this._widgets.set(e,{widget:t,listener:t.onDidClose(()=>{let n=this._widgets.get(e);n&&n.widget===t&&(n.listener.dispose(),this._widgets.delete(e))})})}},1);var wp;(function(e){e.inPeekEditor=new W(`inReferenceSearchEditor`,!0,K(1382,`Whether the current code editor is embedded inside peek`)),e.notInPeekEditor=e.inPeekEditor.toNegated()})(wp||={});var Tp=class{static{this.ID=`editor.contrib.referenceController`}constructor(e,t){e instanceof fp&&wp.inPeekEditor.bindTo(t)}dispose(){}};Tp=xp([Sp(1,G)],Tp),D(Tp.ID,Tp,0);var Ep={headerBackgroundColor:I.white,primaryHeadingColor:I.fromHex(`#333333`),secondaryHeadingColor:I.fromHex(`#6c6c6cb3`)},Dp=class extends bp{constructor(e,t,n){super(e,t),this.instantiationService=n,this._onDidClose=new b,this.onDidClose=this._onDidClose.event,Wa(this.options,Ep,!1);let r=si(this.editor);r.openedPeekWidgets.set(r.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();let e=si(this.editor);e.openedPeekWidgets.set(e.openedPeekWidgets.get()-1,void 0)}}style(e){let t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();let e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass(`peekview-widget`),this._headElement=C(`.head`),this._bodyElement=C(`.body`),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=C(`.peekview-title`),this.options.supportOnTitleClick&&(this._titleElement.classList.add(`clickable`),ne(this._titleElement,`click`,e=>this._onTitleClick(e))),A(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=C(`span.filename`),this._secondaryHeading=C(`span.dirname`),this._metaHeading=C(`span.meta`),A(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);let n=C(`.peekview-actions`);A(this._headElement,n);let r=this._getActionBarOptions();this._actionbarWidget=new Va(n,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(this._disposables.add(new Yo(`peekview.close`,K(1383,`Close`),M.asClassName(X.close),!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:Wr.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute(`title`,e),t?this._secondaryHeading.innerText=t:Ze(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,to(this._metaHeading)):Ra(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}let n=Math.ceil(this.editor.getOption(75)*1.2),r=Math.round(e-(n+1));this._doLayoutHead(n,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};Dp=xp([Sp(2,k)],Dp);var Op=T(`peekViewTitle.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:I.black,hcLight:I.white},K(1384,`Background color of the peek view title area.`)),kp=T(`peekViewTitleLabel.foreground`,{dark:I.white,light:I.black,hcDark:I.white,hcLight:Se},K(1385,`Color of the peek view title.`)),Ap=T(`peekViewTitleDescription.foreground`,{dark:`#ccccccb3`,light:`#616161`,hcDark:`#FFFFFF99`,hcLight:`#292929`},K(1386,`Color of the peek view title info.`)),jp=T(`peekView.border`,{dark:sa,light:sa,hcDark:uo,hcLight:uo},K(1387,`Color of the peek view borders and arrow.`)),Mp=T(`peekViewResult.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:I.black,hcLight:I.white},K(1388,`Background color of the peek view result list.`));T(`peekViewResult.lineForeground`,{dark:`#bbbbbb`,light:`#646465`,hcDark:I.white,hcLight:Se},K(1389,`Foreground color for line nodes in the peek view result list.`)),T(`peekViewResult.fileForeground`,{dark:I.white,light:`#1E1E1E`,hcDark:I.white,hcLight:Se},K(1390,`Foreground color for file nodes in the peek view result list.`)),T(`peekViewResult.selectionBackground`,{dark:`#3399ff33`,light:`#3399ff33`,hcDark:null,hcLight:null},K(1391,`Background color of the selected entry in the peek view result list.`)),T(`peekViewResult.selectionForeground`,{dark:I.white,light:`#6C6C6C`,hcDark:I.white,hcLight:Se},K(1392,`Foreground color of the selected entry in the peek view result list.`));var Np=T(`peekViewEditor.background`,{dark:`#001F33`,light:`#F2F8FC`,hcDark:I.black,hcLight:I.white},K(1393,`Background color of the peek view editor.`));T(`peekViewEditorGutter.background`,Np,K(1394,`Background color of the gutter in the peek view editor.`)),T(`peekViewEditorStickyScroll.background`,Np,K(1395,`Background color of sticky scroll in the peek view editor.`)),T(`peekViewEditorStickyScrollGutter.background`,Np,K(1396,`Background color of the gutter part of sticky scroll in the peek view editor.`)),T(`peekViewResult.matchHighlightBackground`,{dark:`#ea5c004d`,light:`#ea5c004d`,hcDark:null,hcLight:null},K(1397,`Match highlight color in the peek view result list.`)),T(`peekViewEditor.matchHighlightBackground`,{dark:`#ff8f0099`,light:`#f5d802de`,hcDark:null,hcLight:null},K(1398,`Match highlight color in the peek view editor.`)),T(`peekViewEditor.matchHighlightBorder`,{dark:null,light:null,hcDark:St,hcLight:St},K(1399,`Match highlight border in the peek view editor.`));var Pp;(function(e){function t(e){switch(e){case Mr.Ignore:return`severity-ignore `+M.asClassName(X.info);case Mr.Info:return M.asClassName(X.info);case Mr.Warning:return M.asClassName(X.warning);case Mr.Error:return M.asClassName(X.error);default:return``}}e.className=t})(Pp||={});var Fp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ip=function(e,t){return function(n,r){t(n,r,e)}},Lp,Rp=class{constructor(e,t,n,r,i){this._openerService=r,this._labelService=i,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new v,this._editor=t;let a=document.createElement(`div`);a.className=`descriptioncontainer`,this._messageBlock=document.createElement(`div`),this._messageBlock.classList.add(`message`),this._messageBlock.setAttribute(`aria-live`,`assertive`),this._messageBlock.setAttribute(`role`,`alert`),a.appendChild(this._messageBlock),this._relatedBlock=document.createElement(`div`),a.appendChild(this._relatedBlock),this._disposables.add(ne(this._relatedBlock,`click`,e=>{e.preventDefault();let t=this._relatedDiagnostics.get(e.target);t&&n(t)})),this._scrollable=new za(a,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(e=>{a.style.left=`-${e.scrollLeft}px`,a.style.top=`-${e.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){Je(this._disposables)}update(e){let{source:t,message:n,relatedInformation:r,code:i}=e,a=(t?.length||0)+2;i&&(a+=typeof i==`string`?i.length:i.value.length);let o=Ur(n);this._lines=o.length,this._longestLineLength=0;for(let e of o)this._longestLineLength=Math.max(e.length+a,this._longestLineLength);Ze(this._messageBlock),this._messageBlock.setAttribute(`aria-label`,this.getAriaLabel(e)),ni(this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let s=this._messageBlock;for(let e of o)s=document.createElement(`div`),s.innerText=e,e===``&&(s.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(s);if(t||i){let e=document.createElement(`span`);if(e.classList.add(`details`),s.appendChild(e),t){let n=document.createElement(`span`);n.innerText=t,n.classList.add(`source`),e.appendChild(n)}if(i){if(typeof i==`string`){let t=document.createElement(`span`);t.innerText=`(${i})`,t.classList.add(`code`),e.appendChild(t)}else{this._codeLink=C(`a.code-link`),this._codeLink.setAttribute(`href`,`${i.target.toString()}`),this._codeLink.onclick=e=>{this._openerService.open(i.target),e.preventDefault(),e.stopPropagation()};let t=A(this._codeLink,C(`span`));t.innerText=i.value,e.appendChild(this._codeLink)}}}if(Ze(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),da(r)){let e=this._relatedBlock.appendChild(document.createElement(`div`));e.style.paddingTop=`${Math.floor(this._editor.getOption(75)*.66)}px`,this._lines+=1;for(let t of r){let n=document.createElement(`div`),r=document.createElement(`a`);r.classList.add(`filename`),r.innerText=`${this._labelService.getUriBasenameLabel(t.resource)}(${t.startLineNumber}, ${t.startColumn}): `,r.title=this._labelService.getUriLabel(t.resource),this._relatedDiagnostics.set(r,t);let i=document.createElement(`span`);i.innerText=t.message,n.appendChild(r),n.appendChild(i),this._lines+=1,e.appendChild(n)}}let c=this._editor.getOption(59),l=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75),u=c.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:l,scrollHeight:u})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t=``;switch(e.severity){case hn.Error:t=K(1082,`Error`);break;case hn.Warning:t=K(1083,`Warning`);break;case hn.Info:t=K(1084,`Info`);break;case hn.Hint:t=K(1085,`Hint`)}let n=K(1086,`{0}: {1} at {2}. `,t,e.message,e.startLineNumber+`:`+e.startColumn),r=this._editor.getModel();return r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1&&(n=`${r.getLineContent(e.startLineNumber)}, ${n}`),n}},zp=class extends Dp{static{Lp=this}static{this.TitleMenu=new N(`gotoErrorTitleMenu`)}constructor(e,t,n,r,i,a,o){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},i),this._themeService=t,this._openerService=n,this._menuService=r,this._contextKeyService=a,this._labelService=o,this._callOnDispose=new v,this._onDidSelectRelatedInformation=new b,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=hn.Warning,this._backgroundColor=I.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(Yp);let t=Up,n=Wp;this._severity===hn.Warning?(t=Gp,n=Kp):this._severity===hn.Info&&(t=qp,n=Jp);let r=e.getColor(t),i=e.getColor(n);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:i,primaryHeadingColor:e.getColor(kp),secondaryHeadingColor:e.getColor(Ap)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():``),super._applyStyles()}dispose(){this._callOnDispose.dispose(),this._onDidSelectRelatedInformation.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(e=>this.editor.focus()));let t=this._menuService.getMenuActions(Lp.TitleMenu,this._contextKeyService),n=Ao(t);this._actionbarWidget.push(n,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=A(e,C(``))}_fillBody(e){this._parentContainer=e,e.classList.add(`marker-widget`),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute(`role`,`tooltip`),this._container=document.createElement(`div`),e.appendChild(this._container),this._message=new Rp(this._container,this.editor,e=>this._onDidSelectRelatedInformation.fire(e),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw Error(`call showAtMarker`)}showAtMarker(e,t,n){this._container.classList.remove(`stale`),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());let r=J.lift(e),i=this.editor.getPosition(),a=i&&r.containsPosition(i)?i:r.getStartPosition();super.show(a,this.computeRequiredHeight());let o=this.editor.getModel();if(o){let e=n>1?K(1087,`{0} of {1} problems`,t,n):K(1088,`{0} of {1} problem`,t,n);this.setTitle($n(o.uri),e)}this._icon.className=`codicon ${Pp.className(hn.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(a,0),this.editor.focus()}updateMarker(e){this._container.classList.remove(`stale`),this._message.update(e)}showStale(){this._container.classList.add(`stale`),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};zp=Lp=Fp([Ip(1,Mn),Ip(2,ct),Ip(3,Yi),Ip(4,k),Ip(5,G),Ip(6,zo)],zp);var Bp=Er(vs,Zr),Vp=Er(Yn,ae),Hp=Er(sa,m),Up=T(`editorMarkerNavigationError.background`,{dark:Bp,light:Bp,hcDark:uo,hcLight:uo},K(1089,`Editor marker navigation widget error color.`)),Wp=T(`editorMarkerNavigationError.headerBackground`,{dark:a(Up,.1),light:a(Up,.1),hcDark:null,hcLight:null},K(1090,`Editor marker navigation widget error heading background.`)),Gp=T(`editorMarkerNavigationWarning.background`,{dark:Vp,light:Vp,hcDark:uo,hcLight:uo},K(1091,`Editor marker navigation widget warning color.`)),Kp=T(`editorMarkerNavigationWarning.headerBackground`,{dark:a(Gp,.1),light:a(Gp,.1),hcDark:`#0C141F`,hcLight:a(Gp,.2)},K(1092,`Editor marker navigation widget warning heading background.`)),qp=T(`editorMarkerNavigationInfo.background`,{dark:Hp,light:Hp,hcDark:uo,hcLight:uo},K(1093,`Editor marker navigation widget info color.`)),Jp=T(`editorMarkerNavigationInfo.headerBackground`,{dark:a(qp,.1),light:a(qp,.1),hcDark:null,hcLight:null},K(1094,`Editor marker navigation widget info heading background.`)),Yp=T(`editorMarkerNavigation.background`,Ts,K(1095,`Editor marker navigation widget background.`)),Xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zp=function(e,t){return function(n,r){t(n,r,e)}},Qp,$p=class{static{Qp=this}static{this.ID=`editor.contrib.markerController`}static get(e){return e.getContribution(Qp.ID)}constructor(e,t,n,r,i){this._markerNavigationService=t,this._contextKeyService=n,this._editorService=r,this._instantiationService=i,this._sessionDispoables=new v,this._editor=e,this._widgetVisible=am.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(zp,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(e=>{(!this._model?.selected||!J.containsPosition(this._model?.selected.marker,e.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;let e=this._model.find(this._editor.getModel().uri,this._widget.position);e?this._widget.updateMarker(e.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(e=>{this._editorService.openCodeEditor({resource:e.resource,options:{pinned:!0,revealIfOpened:!0,selection:J.lift(e).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=this._getOrCreateModel(t.uri);n.resetIndex(),n.move(!0,t,new O(e.startLineNumber,e.startColumn)),n.selected&&this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}async navigate(e,t){if(!this._editor.hasModel())return;let n=this._editor.getModel(),r=this._getOrCreateModel(t?void 0:n.uri);if(r.move(e,n,this._editor.getPosition()),r.selected){if(r.selected.marker.resource.toString()!==n.uri.toString()){this._cleanUp();let n=await this._editorService.openCodeEditor({resource:r.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:r.selected.marker}},this._editor);n&&(Qp.get(n)?.close(),Qp.get(n)?.navigate(e,t))}else this._widget.showAtMarker(r.selected.marker,r.selected.index,r.selected.total)}}};$p=Qp=Xp([Zp(1,cp),Zp(2,G),Zp(3,is),Zp(4,k)],$p);var em=class extends B{constructor(e,t,n){super(n),this._next=e,this._multiFile=t}async run(e,t){t.hasModel()&&await $p.get(t)?.navigate(this._next,this._multiFile)}},tm=class e extends em{static{this.ID=`editor.action.marker.next`}static{this.LABEL=z(1078,`Go to Next Problem (Error, Warning, Info)`)}constructor(){super(!0,!1,{id:e.ID,label:e.LABEL,precondition:void 0,kbOpts:{kbExpr:H.focus,primary:578,weight:100},menuOpts:{menuId:zp.TitleMenu,title:e.LABEL.value,icon:U(`marker-navigation-next`,X.arrowDown,K(1074,`Icon for goto next marker.`)),group:`navigation`,order:1}})}},nm=class e extends em{static{this.ID=`editor.action.marker.prev`}static{this.LABEL=z(1079,`Go to Previous Problem (Error, Warning, Info)`)}constructor(){super(!1,!1,{id:e.ID,label:e.LABEL,precondition:void 0,kbOpts:{kbExpr:H.focus,primary:1602,weight:100},menuOpts:{menuId:zp.TitleMenu,title:e.LABEL.value,icon:U(`marker-navigation-previous`,X.arrowUp,K(1075,`Icon for goto previous marker.`)),group:`navigation`,order:2}})}},rm=class e extends em{static{this.ID=`editor.action.marker.nextInFiles`}constructor(){super(!0,!0,{id:e.ID,label:z(1080,`Go to Next Problem in Files (Error, Warning, Info)`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:66,weight:100},menuOpts:{menuId:N.MenubarGoMenu,title:K(1076,`Next &&Problem`),group:`6_problem_nav`,order:1}})}},im=class e extends em{static{this.ID=`editor.action.marker.prevInFiles`}constructor(){super(!1,!0,{id:e.ID,label:z(1081,`Go to Previous Problem in Files (Error, Warning, Info)`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:1090,weight:100},menuOpts:{menuId:N.MenubarGoMenu,title:K(1077,`Previous &&Problem`),group:`6_problem_nav`,order:2}})}};D($p.ID,$p,4),y(tm),y(nm),y(rm),y(im);var am=new W(`markersNavigationVisible`,!1),om=Bt.bindToContribution($p.get);x(new om({id:`closeMarkersNavigation`,precondition:am,handler:e=>e.close(),kbOpts:{weight:150,kbExpr:H.focus,primary:9,secondary:[1033]}}));var sm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cm=function(e,t){return function(n,r){t(n,r,e)}},lm=class extends j{static{this.ID=`editor.contrib.markerSelectionStatus`}constructor(e,t,n){super(),this._editor=e,this._markerService=n,this._ctxHasDiagnostics=H.selectionHasDiagnostics.bindTo(t),this._store.add(this._editor.onDidChangeCursorSelection(()=>this._update())),this._store.add(this._editor.onDidChangeModel(()=>this._update())),this._store.add(this._markerService.onMarkerChanged(e=>{let t=this._editor.getModel();t&&e.some(e=>hr(e,t.uri))&&this._update()})),this._update()}dispose(){this._ctxHasDiagnostics.reset(),super.dispose()}_update(){let e=this._editor.getModel(),t=this._editor.getSelection();if(!e||!t){this._ctxHasDiagnostics.reset();return}let n=this._markerService.read({resource:e.uri,severities:hn.Error|hn.Warning|hn.Info}).some(e=>J.areIntersecting({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn},t));this._ctxHasDiagnostics.set(n)}};lm=sm([cm(1,G),cm(2,Tt)],lm),D(lm.ID,lm,1);var um=class{constructor(e,t,n,r){this.isProviderFirst=e,this.parent=t,this.link=n,this._rangeCallback=r,this.id=se.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){let e=this.parent.getPreview(this)?.preview(this.range);return e?K(1146,`{0} in {1} on line {2} at column {3}`,e.value,$n(this.uri),this.range.startLineNumber,this.range.startColumn):K(1145,`in {0} on line {1} at column {2}`,$n(this.uri),this.range.startLineNumber,this.range.startColumn)}},dm=class{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){let n=this._modelReference.object.textEditorModel;if(!n)return;let{startLineNumber:r,startColumn:i,endLineNumber:a,endColumn:o}=e,s=n.getWordUntilPosition({lineNumber:r,column:i-t}),c=new J(r,s.startColumn,r,i),l=new J(a,o,a,1073741824),u=n.getValueInRange(c).replace(/^\s+/,``),d=n.getValueInRange(e),f=n.getValueInRange(l).replace(/\s+$/,``);return{value:u+d+f,highlight:{start:u.length,end:u.length+d.length}}}},fm=class{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Mo}dispose(){Je(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){let e=this.children.length;return e===1?K(1147,`1 symbol in {0}, full path {1}`,$n(this.uri),this.uri.fsPath):K(1148,`{0} symbols in {1}, full path {2}`,e,$n(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(let t of this.children)if(!this._previews.has(t.uri))try{let n=await e.createModelReference(t.uri);this._previews.set(t.uri,new dm(n))}catch(e){Y(e)}return this}},pm=class e{constructor(t,n){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new b,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=n;let[r]=t;t.sort(e._compareReferences);let i;for(let n of t)if((!i||!so.isEqual(i.uri,n.uri,!0))&&(i=new fm(this,n.uri),this.groups.push(i)),i.children.length===0||e._compareReferences(n,i.children[i.children.length-1])!==0){let e=new um(r===n,i,n,e=>this._onDidChangeReferenceRange.fire(e));this.references.push(e),i.children.push(e)}}dispose(){Je(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new e(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?K(1149,`No results found`):this.references.length===1?K(1150,`Found 1 symbol in {0}`,this.references[0].uri.fsPath):this.groups.length===1?K(1151,`Found {0} symbols in {1}`,this.references.length,this.groups[0].uri.fsPath):K(1152,`Found {0} symbols in {1} files`,this.references.length,this.groups.length)}nextOrPreviousReference(e,t){let{parent:n}=e,r=n.children.indexOf(e),i=n.children.length,a=n.parent.groups.length;return a===1||t&&r+1<i||!t&&r>0?(r=t?(r+1)%i:(r+i-1)%i,n.children[r]):(r=n.parent.groups.indexOf(n),t?(r=(r+1)%a,n.parent.groups[r].children[0]):(r=(r+a-1)%a,n.parent.groups[r].children[n.parent.groups[r].children.length-1]))}nearestReference(e,t){let n=this.references.map((n,r)=>({idx:r,prefixLen:tr(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((e,t)=>e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:+(e.offsetDist>t.offsetDist))[0];if(n)return this.references[n.idx]}referenceAt(e,t){for(let n of this.references)if(n.uri.toString()===e.toString()&&J.containsPosition(n.range,t))return n}firstReference(){for(let e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return so.compare(e.uri,t.uri)||J.compareRangesUsingStarts(e.range,t.range)}},mm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hm=function(e,t){return function(n,r){t(n,r,e)}},gm,_m=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof pm||e instanceof fm}getChildren(e){if(e instanceof pm)return e.groups;if(e instanceof fm)return e.resolve(this._resolverService).then(e=>e.children);throw Error(`bad tree`)}};_m=mm([hm(0,Sn)],_m);var vm=class{getHeight(){return 23}getTemplateId(e){return e instanceof fm?Sm.id:wm.id}},ym=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){if(e instanceof um){let t=e.parent.getPreview(e)?.preview(e.range);if(t)return t.value}return $n(e.uri)}};ym=mm([hm(0,Oa)],ym);var bm=class{getId(e){return e instanceof um?e.id:e.uri}},xm=class extends j{constructor(e,t){super(),this._labelService=t;let n=document.createElement(`div`);n.classList.add(`reference-file`),this.file=this._register(new Jo(n,{supportHighlights:!0})),this.badge=this._register(new Gr(A(n,C(`.count`)),{},oi)),e.appendChild(n)}set(e,t){let n=yt(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(n,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});let r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(K(1139,`{0} references`,r)):this.badge.setTitleFormat(K(1140,`{0} reference`,r))}};xm=mm([hm(1,zo)],xm);var Sm=class{static{gm=this}static{this.id=`FileReferencesRenderer`}constructor(e){this._instantiationService=e,this.templateId=gm.id}renderTemplate(e){return this._instantiationService.createInstance(xm,e)}renderElement(e,t,n){n.set(e.element,gt(e.filterData))}disposeTemplate(e){e.dispose()}};Sm=gm=mm([hm(0,k)],Sm);var Cm=class extends j{constructor(e){super(),this.label=this._register(new bs(e))}set(e,t){let n=e.parent.getPreview(e)?.preview(e.range);if(!n||!n.value)this.label.set(`${$n(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{let{value:e,highlight:r}=n;t&&!Ye.isDefault(t)?(this.label.element.classList.toggle(`referenceMatch`,!1),this.label.set(e,gt(t))):(this.label.element.classList.toggle(`referenceMatch`,!0),this.label.set(e,[r]))}}},wm=class e{constructor(){this.templateId=e.id}static{this.id=`OneReferenceRenderer`}renderTemplate(e){return new Cm(e)}renderElement(e,t,n){n.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}},Tm=class{getWidgetAriaLabel(){return K(1141,`References`)}getAriaLabel(e){return e.ariaMessage}},Em=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Dm=function(e,t){return function(n,r){t(n,r,e)}},Om=class e{static{this.DecorationOptions=F.register({description:`reference-decoration`,stickiness:1,className:`reference-decoration`})}constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new v,this._callOnModelChange=new v,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();let e=this._editor.getModel();if(e){for(let t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));let n=[],r=[];for(let i=0,a=t.children.length;i<a;i++){let a=t.children[i];this._decorationIgnoreSet.has(a.id)||a.uri.toString()===this._editor.getModel().uri.toString()&&(n.push({range:a.range,options:e.DecorationOptions}),r.push(i))}this._editor.changeDecorations(e=>{let i=e.deltaDecorations([],n);for(let e=0;e<i.length;e++)this._decorations.set(i[e],t.children[r[e]])})}_onDecorationChanged(){let e=[],t=this._editor.getModel();if(t){for(let[n,r]of this._decorations){let i=t.getDecorationRange(n);if(!i)continue;let a=!1;J.equalsRange(i,r.range)||((J.spansMultipleLines(i)||r.range.endColumn-r.range.startColumn!==i.endColumn-i.startColumn)&&(a=!0),a?(this._decorationIgnoreSet.add(r.id),e.push(n)):r.range=i)}for(let t=0,n=e.length;t<n;t++)this._decorations.delete(e[t]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}},km=class{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,n;try{let r=JSON.parse(e);t=r.ratio,n=r.heightInLines}catch{}return{ratio:t||.7,heightInLines:n||18}}},Am=class extends te{},jm=class{constructor(e){this.labelService=e,this.disposables=new v}getDragURI(e){return e instanceof fm?e.uri.toString():e instanceof um?jt(e.uri,e.range).toString():null}getDragLabel(e){if(e.length!==0)return e.map(e=>this.labelService.getUriBasenameLabel(e.uri)).join(`, `)}onDragStart(e,t){if(!t.dataTransfer)return;let n=e.elements.map(e=>this.getDragURI(e)).filter(Boolean);n.length&&(t.dataTransfer.setData(dn.RESOURCES,JSON.stringify(n)),t.dataTransfer.setData(dn.TEXT,n.join(`
|
|
18
|
+
`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};jm=Em([Dm(0,zo)],jm);var Mm=class extends Dp{constructor(e,t,n,r,i,a,o,s,c){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},a),this._defaultTreeKeyboardSupport=t,this.layoutData=n,this._textModelResolverService=i,this._instantiationService=a,this._peekViewService=o,this._uriLabel=s,this._keybindingService=c,this._disposeOnNewModel=new v,this._callOnDispose=new v,this._onDidSelectReference=this._callOnDispose.add(new b),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new V(0,0),this._isClosing=!1,this._applyTheme(r.getColorTheme()),this._callOnDispose.add(r.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),Je(this._preview),Je(this._previewNotAvailableMessage),Je(this._tree),Je(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){let t=e.getColor(jp)||I.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Op)||I.transparent,primaryHeadingColor:e.getColor(kp),secondaryHeadingColor:e.getColor(Ap)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?`side`:`open`,source:`title`})}_fillBody(e){this.setCssClass(`reference-zone-widget`),this._messageContainer=A(e,C(`div.messages`)),Ra(this._messageContainer),this._splitView=new cn(e,{orientation:1}),this._previewContainer=A(e,C(`div.preview.inline`));let t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:`auto`,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(fp,this._previewContainer,t,{},this.editor),Ra(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(xa,K(1142,`no preview available`),jn,xa.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=A(e,C(`div.ref-tree.inline`));let n={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new Tm,keyboardNavigationLabelProvider:this._instantiationService.createInstance(ym),identityProvider:new bm,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:Mp},dnd:this._instantiationService.createInstance(jm)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(ne(this._treeContainer,`keydown`,e=>{e.equals(9)&&(this._keybindingService.dispatchEvent(e,e.target),e.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(Am,`ReferencesWidget`,this._treeContainer,new vm,[this._instantiationService.createInstance(Sm),this._instantiationService.createInstance(wm)],this._instantiationService.createInstance(_m),n),this._splitView.addView({onDidChange:At.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:e=>{this._preview.layout({height:this._dim.height,width:e})}},xr.Distribute),this._splitView.addView({onDidChange:At.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:e=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${e}px`,this._tree.layout(this._dim.height,e)}},xr.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));let r=(e,t)=>{e instanceof um&&(t===`show`&&this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:t,source:`tree`}))};this._disposables.add(this._tree.onDidOpen(e=>{e.sideBySide?r(e.element,`side`):e.editorOptions.pinned?r(e.element,`goto`):r(e.element,`show`)})),Ra(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new V(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(``),this._messageContainer.innerText=K(1143,`No results`),to(this._messageContainer),Promise.resolve(void 0)):(Ra(this._messageContainer),this._decorationsManager=new Om(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{let{event:t,target:n}=e;if(t.detail!==2)return;let r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:n.range},kind:t.ctrlKey||t.metaKey||t.altKey?`side`:`open`,source:`editor`})})),this.container.classList.add(`results-loaded`),to(this._treeContainer),to(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){let[e]=this._tree.getFocus();if(e instanceof um)return e;if(e instanceof fm&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:`goto`,source:`tree`})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme===xe.inMemory?this.setTitle(K(1144,`References`)):this.setTitle(We(e.uri),this._uriLabel.getUriLabel(yt(e.uri)));let n=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent||(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent)),this._tree.reveal(e);let r=await n;if(!this._model){r.dispose();return}Je(this._previewModelReference);let i=r.object;if(i){let t=this._preview.getModel()===i.textEditorModel?0:1,n=J.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(i.textEditorModel),this._preview.setSelection(n),this._preview.revealRangeInCenter(n,t)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};Mm=Em([Dm(3,Mn),Dm(4,Sn),Dm(5,k),Dm(6,Cp),Dm(7,zo),Dm(8,Oa)],Mm);var Nm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pm=function(e,t){return function(n,r){t(n,r,e)}},Fm,Im=new W(`referenceSearchVisible`,!1,K(1136,`Whether reference peek is visible, like 'Peek References' or 'Peek Definition'`)),Lm=class{static{Fm=this}static{this.ID=`editor.contrib.referencesController`}static get(e){return e.getContribution(Fm.ID)}constructor(e,t,n,r,i,a,o,s){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=i,this._instantiationService=a,this._storageService=o,this._configurationService=s,this._disposables=new v,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Im.bindTo(n)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,n){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=n,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));let i=`peekViewLayout`,a=km.fromJSON(this._storageService.get(i,0,`{}`));this._widget=this._instantiationService.createInstance(Mm,this._editor,this._defaultTreeKeyboardSupport,a),this._widget.setTitle(K(1137,`Loading...`)),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(i,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(e=>{let{element:t,kind:r}=e;if(t)switch(r){case`open`:(e.source!==`editor`||!this._configurationService.getValue(`editor.stablePeek`))&&this.openReference(t,!1,!1);break;case`side`:this.openReference(t,!0,!1);break;case`goto`:n?this._gotoReference(t,!0):this.openReference(t,!1,!0)}}));let o=++this._requestIdPool;t.then(t=>{if(o!==this._requestIdPool||!this._widget)t.dispose();else return this._model?.dispose(),this._model=t,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(``):this._widget.setMetaTitle(K(1138,`{0} ({1})`,this._model.title,this._model.references.length));let t=this._editor.getModel().uri,n=new O(e.startLineNumber,e.startColumn),r=this._model.nearestReference(t,n);if(r)return this._widget.setSelection(r).then(()=>{this._widget&&this._editor.getOption(99)===`editor`&&this._widget.focusOnPreviewEditor()})}})},e=>{this._notificationService.error(e)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;let t=this._widget.position;if(!t)return;let n=this._model.nearestReference(this._editor.getModel().uri,t);if(!n)return;let r=this._model.nextOrPreviousReference(n,e),i=this._editor.hasTextFocus(),a=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),i?this._editor.focus():this._widget&&a&&this._widget.focusOnPreviewEditor()}async revealReference(e){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(e)}closeWidget(e=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){this._widget?.hide(),this._ignoreModelChangeEvent=!0;let n=J.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:n,selectionSource:`code.jump`,pinned:t}},this._editor).then(e=>{if(this._ignoreModelChangeEvent=!1,!e||!this._widget)this.closeWidget();else if(this._editor===e)this._widget.show(n),this._widget.focusOnReferenceTree();else{let t=Fm.get(e),r=this._model.clone();this.closeWidget(),e.focus(),t?.toggleWidget(n,ot(e=>Promise.resolve(r)),this._peekMode??!1)}},e=>{this._ignoreModelChangeEvent=!1,Y(e)})}openReference(e,t,n){t||this.closeWidget();let{uri:r,range:i}=e;this._editorService.openCodeEditor({resource:r,options:{selection:i,selectionSource:`code.jump`,pinned:n}},this._editor,t)}};Lm=Fm=Nm([Pm(2,G),Pm(3,is),Pm(4,Ui),Pm(5,k),Pm(6,Qt),Pm(7,fa)],Lm);function Rm(e,t){let n=pp(e);if(!n)return;let r=Lm.get(n);r&&t(r)}ci.registerCommandAndKeybindingRule({id:`togglePeekWidgetFocus`,weight:100,primary:Me(2089,60),when:L.or(Im,wp.inPeekEditor),handler(e){Rm(e,e=>{e.changeFocusBetweenPreviewAndReferences()})}}),ci.registerCommandAndKeybindingRule({id:`goToNextReference`,weight:90,primary:62,secondary:[70],when:L.or(Im,wp.inPeekEditor),handler(e){Rm(e,e=>{e.goToNextOrPreviousReference(!0)})}}),ci.registerCommandAndKeybindingRule({id:`goToPreviousReference`,weight:90,primary:1086,secondary:[1094],when:L.or(Im,wp.inPeekEditor),handler(e){Rm(e,e=>{e.goToNextOrPreviousReference(!1)})}}),R.registerCommandAlias(`goToNextReferenceFromEmbeddedEditor`,`goToNextReference`),R.registerCommandAlias(`goToPreviousReferenceFromEmbeddedEditor`,`goToPreviousReference`),R.registerCommandAlias(`closeReferenceSearchEditor`,`closeReferenceSearch`),R.registerCommand(`closeReferenceSearch`,e=>Rm(e,e=>e.closeWidget())),ci.registerKeybindingRule({id:`closeReferenceSearch`,weight:-1,primary:9,secondary:[1033],when:L.and(wp.inPeekEditor,L.not(`config.editor.stablePeek`))}),ci.registerKeybindingRule({id:`closeReferenceSearch`,weight:250,primary:9,secondary:[1033],when:L.and(Im,L.not(`config.editor.stablePeek`),L.or(H.editorTextFocus,ns.negate()))}),ci.registerCommandAndKeybindingRule({id:`revealReference`,weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:L.and(Im,Gn,Xe.negate(),Ln.negate()),handler(e){let t=e.get(Ds).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof um&&Rm(e,e=>e.revealReference(t[0]))}}),ci.registerCommandAndKeybindingRule({id:`openReferenceToSide`,weight:100,primary:2051,mac:{primary:259},when:L.and(Im,Gn,Xe.negate(),Ln.negate()),handler(e){let t=e.get(Ds).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof um&&Rm(e,e=>e.openReference(t[0],!0,!0))}}),R.registerCommand(`openReference`,e=>{let t=e.get(Ds).lastFocusedList?.getFocus();Array.isArray(t)&&t[0]instanceof um&&Rm(e,e=>e.openReference(t[0],!1,!0))});var zm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bm=function(e,t){return function(n,r){t(n,r,e)}},Vm=new W(`hasSymbols`,!1,K(1153,`Whether there are symbol locations that can be navigated via keyboard-only.`)),Hm=Ee(`ISymbolNavigationService`),Um=class{constructor(e,t,n,r){this._editorService=t,this._notificationService=n,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=Vm.bindTo(e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put(e){let t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();let n=new Wm(this._editorService),r=n.onDidChange(e=>{if(this._ignoreEditorChange)return;let n=this._editorService.getActiveCodeEditor();if(!n)return;let r=n.getModel(),i=n.getPosition();if(!r||!i)return;let a=!1,o=!1;for(let e of t.references)if(hr(e.uri,r.uri))a=!0,o||=J.containsPosition(e.range,i);else if(a)break;(!a||!o)&&this.reset()});this._currentState=rr(n,r)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;let t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:J.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();let e=this._keybindingService.lookupKeybinding(`editor.gotoNextSymbolFromResult`),t=e?K(1154,`Symbol {0} of {1}, {2} for next`,this._currentIdx+1,this._currentModel.references.length,e.getLabel()):K(1155,`Symbol {0} of {1}`,this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};Um=zm([Bm(0,G),Bm(1,is),Bm(2,Ui),Bm(3,Oa)],Um),ye(Hm,Um,1),x(new class extends Bt{constructor(){super({id:`editor.gotoNextSymbolFromResult`,precondition:Vm,kbOpts:{weight:100,primary:70}})}runEditorCommand(e,t){return e.get(Hm).revealNext(t)}}),ci.registerCommandAndKeybindingRule({id:`editor.gotoNextSymbolFromResult.cancel`,weight:100,when:Vm,primary:9,handler(e){e.get(Hm).reset()}});var Wm=class{constructor(e){this._listener=new Map,this._disposables=new v,this._onDidChange=new b,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Je(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,rr(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){this._listener.get(e)?.dispose(),this._listener.delete(e)}};Wm=zm([Bm(0,is)],Wm);function Gm(e,t){return t.uri.scheme===e.uri.scheme||!pa(t.uri,xe.walkThroughSnippet,xe.vscodeChatCodeBlock,xe.vscodeChatCodeCompareBlock)}async function Km(e,t,n,r,i){let a=n.ordered(e,r).map(n=>Promise.resolve(i(n,e,t)).then(void 0,e=>{qr(e)})),o=await Promise.all(a);return as(o.flat()).filter(t=>Gm(e,t))}function qm(e,t,n,r,i){return Km(t,n,e,r,(e,t,n)=>e.provideDefinition(t,n,i))}function Jm(e,t,n,r,i){return Km(t,n,e,r,(e,t,n)=>e.provideDeclaration(t,n,i))}function Ym(e,t,n,r,i){return Km(t,n,e,r,(e,t,n)=>e.provideImplementation(t,n,i))}function Xm(e,t,n,r,i){return Km(t,n,e,r,(e,t,n)=>e.provideTypeDefinition(t,n,i))}function Zm(e,t,n,r,i,a){return Km(t,n,e,i,async(e,t,n)=>{let i=(await e.provideReferences(t,n,{includeDeclaration:!0},a))?.filter(e=>Gm(t,e));if(!r||!i||i.length!==2)return i;let o=(await e.provideReferences(t,n,{includeDeclaration:!1},a))?.filter(e=>Gm(t,e));return o&&o.length===1?o:i})}async function Qm(e){let t=new pm(await e(),``),n=t.references.map(e=>e.link);return t.dispose(),n}g(`_executeDefinitionProvider`,(e,t,n)=>{let r=qm(e.get(q).definitionProvider,t,n,!1,w.None);return Qm(()=>r)}),g(`_executeDefinitionProvider_recursive`,(e,t,n)=>{let r=qm(e.get(q).definitionProvider,t,n,!0,w.None);return Qm(()=>r)}),g(`_executeTypeDefinitionProvider`,(e,t,n)=>{let r=Xm(e.get(q).typeDefinitionProvider,t,n,!1,w.None);return Qm(()=>r)}),g(`_executeTypeDefinitionProvider_recursive`,(e,t,n)=>{let r=Xm(e.get(q).typeDefinitionProvider,t,n,!0,w.None);return Qm(()=>r)}),g(`_executeDeclarationProvider`,(e,t,n)=>{let r=Jm(e.get(q).declarationProvider,t,n,!1,w.None);return Qm(()=>r)}),g(`_executeDeclarationProvider_recursive`,(e,t,n)=>{let r=Jm(e.get(q).declarationProvider,t,n,!0,w.None);return Qm(()=>r)}),g(`_executeReferenceProvider`,(e,t,n)=>{let r=Zm(e.get(q).referenceProvider,t,n,!1,!1,w.None);return Qm(()=>r)}),g(`_executeReferenceProvider_recursive`,(e,t,n)=>{let r=Zm(e.get(q).referenceProvider,t,n,!1,!0,w.None);return Qm(()=>r)}),g(`_executeImplementationProvider`,(e,t,n)=>{let r=Ym(e.get(q).implementationProvider,t,n,!1,w.None);return Qm(()=>r)}),g(`_executeImplementationProvider_recursive`,(e,t,n)=>{let r=Ym(e.get(q).implementationProvider,t,n,!0,w.None);return Qm(()=>r)}),Co.appendMenuItem(N.EditorContext,{submenu:N.EditorContextPeek,title:K(1096,`Peek`),group:`navigation`,order:100});var $m=class e{static is(t){return!t||typeof t!=`object`?!1:!!(t instanceof e||O.isIPosition(t.position)&&t.model)}constructor(e,t){this.model=e,this.position=t}},eh=class e extends Nt{static{this._allSymbolNavigationCommands=new Map}static{this._activeAlternativeCommands=new Set}static all(){return e._allSymbolNavigationCommands.values()}static _patchConfig(e){let t={...e,f1:!0};if(t.menu)for(let n of ht.wrap(t.menu))(n.id===N.EditorContext||n.id===N.EditorContextPeek)&&(n.when=L.and(e.precondition,n.when));return t}constructor(t,n){super(e._patchConfig(n)),this.configuration=t,e._allSymbolNavigationCommands.set(n.id,this)}runEditorCommand(t,n,r,i){if(!n.hasModel())return Promise.resolve(void 0);let a=t.get(Ui),o=t.get(is),s=t.get(Rt),c=t.get(Hm),l=t.get(q),u=t.get(k),d=n.getModel(),f=n.getPosition(),p=$m.is(r)?r:new $m(d,f),m=new Ha(n,5),h=js(this._getLocationModel(l,p.model,p.position,m.token),m.token).then(async t=>{if(!t||m.token.isCancellationRequested)return;To(t.ariaMessage);let a;if(t.referenceAt(d.uri,f)){let t=this._getAlternativeCommand(n);t!==void 0&&!e._activeAlternativeCommands.has(t)&&e._allSymbolNavigationCommands.has(t)&&(a=e._allSymbolNavigationCommands.get(t))}let s=t.references.length;if(s===0){if(!this.configuration.muteMessage){let e=d.getWordAtPosition(f);ec.get(n)?.showMessage(this._getNoResultFoundMessage(e),f)}}else if(s===1&&a)e._activeAlternativeCommands.add(this.desc.id),u.invokeFunction(t=>a.runEditorCommand(t,n,r,i).finally(()=>{e._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(o,c,n,t,i)},e=>{a.error(e)}).finally(()=>{m.dispose()});return s.showWhile(h,250),h}async _onResult(e,t,n,r,i){let a=this._getGoToPreference(n);if(!(n instanceof fp)&&(this.configuration.openInPeek||a===`peek`&&r.references.length>1))this._openInPeek(n,r,i);else{let o=r.firstReference(),s=r.references.length>1&&a===`gotoAndPeek`,c=await this._openReference(n,e,o,this.configuration.openToSide,!s);s&&c?this._openInPeek(c,r,i):r.dispose(),a===`goto`&&t.put(o)}}async _openReference(e,t,n,r,i){let a;if(ts(n)&&(a=n.targetSelectionRange),a||=n.range,!a)return;let o=await t.openCodeEditor({resource:n.uri,options:{selection:J.collapseToStart(a),selectionRevealType:3,selectionSource:`code.jump`}},e,r);if(o){if(i){let e=o.getModel(),t=o.createDecorationsCollection([{range:a,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{o.getModel()===e&&t.clear()},350)}return o}}_openInPeek(e,t,n){let r=Lm.get(e);r&&e.hasModel()?r.toggleWidget(n??e.getSelection(),ot(e=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}},th=class extends eh{async _getLocationModel(e,t,n,r){return new pm(await qm(e.definitionProvider,t,n,!1,r),K(1097,`Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?K(1098,`No definition found for '{0}'`,e.word):K(1099,`No definition found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleDefinitions}};Vo(class e extends th{static{this.id=`editor.action.revealDefinition`}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...z(1123,`Go to Definition`),mnemonicTitle:K(1100,`Go to &&Definition`)},precondition:H.hasDefinitionProvider,keybinding:[{when:H.editorTextFocus,primary:70,weight:100},{when:L.and(H.editorTextFocus,Es),primary:2118,weight:100}],menu:[{id:N.EditorContext,group:`navigation`,order:1.1},{id:N.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:2}]}),R.registerCommandAlias(`editor.action.goToDeclaration`,e.id)}}),Vo(class e extends th{static{this.id=`editor.action.revealDefinitionAside`}constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:e.id,title:z(1124,`Open Definition to the Side`),precondition:L.and(H.hasDefinitionProvider,H.isInEmbeddedEditor.toNegated()),keybinding:[{when:H.editorTextFocus,primary:Me(2089,70),weight:100},{when:L.and(H.editorTextFocus,Es),primary:Me(2089,2118),weight:100}]}),R.registerCommandAlias(`editor.action.openDeclarationToTheSide`,e.id)}}),Vo(class e extends th{static{this.id=`editor.action.peekDefinition`}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.id,title:z(1125,`Peek Definition`),precondition:L.and(H.hasDefinitionProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),keybinding:{when:H.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:N.EditorContextPeek,group:`peek`,order:2}}),R.registerCommandAlias(`editor.action.previewDeclaration`,e.id)}});var nh=class extends eh{async _getLocationModel(e,t,n,r){return new pm(await Jm(e.declarationProvider,t,n,!1,r),K(1101,`Declarations`))}_getNoResultFoundMessage(e){return e&&e.word?K(1102,`No declaration found for '{0}'`,e.word):K(1103,`No declaration found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(67).multipleDeclarations}};Vo(class e extends nh{static{this.id=`editor.action.revealDeclaration`}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.id,title:{...z(1126,`Go to Declaration`),mnemonicTitle:K(1104,`Go to &&Declaration`)},precondition:L.and(H.hasDeclarationProvider,H.isInEmbeddedEditor.toNegated()),menu:[{id:N.EditorContext,group:`navigation`,order:1.3},{id:N.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?K(1105,`No declaration found for '{0}'`,e.word):K(1106,`No declaration found`)}}),Vo(class extends nh{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.peekDeclaration`,title:z(1127,`Peek Declaration`),precondition:L.and(H.hasDeclarationProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),menu:{id:N.EditorContextPeek,group:`peek`,order:3}})}});var rh=class extends eh{async _getLocationModel(e,t,n,r){return new pm(await Xm(e.typeDefinitionProvider,t,n,!1,r),K(1107,`Type Definitions`))}_getNoResultFoundMessage(e){return e&&e.word?K(1108,`No type definition found for '{0}'`,e.word):K(1109,`No type definition found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(67).multipleTypeDefinitions}};Vo(class e extends rh{static{this.ID=`editor.action.goToTypeDefinition`}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...z(1128,`Go to Type Definition`),mnemonicTitle:K(1110,`Go to &&Type Definition`)},precondition:H.hasTypeDefinitionProvider,keybinding:{when:H.editorTextFocus,primary:0,weight:100},menu:[{id:N.EditorContext,group:`navigation`,order:1.4},{id:N.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:3}]})}}),Vo(class e extends rh{static{this.ID=`editor.action.peekTypeDefinition`}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:z(1129,`Peek Type Definition`),precondition:L.and(H.hasTypeDefinitionProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),menu:{id:N.EditorContextPeek,group:`peek`,order:4}})}});var ih=class extends eh{async _getLocationModel(e,t,n,r){return new pm(await Ym(e.implementationProvider,t,n,!1,r),K(1111,`Implementations`))}_getNoResultFoundMessage(e){return e&&e.word?K(1112,`No implementation found for '{0}'`,e.word):K(1113,`No implementation found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(67).multipleImplementations}};Vo(class e extends ih{static{this.ID=`editor.action.goToImplementation`}constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:e.ID,title:{...z(1130,`Go to Implementations`),mnemonicTitle:K(1114,`Go to &&Implementations`)},precondition:H.hasImplementationProvider,keybinding:{when:H.editorTextFocus,primary:2118,weight:100},menu:[{id:N.EditorContext,group:`navigation`,order:1.45},{id:N.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:4}]})}}),Vo(class e extends ih{static{this.ID=`editor.action.peekImplementation`}constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:e.ID,title:z(1131,`Peek Implementations`),precondition:L.and(H.hasImplementationProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),keybinding:{when:H.editorTextFocus,primary:3142,weight:100},menu:{id:N.EditorContextPeek,group:`peek`,order:5}})}});var ah=class extends eh{_getNoResultFoundMessage(e){return e?K(1115,`No references found for '{0}'`,e.word):K(1116,`No references found`)}_getAlternativeCommand(e){return e.getOption(67).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(67).multipleReferences}};Vo(class extends ah{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:`editor.action.goToReferences`,title:{...z(1132,`Go to References`),mnemonicTitle:K(1117,`Go to &&References`)},precondition:L.and(H.hasReferenceProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),keybinding:{when:H.editorTextFocus,primary:1094,weight:100},menu:[{id:N.EditorContext,group:`navigation`,order:1.45},{id:N.MenubarGoMenu,precondition:null,group:`4_symbol_nav`,order:5}]})}async _getLocationModel(e,t,n,r){return new pm(await Zm(e.referenceProvider,t,n,!0,!1,r),K(1118,`References`))}}),Vo(class extends ah{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:`editor.action.referenceSearch.trigger`,title:z(1133,`Peek References`),precondition:L.and(H.hasReferenceProvider,wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated()),menu:{id:N.EditorContextPeek,group:`peek`,order:6}})}async _getLocationModel(e,t,n,r){return new pm(await Zm(e.referenceProvider,t,n,!1,!1,r),K(1119,`References`))}});var oh=class extends eh{constructor(e,t,n){super(e,{id:`editor.action.goToLocation`,title:z(1134,`Go to Any Symbol`),precondition:L.and(wp.notInPeekEditor,H.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=n}async _getLocationModel(e,t,n,r){return new pm(this._references,K(1120,`Locations`))}_getNoResultFoundMessage(e){return e&&K(1121,`No results for '{0}'`,e.word)||``}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(67).multipleReferences}_getAlternativeCommand(){}};R.registerCommand({id:`editor.action.goToLocations`,metadata:{description:`Go to locations from a position in a file`,args:[{name:`uri`,description:`The text document in which to start`,constraint:me},{name:`position`,description:`The position at which to start`,constraint:O.isIPosition},{name:`locations`,description:`An array of locations.`,constraint:Array},{name:`multiple`,description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:`noResultsMessage`,description:`Human readable message that shows when locations is empty.`}]},handler:async(e,t,n,r,i,a,o)=>{ti(me.isUri(t)),ti(O.isIPosition(n)),ti(Array.isArray(r)),ti(i===void 0||typeof i==`string`),ti(o===void 0||typeof o==`boolean`);let s=e.get(is),c=await s.openCodeEditor({resource:t},s.getFocusedCodeEditor());if($r(c))return c.setPosition(n),c.revealPositionInCenterIfOutsideViewport(n,0),c.invokeWithinContext(e=>{let t=new class extends oh{_getNoResultFoundMessage(e){return a||super._getNoResultFoundMessage(e)}}({muteMessage:!a,openInPeek:!!o,openToSide:!1},r,i);e.get(k).invokeFunction(t.run.bind(t),c)})}}),R.registerCommand({id:`editor.action.peekLocations`,metadata:{description:`Peek locations from a position in a file`,args:[{name:`uri`,description:`The text document in which to start`,constraint:me},{name:`position`,description:`The position at which to start`,constraint:O.isIPosition},{name:`locations`,description:`An array of locations.`,constraint:Array},{name:`multiple`,description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(e,t,n,r,i)=>{e.get(Mi).executeCommand(`editor.action.goToLocations`,t,n,r,i,void 0,!0)}}),R.registerCommand({id:`editor.action.findReferences`,handler:(e,t,n)=>{ti(me.isUri(t)),ti(O.isIPosition(n));let r=e.get(q),i=e.get(is);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then(e=>{if(!$r(e)||!e.hasModel())return;let t=Lm.get(e);if(!t)return;let i=ot(t=>Zm(r.referenceProvider,e.getModel(),O.lift(n),!1,!1,t).then(e=>new pm(e,K(1122,`References`)))),a=new J(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(a,i,!1))})}}),R.registerCommandAlias(`editor.action.showReferences`,`editor.action.peekLocations`);function sh(e,t){return!!e[t]}var ch=class{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.mouseMiddleClickAction=t.mouseMiddleClickAction,this.hasTriggerModifier=sh(e.event,t.triggerModifier),this.isMiddleClick&&t.mouseMiddleClickAction===`ctrlLeftClick`&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=sh(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},lh=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=sh(e,t.triggerModifier)}},uh=class{constructor(e,t,n,r,i){this.mouseMiddleClickAction=i,this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=n,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier&&this.mouseMiddleClickAction===e.mouseMiddleClickAction}};function dh(e,t){return e===`altKey`?pn?new uh(57,`metaKey`,6,`altKey`,t):new uh(5,`ctrlKey`,6,`altKey`,t):pn?new uh(6,`altKey`,57,`metaKey`,t):new uh(6,`altKey`,5,`ctrlKey`,t)}var fh=class extends j{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new b),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new b),this.onExecute=this._onExecute.event,this._onCancel=this._register(new b),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(e=>e.target.position?e.target.position.lineNumber:0),this._opts=dh(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(e=>{if(e.hasChanged(86)||e.hasChanged(87)){let e=dh(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(e))return;this._opts=e,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(e=>this._onEditorMouseMove(new ch(e,this._opts)))),this._register(this._editor.onMouseDown(e=>this._onEditorMouseDown(new ch(e,this._opts)))),this._register(this._editor.onMouseUp(e=>this._onEditorMouseUp(new ch(e,this._opts)))),this._register(this._editor.onKeyDown(e=>this._onEditorKeyDown(new lh(e,this._opts)))),this._register(this._editor.onKeyUp(e=>this._onEditorKeyUp(new lh(e,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(e=>this._onDidChangeCursorSelection(e))),this._register(this._editor.onDidChangeModel(e=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||e.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){let t=this._extractLineNumberFromMouseEvent(e);this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&(this._hasTriggerKeyOnMouseDown||e.isMiddleClick&&e.mouseMiddleClickAction===`openLink`)&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}},ph=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},mh=function(e,t){return function(n,r){t(n,r,e)}},hh,gh=class{static{hh=this}static{this.ID=`editor.contrib.gotodefinitionatposition`}static{this.MAX_SOURCE_PREVIEW_LINES=8}constructor(e,t,n,r){this.textModelResolverService=t,this.languageService=n,this.languageFeaturesService=r,this.toUnhook=new v,this.toUnhookForKeyboard=new v,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();let i=new fh(e);this.toUnhook.add(i),this.toUnhook.add(i.onMouseMoveOrRelevantKeyDown(([e,t])=>{this.startFindDefinitionFromMouse(e,t??void 0)})),this.toUnhook.add(i.onExecute(e=>{this.isEnabled(e)&&this.gotoDefinition(e.target.position,e.hasSideBySideModifier).catch(e=>{Y(e)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(i.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(hh.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(e=>{e&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}let n=e.target.position;this.startFindDefinition(n)}async startFindDefinition(e){this.toUnhookForKeyboard.clear();let t=e?this.editor.getModel()?.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;let n=new Lr(this.editor,15);this.previousPromise&&=(this.previousPromise.cancel(),null),this.previousPromise=ot(t=>this.findDefinition(e,t));let r;try{r=await this.previousPromise}catch(e){Y(e);return}if(!r||!r.length||!n.validate(this.editor)){this.removeLinkDecorations();return}let i=r[0].originSelectionRange?J.lift(r[0].originSelectionRange):new J(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(r.length>1){let e=i;for(let{originSelectionRange:t}of r)t&&(e=J.plusRange(e,t));this.addDecoration(e,new Xn().appendText(K(1135,`Click to show {0} definitions.`,r.length)))}else{let e=r[0];return e.uri?this.textModelResolverService.createModelReference(e.uri).then(t=>{if(!t.object||!t.object.textEditorModel){t.dispose();return}let{object:{textEditorModel:n}}=t,{startLineNumber:r}=e.range;if(r<1||r>n.getLineCount()){t.dispose();return}let a=this.getPreviewValue(n,r,e),o=this.languageService.guessLanguageIdByFilepathOrFirstLine(n.uri);this.addDecoration(i,a?new Xn().appendCodeblock(o||``,a):void 0),t.dispose()}):void 0}}getPreviewValue(e,t,n){let r=n.range;return r.endLineNumber-r.startLineNumber>=hh.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),r=e.validateRange(r),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,n){let r=e.getLineFirstNonWhitespaceColumn(t);for(let i=t+1;i<n.endLineNumber;i++){let t=e.getLineFirstNonWhitespaceColumn(i);r=Math.min(r,t)}return e.getValueInRange(n).replace(RegExp(`^\\s{${r-1}}`,`gm`),``).trim()}getPreviewRangeBasedOnIndentation(e,t){let n=e.getLineFirstNonWhitespaceColumn(t),r=Math.min(e.getLineCount(),t+hh.MAX_SOURCE_PREVIEW_LINES),i=t+1;for(;i<r&&n!==e.getLineFirstNonWhitespaceColumn(i);i++);return new J(t,1,i+1,1)}addDecoration(e,t){let n={range:e,options:{description:`goto-definition-link`,inlineClassName:`goto-definition-link`,hoverMessage:t}};this.linkDecorations.set([n])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(e.target.detail.injectedText?.options instanceof Eo)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){let n=this.editor.getModel();return n?qm(this.languageFeaturesService.definitionProvider,n,e,!1,t):Promise.resolve(null)}async gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(e=>new th({openToSide:t,openInPeek:!t&&this.editor.getOption(101)&&!this.isInPeekEditor(e),muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e))}isInPeekEditor(e){let t=e.get(G);return wp.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};gh=hh=ph([mh(1,Sn),mh(2,Jt),mh(3,q)],gh),D(gh.ID,gh,2);var _h=`editor.action.showHover`,vh=`editor.action.showDefinitionPreviewHover`,yh=`editor.action.hideHover`,bh=`editor.action.scrollUpHover`,xh=`editor.action.scrollDownHover`,Sh=`editor.action.scrollLeftHover`,Ch=`editor.action.scrollRightHover`,wh=`editor.action.pageUpHover`,Th=`editor.action.pageDownHover`,Eh=`editor.action.goToTopHover`,Dh=`editor.action.goToBottomHover`,Oh=`editor.action.increaseHoverVerbosityLevel`,kh=K(1160,`Increase Hover Verbosity Level`),Ah=`editor.action.decreaseHoverVerbosityLevel`,jh=K(1161,`Decrease Hover Verbosity Level`),Mh=`editor.action.hideLongLineWarningHover`,Nh=`editor.action.inlineSuggest.showPrevious`,Ph=`editor.action.inlineSuggest.showNext`,Fh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ih=function(e,t){return function(n,r){t(n,r,e)}},Lh,Rh=class extends j{constructor(e,t,n){super(),this.editor=e,this.model=t,this.instantiationService=n,this.alwaysShowToolbar=Nr(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar===`always`),this.sessionPosition=void 0,this.position=En(this,e=>{let t=this.model.read(e)?.primaryGhostText.read(e);if(!this.alwaysShowToolbar.read(e)||!t||t.parts.length===0)return this.sessionPosition=void 0,null;let n=t.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==t.lineNumber&&(this.sessionPosition=void 0);let r=new O(t.lineNumber,Math.min(n,this.sessionPosition?.column??2**53-1));return this.sessionPosition=r,r}),this._register(Xr((t,n)=>{let r=this.model.read(t);if(!r||!this.alwaysShowToolbar.read(t))return;let i=En(t=>{let n=t.store.add(this.instantiationService.createInstance(Vh.hot.read(t),this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands,r.warning,()=>{}));return e.addContentWidget(n),t.store.add(fo(()=>e.removeContentWidget(n))),t.store.add(ws(e=>{this.position.read(e)&&r.lastTriggerKind.read(e)!==ja.Explicit&&r.triggerExplicitly()})),n}),a=Ii(this,(e,t)=>!!this.position.read(e)||!!t);n.add(ws(e=>{a.read(e)&&i.read(e)}))}))}};Rh=Fh([Ih(2,k)],Rh);var zh=U(`inline-suggestion-hints-next`,X.chevronRight,K(1270,`Icon for show next parameter hint.`)),Bh=U(`inline-suggestion-hints-previous`,X.chevronLeft,K(1271,`Icon for show previous parameter hint.`)),Vh=class extends j{static{Lh=this}static{this.hot=Za(this)}static{this._dropDownVisible=!1}static get dropDownVisible(){return this._dropDownVisible}static{this.id=0}createCommandAction(e,t,n){let r=new Yo(e,t,n,!0,()=>this._commandService.executeCommand(e));return r.tooltip=this.keybindingService.appendKeybinding(t,e,this._contextKeyService),r}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.editor=e,this.withBorder=t,this._position=n,this._currentSuggestionIdx=r,this._suggestionCount=i,this._extraCommands=a,this._warning=o,this._relayout=s,this._commandService=c,this.keybindingService=u,this._contextKeyService=d,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${Lh.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=En(e=>{let t=this._warning.read(e);if(t)return typeof t.message==`string`?t.message:e.store.add(bn(t.message)).element}),this._warningMessageNode=Sa.div({class:`warningMessage`,style:{maxWidth:400,margin:4,marginBottom:4,display:En(e=>this._warning.read(e)?`block`:`none`)}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=Io(`div.inlineSuggestionsHints`,{className:this.withBorder?`monaco-hover monaco-hover-content`:``},[this._warningMessageNode.element,Io(`div@toolBar`)]),this.previousAction=this._register(this.createCommandAction(Nh,K(1272,`Previous`),M.asClassName(Bh))),this.availableSuggestionCountAction=this._register(new Yo(`inlineSuggestionHints.availableSuggestionCount`,``,void 0,!1)),this.nextAction=this._register(this.createCommandAction(Ph,K(1273,`Next`),M.asClassName(zh))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(N.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new Ht(()=>{this.availableSuggestionCountAction.label=``},100)),this.disableButtonsDebounced=this._register(new Ht(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register(ws(e=>{this._warningMessageContentNode.read(e),this._warningMessageNode.readEffect(e),this._relayout()})),this.toolBar=this._register(l.createInstance(Wh,this.nodes.toolBar,N.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`primary`)},actionViewItemProvider:(e,t)=>{if(e instanceof Ua)return l.createInstance(Uh,e,void 0);if(e===this.availableSuggestionCountAction){let t=new Hh(void 0,e,{label:!0,icon:!1});return t.setClass(`availableSuggestionCount`),t}},telemetrySource:`InlineSuggestionToolbar`})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(e=>{Lh._dropDownVisible=e})),this._register(ws(e=>{this._position.read(e),this.editor.layoutContentWidget(this)})),this._register(ws(e=>{let t=this._suggestionCount.read(e),n=this._currentSuggestionIdx.read(e);t===void 0?this.clearAvailableSuggestionCountLabelDebounced.schedule():(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${n+1}/${t}`),t!==void 0&&t>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(ws(e=>{let t=this._extraCommands.read(e).map(e=>({class:void 0,id:e.command.id,enabled:!0,tooltip:e.command.tooltip||``,label:e.command.title,run:()=>this._commandService.executeCommand(e.command.id,...e.command.arguments??[])}));for(let[e,n]of this.inlineCompletionsActionsMenus.getActions())for(let e of n)e instanceof Ua&&t.push(e);t.length>0&&t.unshift(new xs),this.toolBar.setAdditionalSecondaryActions(t)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};Vh=Lh=Fh([Ih(8,Mi),Ih(9,k),Ih(10,Oa),Ih(11,G),Ih(12,Yi)],Vh);var Hh=class extends io{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}},Uh=class extends xo{updateLabel(){let e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!e)return super.updateLabel();if(this.label){let t=Io(`div.keybinding`).root;this._register(new ji(t,yr,{disableTitle:!0,...kr})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add(`inlineSuggestionStatusBarItemLabel`)}}updateTooltip(){}},Wh=class extends Bo{constructor(e,t,n,r,i,a,o,s,c){super(e,{resetMenu:t,...n},r,i,a,o,s,c),this.menuId=t,this.options2=n,this.menuService=r,this.contextKeyService=i,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this.additionalPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){let{primary:e,secondary:t}=Xa(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),e.push(...this.additionalPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){De(this.prependedPrimaryActions,e,(e,t)=>e===t)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){De(this.additionalActions,e,(e,t)=>e===t)||(this.additionalActions=e,this.updateToolbar())}};Wh=Fh([Ih(3,Yi),Ih(4,G),Ih(5,La),Ih(6,Oa),Ih(7,Mi),Ih(8,Pa)],Wh);function Gh(e,t,n){let r=ut(e);return!(t<r.left+3||t>r.left+r.width-3||n<r.top+3||n>r.top+r.height-3)}function Kh(e,t,n){return e===`on`||e!==`off`&&qh(t,n.event)}function qh(e,t){return e===`altKey`?t.ctrlKey||t.metaKey:t.altKey}var Jh=class{constructor(e,t,n,r){this.value=e,this.isComplete=t,this.hasLoadingMessage=n,this.options=r}},Yh=class extends j{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new b),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new Xh(e=>this._triggerAsyncComputation(e),0)),this._syncComputationScheduler=this._register(new Xh(e=>this._triggerSyncComputation(e),0)),this._loadingMessageScheduler=this._register(new Xh(e=>this._triggerLoadingMessage(e),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._options=void 0,super.dispose()}get _hoverTime(){return this._editor.getOption(69).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t){this._options=t,this._state=e,this._fireResult(t)}_triggerAsyncComputation(e){this._setState(2,e),this._syncComputationScheduler.schedule(e,this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=Re(t=>this._computer.computeAsync(e,t)),(async()=>{try{for await(let t of this._asyncIterable)t&&(this._result.push(t),this._fireResult(e));this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0,e)}catch(e){Y(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(e){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync(e))),this._setState(this._asyncIterableDone?0:3,e)}_triggerLoadingMessage(e){this._state===3&&this._setState(4,e)}_fireResult(e){if(this._state===1||this._state===2)return;let t=this._state===0,n=this._state===4;this._onResult.fire(new Jh(this._result.slice(0),t,n,e))}start(e,t){if(e===0)this._state===0&&(this._setState(1,t),this._asyncComputationScheduler.schedule(t,this._firstWaitTime),this._loadingMessageScheduler.schedule(t,this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(t),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(t)}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&=(this._asyncIterable.cancel(),null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}},Xh=class extends j{constructor(e,t){super(),this._scheduler=this._register(new Ht(()=>e(this._options),t))}schedule(e,t){this._options=e,this._scheduler.schedule(t)}cancel(){this._scheduler.cancel()}},Zh=class{constructor(e,t,n,r){this.priority=e,this.range=t,this.initialMousePosX=n,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}},Qh=class{constructor(e,t,n,r,i,a){this.priority=e,this.owner=t,this.range=n,this.initialMousePosX=r,this.initialMousePosY=i,this.supportsMarkerHover=a,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}},$h=class{constructor(e,t){this.renderedHoverParts=e,this.disposables=t}dispose(){for(let e of this.renderedHoverParts)e.dispose();this.disposables?.dispose()}},eg=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}},tg=class{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new b,this._onDidResize=new b,this._sashListener=new v,this._size=new V(0,0),this._minSize=new V(0,0),this._maxSize=new V(2**53-1,2**53-1),this.domNode=document.createElement(`div`),this._eastSash=new Si(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Si(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Si(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:e.North}),this._southSash=new Si(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:e.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t,n=0,r=0;this._sashListener.add(At.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{t===void 0&&(this._onDidWillResize.fire(),t=this._size,n=0,r=0)})),this._sashListener.add(At.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{t!==void 0&&(t=void 0,n=0,r=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(e=>{t&&(r=e.currentX-e.startX,this.layout(t.height+n,t.width+r),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(e=>{t&&(r=-(e.currentX-e.startX),this.layout(t.height+n,t.width+r),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(e=>{t&&(n=-(e.currentY-e.startY),this.layout(t.height+n,t.width+r),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(e=>{t&&(n=e.currentY-e.startY,this.layout(t.height+n,t.width+r),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(At.any(this._eastSash.onDidReset,this._westSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(At.any(this._northSash.onDidReset,this._southSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,n,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=n?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){let{height:n,width:r}=this._minSize,{height:i,width:a}=this._maxSize;e=Math.max(n,Math.min(i,e)),t=Math.max(r,Math.min(a,t));let o=new V(t,e);V.equals(o,this._size)||(this.domNode.style.height=e+`px`,this.domNode.style.width=t+`px`,this._size=o,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}},ng=30,rg=24,ig=class extends j{constructor(e,t=new V(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new tg),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position=`absolute`,this._resizableNode.minSize=V.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(e=>{this._resize(new V(e.dimension.width,e.dimension.height)),e.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?O.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(t&&n)return ut(t).top+n.top-ng}_availableVerticalSpaceBelow(e){let t=this._editor.getDomNode(),n=this._editor.getScrolledVisiblePosition(e);if(!t||!n)return;let r=ut(t),i=vt(t.ownerDocument.body),a=r.top+n.top+n.height;return i.height-a-rg}_findPositionPreference(e,t){let n=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),r=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),i=Math.min(e,Math.min(Math.max(r,n),e)),a;return a=this._editor.getOption(69).above?i<=r?1:2:i<=n?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}},ag=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},og=function(e,t){return function(n,r){t(n,r,e)}},sg,cg=30,lg=class extends ig{static{sg=this}static{this.ID=`editor.contrib.resizableContentHoverWidget`}static{this._lastDimensions=new V(0,0)}get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,n,r,i){let a=e.getOption(75)+8,o=new V(150,a);super(e,o),this._configurationService=n,this._accessibilityService=r,this._keybindingService=i,this._hover=this._register(new s(!0)),this._onDidResize=this._register(new b),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new b),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new b),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=o,this._hoverVisibleKey=H.hoverVisible.bindTo(t),this._hoverFocusedKey=H.hoverFocused.bindTo(t),A(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex=`50`,this._resizableNode.domNode.className=`monaco-resizable-hover`,this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()}));let c=this._register(Wi(this._resizableNode.domNode));this._register(c.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(c.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(e=>{this._onDidScroll.fire(e)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return sg.ID}static _applyDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.width=r,e.style.height=i}_setContentsDomNodeDimensions(e,t){let n=this._hover.contentsDomNode;return sg._applyDimensions(n,e,t)}_setContainerDomNodeDimensions(e,t){let n=this._hover.containerDomNode;return sg._applyDimensions(n,e,t)}_setScrollableElementDimensions(e,t){let n=this._hover.scrollbar.getDomNode();return sg._applyDimensions(n,e,t)}_setHoverWidgetDimensions(e,t){this._setContainerDomNodeDimensions(e,t),this._setScrollableElementDimensions(e,t),this._setContentsDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,n){let r=typeof t==`number`?`${t}px`:t,i=typeof n==`number`?`${n}px`:n;e.style.maxWidth=r,e.style.maxHeight=i}_setHoverWidgetMaxDimensions(e,t){sg._applyMaxDimensions(this._hover.contentsDomNode,e,t),sg._applyMaxDimensions(this._hover.scrollbar.getDomNode(),e,t),sg._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty(`--vscode-hover-maxWidth`,typeof e==`number`?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions(`none`,`none`),this._setHoverWidgetDimensions(e.width,e.height)}_updateResizableNodeMaxDimensions(){let e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new V(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){sg._lastDimensions=new V(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){let e=this._renderedHover?.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){let e=this._findAvailableSpaceVertically();if(!e)return;let t=this._hover.contentsDomNode.children.length-1;return Array.from(this._hover.contentsDomNode.children).forEach(e=>{t+=e.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty(`--vscode-hover-whiteSpace`,`nowrap`),this._hover.containerDomNode.style.setProperty(`--vscode-hover-sourceWhiteSpace`,`nowrap`);let e=Array.from(this._hover.contentsDomNode.children).some(e=>e.scrollWidth>e.clientWidth);return this._hover.containerDomNode.style.removeProperty(`--vscode-hover-whiteSpace`),this._hover.containerDomNode.style.removeProperty(`--vscode-hover-sourceWhiteSpace`),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;let e=this._isHoverTextOverflowing(),t=this._contentWidth===void 0?0:this._contentWidth;return e||this._hover.containerDomNode.clientWidth<t?vt(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;let n=ut(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=ug(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,n.left,n.top,n.width,n.height));let r=ug(e,t,n.left,n.top,n.width,n.height);return r>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!0)}_setRenderedHover(e){this._renderedHover?.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle(`hidden`,!e)}_updateFont(){let{fontSize:e,lineHeight:t}=this._editor.getOption(59),n=this._hover.contentsDomNode;n.style.fontSize=`${e}px`,n.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_updateContent(e){let t=this._hover.contentsDomNode;t.style.paddingBottom=``,t.textContent=``,t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){let e=Math.max(this._editor.getLayoutInfo().height/4,250,sg._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,750,sg._lastDimensions.width);this._resizableNode.maxSize=new V(t,e),this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){if(!this._editor||!this._editor.hasModel())return;this._render(e);let t=ln(this._hover.containerDomNode),n=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,n)??1,this.handleContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();let r=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&Fo(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel()??``);r&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+`, `+r)}hide(){if(!this._renderedHover)return;let e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new V(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){let e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions(`auto`,`auto`),this._updateMaxDimensions()}setMinimumDimensions(e){this._minimumSize=new V(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){let e=this._contentWidth===void 0?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new V(e,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();let e=this._hover.contentsDomNode,n=ln(e),r=t(e)+2;if(this._resizableNode.layout(n,r),this._setHoverWidgetDimensions(r,n),n=ln(e),r=t(e),this._contentWidth=r,this._updateMinimumWidth(),this._resizableNode.layout(n,r),this._renderedHover?.showAtPosition){let e=ln(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(e,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-cg})}scrollRight(){let e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+cg})}pageUp(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){let e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};lg=sg=ag([og(1,G),og(2,fa),og(3,Xi),og(4,Oa)],lg);function ug(e,t,n,r,i,a){let o=n+i/2,s=r+a/2,c=Math.max(Math.abs(e-o)-i/2,0),l=Math.max(Math.abs(t-s)-a/2,0);return Math.sqrt(c*c+l*l)}var dg=class e{constructor(e,t){this._editor=e,this._participants=t}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];let n=e.getModel(),r=t.range.startLineNumber;if(r>n.getLineCount())return[];let i=n.getLineMaxColumn(r);return e.getLineDecorations(r).filter(e=>{if(e.options.isWholeLine)return!0;let n=e.range.startLineNumber===r?e.range.startColumn:1,a=e.range.endLineNumber===r?e.range.endColumn:i;if(e.options.showIfCollapsed){if(n>t.range.startColumn+1||t.range.endColumn-1>a)return!1}else if(n>t.range.startColumn||t.range.endColumn>a)return!1;return!0})}computeAsync(t,n){let r=t.anchor;if(!this._editor.hasModel()||!r)return p.EMPTY;let i=e._getLineDecorations(this._editor,r);return p.merge(this._participants.map(e=>e.computeAsync?e.computeAsync(r,i,t.source,n):p.EMPTY))}computeSync(t){if(!this._editor.hasModel())return[];let n=t.anchor,r=e._getLineDecorations(this._editor,n),i=[];for(let e of this._participants)i=i.concat(e.computeSync(n,r,t.source));return as(i)}},fg=class{constructor(e,t,n){this.hoverParts=e,this.isComplete=t,this.options=n}filter(e){let t=this.hoverParts.filter(t=>t.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new pg(this,t,this.isComplete,this.options)}},pg=class extends fg{constructor(e,t,n,r){super(t,n,r),this.original=e}filter(e){return this.original.filter(e)}},mg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hg=function(e,t){return function(n,r){t(n,r,e)}},gg=C,_g=class extends j{get hasContent(){return this._hasContent}constructor(e,t){super(),this._keybindingService=e,this._hoverService=t,this.actions=[],this._hasContent=!1,this.hoverElement=gg(`div.hover-row.status-bar`),this.hoverElement.tabIndex=0,this.actionsElement=A(this.hoverElement,gg(`div.actions`))}addAction(e){let t=this._keybindingService.lookupKeybinding(e.commandId),n=t?t.getLabel():null;this._hasContent=!0;let r=this._register(mn.render(this.actionsElement,e,n));return this._register(this._hoverService.setupManagedHover(Ir(`element`),r.actionContainer,r.actionRenderedLabel)),this.actions.push(r),r}append(e){let t=A(this.actionsElement,e);return this._hasContent=!0,t}};_g=mg([hg(0,Oa),hg(1,Zi)],_g);var vg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yg=function(e,t){return function(n,r){t(n,r,e)}},bg=class extends j{constructor(e,t,n,r){super(),this._container=e,this._getContent=t,this._clipboardService=n,this._hoverService=r,this._container.classList.add(`hover-row-with-copy`),this._button=this._register(new hd({label:K(1186,`Copy`),icon:X.copy,onTrigger:()=>this._copyContent(),className:`hover-copy-button`},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){let e=this._getContent();e&&(await this._clipboardService.writeText(e),ni(K(1187,`Copied to clipboard`)))}};bg=vg([yg(2,On),yg(3,Zi)],bg);var xg=class{constructor(e,t,n){this.provider=e,this.hover=t,this.ordinal=n}};async function Sg(e,t,n,r,i){let a=await Promise.resolve(e.provideHover(n,r,i)).catch(qr);if(a&&Tg(a))return new xg(e,a,t)}function Cg(e,t,n,r,i=!1){let a=e.ordered(t,i).map((e,i)=>Sg(e,i,t,n,r));return p.fromPromisesResolveOrder(a).coalesce()}async function wg(e,t,n,r,i=!1){let a=[];for await(let o of Cg(e,t,n,r,i))a.push(o.hover);return a}g(`_executeHoverProvider`,(e,t,n)=>wg(e.get(q).hoverProvider,t,n,w.None)),g(`_executeHoverProvider_recursive`,(e,t,n)=>wg(e.get(q).hoverProvider,t,n,w.None,!0));function Tg(e){let t=e.range!==void 0,n=e.contents!==void 0&&e.contents&&e.contents.length>0;return t&&n}var Eg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Dg=function(e,t){return function(n,r){t(n,r,e)}},Og=C,kg=U(`hover-increase-verbosity`,X.addSmall,K(1188,`Icon for increaseing hover verbosity.`)),Ag=U(`hover-decrease-verbosity`,X.removeSmall,K(1189,`Icon for decreasing hover verbosity.`)),jg=class{constructor(e,t,n,r,i,a=void 0){this.owner=e,this.range=t,this.contents=n,this.isBeforeContent=r,this.ordinal=i,this.source=a}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},Mg=class{constructor(e,t,n){this.hover=e,this.hoverProvider=t,this.hoverPosition=n}supportsVerbosityAction(e){switch(e){case ki.Increase:return this.hover.canIncreaseVerbosity??!1;case ki.Decrease:return this.hover.canDecreaseVerbosity??!1}}},Ng=class{constructor(e,t,n,r,i,a,o){this._editor=e,this._markdownRendererService=t,this._configurationService=n,this._languageFeaturesService=r,this._keybindingService=i,this._hoverService=a,this._commandService=o,this.hoverOrdinal=3}createLoadingMessage(e){return new jg(this,e.range,[new Xn().appendText(K(1190,`Loading...`))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=e.range.startLineNumber,i=n.getLineMaxColumn(r),a=[],o=1e3,s=n.getLineLength(r),c=n.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),l=this._editor.getOption(133),u=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:c}),d=this._editor.getOption(69).showLongLineWarning,f=!1;l>=0&&s>l&&e.range.startColumn>=l&&(f=!0,d&&a.push(new jg(this,e.range,[{value:K(1191,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",Mh),isTrusted:!0}],!1,o++))),!f&&typeof u==`number`&&s>=u&&d&&a.push(new jg(this,e.range,[{value:K(1192,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",Mh),isTrusted:!0}],!1,o++));let p=!1;for(let n of t){let t=n.range.startLineNumber===r?n.range.startColumn:1,s=n.range.endLineNumber===r?n.range.endColumn:i,c=n.options.hoverMessage;if(!c||Wn(c))continue;n.options.beforeContentClassName&&(p=!0);let l=new J(e.range.startLineNumber,t,e.range.startLineNumber,s);a.push(new jg(this,l,ms(c),p,o++))}return a}computeAsync(e,t,n,r){if(!this._editor.hasModel()||e.type!==1)return p.EMPTY;let i=this._editor.getModel(),a=this._languageFeaturesService.hoverProvider;return a.has(i)?this._getMarkdownHovers(a,i,e,r):p.EMPTY}async*_getMarkdownHovers(e,t,n,r){let i=n.range.getStartPosition(),a=Cg(e,t,i,r);for await(let e of a)if(!Wn(e.hover.contents)){let t=e.hover.range?J.lift(e.hover.range):n.range,r=new Mg(e.hover,e.provider,i);yield new jg(this,t,e.hover.contents,!1,e.ordinal,r)}}renderHoverParts(e,t){return this._renderedHoverParts=new Fg(t,e.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,e.onContentsChanged),this._renderedHoverParts}handleScroll(e){this._renderedHoverParts?.handleScroll(e)}getAccessibleContent(e){return this._renderedHoverParts?.getAccessibleContent(e)??``}updateMarkdownHoverVerbosityLevel(e,t){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(e,t))}};Ng=Eg([Dg(1,sn),Dg(2,fa),Dg(3,q),Dg(4,Oa),Dg(5,Zi),Dg(6,Mi)],Ng);var Pg=class{constructor(e,t,n,r){this.hoverPart=e,this.hoverElement=t,this.disposables=n,this.actionsContainer=r}dispose(){this.disposables.dispose()}},Fg=class{constructor(e,t,n,r,i,a,o,s,c,l){this._hoverParticipant=n,this._editor=r,this._commandService=i,this._keybindingService=a,this._hoverService=o,this._configurationService=s,this._markdownRendererService=c,this._onFinishedRendering=l,this._ongoingHoverOperations=new Map,this._disposables=new v,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(fo(()=>{this.renderedHoverParts.forEach(e=>{e.dispose()}),this._ongoingHoverOperations.forEach(e=>{e.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,n){return e.sort(An(e=>e.ordinal,u)),e.map(e=>{let r=this._renderHoverPart(e,n);return t.appendChild(r.hoverElement),r})}_renderHoverPart(e,t){let n=this._renderMarkdownHover(e,t),r=n.hoverElement,i=e.source,a=new v;if(a.add(n),!i)return new Pg(e,r,a);let o=i.supportsVerbosityAction(ki.Increase),s=i.supportsVerbosityAction(ki.Decrease);if(!o&&!s)return new Pg(e,r,a);let c=Og(`div.verbosity-actions`);r.prepend(c);let l=Og(`div.verbosity-actions-inner`);return c.append(l),a.add(this._renderHoverExpansionAction(l,ki.Increase,o)),a.add(this._renderHoverExpansionAction(l,ki.Decrease,s)),new Pg(e,r,a,l)}_renderMarkdownHover(e,t){return Lg(this._editor,e,this._markdownRendererService,t)}_renderHoverExpansionAction(e,t,n){let r=new v,i=t===ki.Increase,a=A(e,Og(M.asCSSSelector(i?kg:Ag)));a.tabIndex=0;let o=r.add(new Br(`mouse`,void 0,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(r.add(this._hoverService.setupManagedHover(o,a,Rg(this._keybindingService,t))),!n)return a.classList.add(`disabled`),r;a.classList.add(`enabled`);let s=()=>this._commandService.executeCommand(t===ki.Increase?Oh:Ah,{focus:!0});return r.add(new Or(a,s)),r.add(new vi(a,s,[3,10])),r}handleScroll(e){this.renderedHoverParts.forEach(t=>{let n=t.actionsContainer;if(!n)return;let r=t.hoverElement,i=e.scrollTop+e.height,a=r.offsetTop,o=r.clientHeight,s=a+o,c;c=s<=i||a>=i?o-22:i-a-22,n.style.top=`${c}px`})}async updateMarkdownHoverPartVerbosityLevel(e,t){let n=this._editor.getModel();if(!n)return;let r=this._getRenderedHoverPartAtIndex(t),i=r?.hoverPart.source;if(!r||!i?.supportsVerbosityAction(e))return;let a=await this._fetchHover(i,n,e);if(!a)return;let o=new Mg(a,i.hoverProvider,i.hoverPosition),s=r.hoverPart,c=new jg(this._hoverParticipant,s.range,a.contents,s.isBeforeContent,s.ordinal,o),l=this._updateRenderedHoverPart(t,c);if(l)return{hoverPart:c,hoverElement:l.hoverElement}}getAccessibleContent(e){let t=this.renderedHoverParts.findIndex(t=>t.hoverPart===e);if(t===-1)return;let n=this._getRenderedHoverPartAtIndex(t);if(n)return n.hoverElement.innerText.replace(/[^\S\n\r]+/gu,` `)}async _fetchHover(e,t,n){let r=n===ki.Increase?1:-1,i=e.hoverProvider,a=this._ongoingHoverOperations.get(i);a&&(a.tokenSource.cancel(),r+=a.verbosityDelta);let o=new ha;this._ongoingHoverOperations.set(i,{verbosityDelta:r,tokenSource:o});let s={verbosityRequest:{verbosityDelta:r,previousHover:e.hover}},c;try{c=await Promise.resolve(i.provideHover(t,e.hoverPosition,o.token,s))}catch(e){qr(e)}return o.dispose(),this._ongoingHoverOperations.delete(i),c}_updateRenderedHoverPart(e,t){if(e>=this.renderedHoverParts.length||e<0)return;let n=this._renderHoverPart(t,this._onFinishedRendering),r=this.renderedHoverParts[e],i=r.hoverElement,a=n.hoverElement,o=Array.from(a.children);i.replaceChildren(...o);let s=new Pg(t,i,n.disposables,n.actionsContainer);return r.dispose(),this.renderedHoverParts[e]=s,s}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}};function Ig(e,t,n,r){t.sort(An(e=>e.ordinal,u));let i=[];for(let a of t){let t=Lg(n,a,r,e.onContentsChanged);e.fragment.appendChild(t.hoverElement),i.push(t)}return new $h(i)}function Lg(e,t,n,r){let i=new v,a=Og(`div.hover-row`),o=Og(`div.hover-row-contents`);a.appendChild(o);let s=t.contents;for(let t of s){if(Wn(t))continue;let a=Og(`div.markdown-hover`),s=A(a,Og(`div.hover-contents`)),c=i.add(n.render(t,{context:e,asyncRenderCallback:()=>{s.className=`hover-contents code-hover-contents`,r()}}));s.appendChild(c.element),o.appendChild(a)}return{hoverPart:t,hoverElement:a,dispose(){i.dispose()}}}function Rg(e,t){switch(t){case ki.Increase:return e.appendKeybinding(K(1193,`Increase Hover Verbosity`),Oh);case ki.Decrease:return e.appendKeybinding(K(1194,`Decrease Hover Verbosity`),Ah)}}var zg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bg=function(e,t){return function(n,r){t(n,r,e)}},Vg=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,n){let r=t.range,i=t.color,a=new I(new $a(Math.round(255*i.red),Math.round(255*i.green),Math.round(255*i.blue),i.alpha)),o=I.Format.CSS.formatRGB(a),s=I.Format.CSS.formatHSL(a),c=I.Format.CSS.formatHexA(a,!0),l=[];return l.push({label:o,textEdit:{range:r,text:o}}),l.push({label:s,textEdit:{range:r,text:s}}),l.push({label:c,textEdit:{range:r,text:c}}),l}};Vg=zg([Bg(0,Ga)],Vg);var Hg=class extends j{constructor(e,t){super(),this._register(e.colorProvider.register(`*`,new Vg(t)))}};Hg=zg([Bg(0,q),Bg(1,Ga)],Hg);async function Ug(e,t,n,r=`auto`){return Kg(new Gg,e,t,n,r)}function Wg(e,t,n,r){return Promise.resolve(n.provideColorPresentations(e,t,r))}var Gg=class{constructor(){}async compute(e,t,n,r){let i=await e.provideDocumentColors(t,n);if(Array.isArray(i))for(let t of i)r.push({colorInfo:t,provider:e});return Array.isArray(i)}};async function Kg(e,t,n,r,i){let a=!1,o,s=[],c=t.ordered(n);for(let t=c.length-1;t>=0;t--){let l=c[t];if(i!==`always`&&l instanceof Vg)o=l;else try{await e.compute(l,n,r,s)&&(a=!0)}catch(e){qr(e)}}return a?s:o&&i!==`never`?(await e.compute(o,n,r,s),s):[]}var qg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jg=function(e,t){return function(n,r){t(n,r,e)}},Yg,Xg=Object.create({}),Zg=class extends j{static{Yg=this}static{this.ID=`editor.contrib.colorDetector`}static{this.RECOMPUTE_TIME=1e3}static{this.colorDecoratorInnerWidthInEm=.8}static{this.colorDecoratorMarginInEm=.2}constructor(e,t,n,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=n,this._localToDispose=this._register(new v),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new Qg),this._colorDecorationClassRefs=this._register(new v),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new Oo(this._editor));let i=this._editor.getContainerDomNode();i.style.setProperty(`--vscode-colorPicker-colorDecoratorWidth`,`${Yg.colorDecoratorInnerWidthInEm}em`),i.style.setProperty(`--vscode-colorPicker-colorDecoratorMargin`,`${Yg.colorDecoratorMarginInEm}em`),this._register(fo(()=>{i.style.removeProperty(`--vscode-colorPicker-colorDecoratorWidth`),i.style.removeProperty(`--vscode-colorPicker-colorDecoratorMargin`)})),this._debounceInformation=r.for(n.colorProvider,`Document Colors`,{min:Yg.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(n.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(e=>{let t=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168);let n=t!==this._isColorDecoratorsEnabled||e.hasChanged(27),r=e.hasChanged(168);(n||r)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(168),this.updateColors()}isEnabled(){let e=this._editor.getModel();if(!e)return!1;let t=e.getLanguageId(),n=this._configurationService.getValue(t);if(n&&typeof n==`object`){let e=n.colorDecorators;if(e&&e.enable!==void 0&&!e.enable)return e.enable}return this._editor.getOption(26)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled){this.removeAllDecorations();return}let e=this._editor.getModel();e&&this._languageFeaturesService.colorProvider.has(e)&&(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new rn,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=ot(async e=>{let t=this._editor.getModel();if(!t)return[];let n=new Ns(!1),r=await Ug(this._languageFeaturesService.colorProvider,t,e,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(t,n.elapsed()),r});try{let e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){Y(e)}}stop(){this._timeoutTimer&&=(this._timeoutTimer.cancel(),null),this._computePromise&&=(this._computePromise.cancel(),null),this._localToDispose.clear()}updateDecorations(e){let t=e.map(e=>({range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:F.EMPTY}));this._editor.changeDecorations(n=>{this._decorationsIds=n.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((t,n)=>this._colorDatas.set(t,e[n]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();let t=[],n=Yg.colorDecoratorInnerWidthInEm+2*Yg.colorDecoratorMarginInEm,r=this._editor.getOption(27);for(let i=0;i<e.length&&t.length<r;i++){let{red:r,green:a,blue:o,alpha:s}=e[i].colorInfo.color,c=new $a(Math.round(r*255),Math.round(a*255),Math.round(o*255),s),l=`rgba(${c.r}, ${c.g}, ${c.b}, ${c.a})`,u=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:l}));t.push({range:{startLineNumber:e[i].colorInfo.range.startLineNumber,startColumn:e[i].colorInfo.range.startColumn,endLineNumber:e[i].colorInfo.range.endLineNumber,endColumn:e[i].colorInfo.range.endColumn},options:{description:`colorDetector`,before:{content:`\xA0`,inlineClassName:`${u.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:Xg,widthInEm:n}}})}let i=r<e.length&&r;this._decoratorLimitReporter.update(e.length,i),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){let t=this._editor.getModel();if(!t)return null;let n=t.getDecorationsInRange(J.fromPositions(e,e)).filter(e=>this._colorDatas.has(e.id));return n.length===0?null:this._colorDatas.get(n[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};Zg=Yg=qg([Jg(1,fa),Jg(2,q),Jg(3,Ne)],Zg);var Qg=class extends j{constructor(){super(...arguments),this._onDidChange=this._register(new b),this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},$g=C,e_=class extends j{constructor(e,t,n){super(),this.model=t,this.pixelRatio=n,this._onDidChange=this._register(new b),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new b),this.onColorFlushed=this._onColorFlushed.event,this._domNode=$g(`.saturation-wrap`),A(e,this._domNode),this._canvas=document.createElement(`canvas`),this._canvas.className=`saturation-box`,A(this._domNode,this._canvas),this.selection=$g(`.saturation-selection`),A(this._domNode,this.selection),this.layout(),this._register(E(this._domNode,S.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new _i);let t=ut(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangePosition(e.pageX-t.left,e.pageY-t.top),()=>null);let n=E(e.target.ownerDocument,S.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),this.monitor&&=(this.monitor.stopMonitoring(!0),null)},!0)}onDidChangePosition(e,t){let n=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(n,r),this._onDidChange.fire({s:n,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();let e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){let e=this.model.color.hsva,t=new I(new Ti(e.h,1,1,1)),n=this._canvas.getContext(`2d`),r=n.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,`rgba(255, 255, 255, 1)`),r.addColorStop(.5,`rgba(255, 255, 255, 0.5)`),r.addColorStop(1,`rgba(255, 255, 255, 0)`);let i=n.createLinearGradient(0,0,0,this._canvas.height);i.addColorStop(0,`rgba(0, 0, 0, 0)`),i.addColorStop(1,`rgba(0, 0, 0, 1)`),n.rect(0,0,this._canvas.width,this._canvas.height),n.fillStyle=I.Format.CSS.format(t),n.fill(),n.fillStyle=r,n.fill(),n.fillStyle=i,n.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();let t=e.hsva;this.paintSelection(t.s,t.v)}},t_=class extends j{constructor(e){super(),this._onClicked=this._register(new b),this.onClicked=this._onClicked.event,this._button=A(e,document.createElement(`button`)),this._button.classList.add(`insert-button`),this._button.textContent=`Insert`,this._register(E(this._button,S.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}},n_=C,r_=class extends j{constructor(e,t,n){super(),this.model=t,this._onDidChange=this._register(new b),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new b),this.onColorFlushed=this._onColorFlushed.event,n===`standalone`?(this.domNode=A(e,n_(`.standalone-strip`)),this.overlay=A(this.domNode,n_(`.standalone-overlay`))):(this.domNode=A(e,n_(`.strip`)),this.overlay=A(this.domNode,n_(`.overlay`))),this.slider=A(this.domNode,n_(`.slider`)),this.slider.style.top=`0px`,this._register(E(this.domNode,S.POINTER_DOWN,e=>this.onPointerDown(e))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;let e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){let t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._register(new _i),n=ut(this.domNode);this.domNode.classList.add(`grabbing`),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,e=>this.onDidChangeTop(e.pageY-n.top),()=>null);let r=E(e.target.ownerDocument,S.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove(`grabbing`)},!0)}onDidChangeTop(e){let t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}},i_=class extends r_{constructor(e,t,n){super(e,t,n),this.domNode.classList.add(`opacity-strip`),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);let{r:t,g:n,b:r}=e.rgba,i=new I(new $a(t,n,r,1)),a=new I(new $a(t,n,r,0));this.overlay.style.background=`linear-gradient(to bottom, ${i} 0%, ${a} 100%)`}getValue(e){return e.hsva.a}},a_=class extends r_{constructor(e,t,n){super(e,t,n),this.domNode.classList.add(`hue-strip`)}getValue(e){return 1-e.hsva.h/360}},o_=C,s_=class extends j{constructor(e,t,n,r){super(),this.model=t,this.pixelRatio=n,this._insertButton=null,this._domNode=o_(`.colorpicker-body`),A(e,this._domNode),this._saturationBox=new e_(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new i_(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new a_(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r===`standalone`&&(this._insertButton=this._register(new t_(this._domNode)),this._domNode.classList.add(`standalone-colorpicker`))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){let n=this.model.color.hsva;this.model.color=new I(new Ti(n.h,e,t,n.a))}onDidOpacityChange(e){let t=this.model.color.hsva;this.model.color=new I(new Ti(t.h,t.s,t.v,e))}onDidHueChange(e){let t=this.model.color.hsva,n=(1-e)*360;this.model.color=new I(new Ti(n===360?0:n,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}},c_=C,l_=class extends j{constructor(e){super(),this._onClicked=this._register(new b),this.onClicked=this._onClicked.event,this._button=document.createElement(`div`),this._button.classList.add(`close-button`),A(e,this._button);let t=document.createElement(`div`);t.classList.add(`close-button-inner-div`),A(this._button,t),A(t,c_(`.button`+M.asCSSSelector(U(`color-picker-close`,X.close,K(936,`Icon to close the color picker`))))).classList.add(`close-icon`),this._register(E(this._button,S.CLICK,()=>{this._onClicked.fire()}))}},u_=C,d_=class extends j{constructor(e,t,n,r){super(),this.model=t,this.type=r,this._closeButton=null,this._domNode=u_(`.colorpicker-header`),A(e,this._domNode),this._pickedColorNode=A(this._domNode,u_(`.picked-color`)),A(this._pickedColorNode,u_(`span.codicon.codicon-color-mode`)),this._pickedColorPresentation=A(this._pickedColorNode,document.createElement(`span`)),this._pickedColorPresentation.classList.add(`picked-color-presentation`);let i=K(937,`Click to toggle color options (rgb/hsl/hex)`);this._pickedColorNode.setAttribute(`title`,i),this._originalColorNode=A(this._domNode,u_(`.original-color`)),this._originalColorNode.style.backgroundColor=I.Format.CSS.format(this.model.originalColor)||``,this.backgroundColor=n.getColorTheme().getColor(Zt)||I.white,this._register(n.onDidColorThemeChange(e=>{this.backgroundColor=e.getColor(Zt)||I.white})),this._register(E(this._pickedColorNode,S.CLICK,()=>this.model.selectNextColorPresentation())),this._register(E(this._originalColorNode,S.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=I.Format.CSS.format(t.color)||``,this._pickedColorNode.classList.toggle(`light`,t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.type===`standalone`&&(this._domNode.classList.add(`standalone-colorpicker`),this._closeButton=this._register(new l_(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=I.Format.CSS.format(e)||``,this._pickedColorNode.classList.toggle(`light`,e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:``}},f_=C,p_=class extends yo{constructor(e,t,n,r,i){super(),this.model=t,this.pixelRatio=n,this._register(_e.getInstance(yi(e)).onDidChange(()=>this.layout())),this._domNode=f_(`.colorpicker-widget`),e.appendChild(this._domNode),this.header=this._register(new d_(this._domNode,this.model,r,i)),this.body=this._register(new s_(this._domNode,this.model,this.pixelRatio,i))}layout(){this.body.layout()}get domNode(){return this._domNode}},m_=class extends j{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,n){super(),this.presentationIndex=n,this._onColorFlushed=this._register(new b),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new b),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new b),this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let n=-1;for(let e=0;e<this.colorPresentations.length;e++)if(t.toLowerCase()===this.colorPresentations[e].label){n=e;break}if(n===-1){let e=t.split(`(`)[0].toLowerCase();for(let t=0;t<this.colorPresentations.length;t++)if(this.colorPresentations[t].label.toLowerCase().startsWith(e)){n=t;break}}n!==-1&&n!==this.presentationIndex&&(this.presentationIndex=n,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}};async function h_(e,t,n){let r=e.getValueInRange(t.range),{red:i,green:a,blue:o,alpha:s}=t.color,c=new $a(Math.round(i*255),Math.round(a*255),Math.round(o*255),s),l=new I(c),u=await Wg(e,t,n,w.None),d=new m_(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,r),{range:J.lift(t.range),model:d,provider:n}}function g_(e,t,n,r){let i=[],a=n.presentation.textEdit??{range:t,text:n.presentation.label,forceMoveMarkers:!1};n.presentation.additionalTextEdits&&i.push(...n.presentation.additionalTextEdits);let o=J.lift(a.range),s=e.getModel()._setTrackedRange(null,o,3);return r?i.push(...r.map(e=>({range:e,text:a.text,forceMoveMarkers:!1}))):i.push(a),e.executeEdits(`colorpicker`,i),e.pushUndoStop(),e.getModel()._getTrackedRange(s)??o}async function __(e,t,n,r,i){t.colorPresentations=await Wg(e,{range:r,color:{red:n.rgba.r/255,green:n.rgba.g/255,blue:n.rgba.b/255,alpha:n.rgba.a}},i.provider,w.None)||[]}var v_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},y_=function(e,t){return function(n,r){t(n,r,e)}},b_=class e{constructor(e,t,n,r){this.owner=e,this.range=t,this.model=n,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}static fromBaseColor(t,n){return new e(t,n.range,n.model,n.provider)}},x_=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t,n){return[]}computeAsync(e,t,n,r){return p.fromPromise(this._computeAsync(e,t,n))}async _computeAsync(e,t,n){if(!this._editor.hasModel()||!this._isValidRequest(n))return[];let r=Zg.get(this._editor);if(!r)return[];for(let e of t){if(!r.isColorDecoration(e))continue;let t=r.getColorData(e.range.getStartPosition());if(t)return[b_.fromBaseColor(this,await h_(this._editor.getModel(),t.colorInfo,t.provider))]}return[]}_isValidRequest(e){let t=this._editor.getOption(169);switch(e){case 0:return t===`hover`||t===`clickAndHover`;case 1:return t===`click`||t===`clickAndHover`;case 2:return!0}}renderHoverParts(e,t){let n=this._editor;if(t.length===0||!n.hasModel())return new $h([]);let r=n.getOption(75)+8;e.setMinimumDimensions(new V(302,r));let i=new v,a=t[0],o=n.getModel(),s=a.model;this._colorPicker=i.add(new p_(e.fragment,s,n.getOption(164),this._themeService,`hover`));let c=!1,l=new J(a.range.startLineNumber,a.range.startColumn,a.range.endLineNumber,a.range.endColumn);return i.add(s.onColorFlushed(async e=>{await __(o,s,e,l,a),c=!0,l=g_(n,l,s)})),i.add(s.onDidChangeColor(e=>{__(o,s,e,l,a)})),i.add(n.onDidChangeModelContent(t=>{c?c=!1:(e.hide(),n.focus())})),new $h([{hoverPart:b_.fromBaseColor(this,a),hoverElement:this._colorPicker.domNode,dispose(){i.dispose()}}])}getAccessibleContent(e){return K(938,`There is a color picker here.`)}handleResize(){this._colorPicker?.layout()}handleContentsChanged(){this._colorPicker?.layout()}handleHide(){this._colorPicker?.dispose(),this._colorPicker=void 0}isColorPickerVisible(){return!!this._colorPicker}};x_=v_([y_(1,Mn)],x_);var S_=class{constructor(e,t){this.range=e,this.direction=t}},C_=class e{constructor(e,t,n){this.hint=e,this.anchor=t,this.provider=n,this._isResolved=!1}with(t){let n=new e(this.hint,t.anchor,this.provider);return n._isResolved=this._isResolved,n._currentResolve=this._currentResolve,n}async resolve(e){if(typeof this.provider.resolveInlayHint==`function`){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{let t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=t?.tooltip??this.hint.tooltip,this.hint.label=t?.label??this.hint.label,this.hint.textEdits=t?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(e){qr(e),this._isResolved=!1}}},w_=class e{static{this._emptyInlayHintList=Object.freeze({dispose(){},hints:[]})}static async create(t,n,r,i){let a=[],o=t.ordered(n).reverse().map(t=>r.map(async r=>{try{let o=await t.provideInlayHints(n,r,i);(o?.hints.length||t.onDidChangeInlayHints)&&a.push([o??e._emptyInlayHintList,t])}catch(e){qr(e)}}));if(await Promise.all(o.flat()),i.isCancellationRequested||n.isDisposed())throw new Ni;return new e(r,a,n)}constructor(t,n,r){this._disposables=new v,this.ranges=t,this.provider=new Set;let i=[];for(let[t,a]of n){this._disposables.add(t),this.provider.add(a);for(let n of t.hints){let t=r.validatePosition(n.position),o=`before`,s=e._getRangeAtPosition(r,t),c;s.getStartPosition().isBefore(t)?(c=J.fromPositions(s.getStartPosition(),t),o=`after`):(c=J.fromPositions(t,s.getEndPosition()),o=`before`),i.push(new C_(n,new S_(c,o),a))}}this.items=i.sort((e,t)=>O.compare(e.hint.position,t.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){let n=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new J(n,r.startColumn,n,r.endColumn);e.tokenization.tokenizeIfCheap(n);let i=e.tokenization.getLineTokens(n),a=t.column-1,o=i.findTokenIndexAtOffset(a),s=i.getStartOffset(o),c=i.getEndOffset(o);return c-s===1&&(s===a&&o>1?(s=i.getStartOffset(o-1),c=i.getEndOffset(o-1)):c===a&&o<i.getCount()-1&&(s=i.getStartOffset(o+1),c=i.getEndOffset(o+1))),new J(n,s+1,n,c+1)}};function T_(e){return nt(e.id,...e.arguments??[]).toString()}async function E_(e,t,n,i){let a=e.get(Sn),o=e.get(La),s=e.get(Mi),c=e.get(k),l=e.get(Ui);if(await i.item.resolve(w.None),!i.part.location)return;let u=i.part.location,d=[],f=new Set(Co.getMenuItems(N.EditorContext).map(e=>va(e)?e.command.id:r()));for(let e of eh.all())f.has(e.desc.id)&&d.push(new Yo(e.desc.id,Ua.label(e.desc,{renderShortTitle:!0}),void 0,!0,async()=>{let n=await a.createModelReference(u.uri);try{let r=new $m(n.object.textEditorModel,J.getStartPosition(u.range)),a=i.item.anchor.range;await c.invokeFunction(e.runEditorCommand.bind(e),t,r,a)}finally{n.dispose()}}));if(i.part.command){let{command:e}=i.part;d.push(new xs),d.push(new Yo(e.id,e.title,void 0,!0,async()=>{try{await s.executeCommand(e.id,...e.arguments??[])}catch(e){l.notify({severity:Fi.Error,source:i.item.provider.displayName,message:e})}}))}let p=t.getOption(144);o.showContextMenu({domForShadowRoot:p?t.getDomNode()??void 0:void 0,getAnchor:()=>{let e=ut(n);return{x:e.left,y:e.top+e.height+8}},getActions:()=>d,onHide:()=>{t.focus()},autoSelectFirstItem:!0})}async function D_(e,t,n,r){let i=await e.get(Sn).createModelReference(r.uri);await n.invokeWithinContext(async e=>{let a=t.hasSideBySideModifier,o=e.get(G),s=wp.inPeekEditor.getValue(o);return new th({openToSide:a,openInPeek:!a&&n.getOption(101)&&!s,muteMessage:!0},{title:{value:``,original:``},id:``,precondition:void 0}).run(e,new $m(i.object.textEditorModel,J.getStartPosition(r.range)),J.lift(r.range))}),i.dispose()}var O_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},k_=function(e,t){return function(n,r){t(n,r,e)}},A_,j_=class e{constructor(){this._entries=new hi(50)}get(t){let n=e._key(t);return this._entries.get(n)}set(t,n){let r=e._key(t);this._entries.set(r,n)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}},M_=Ee(`IInlayHintsCache`);ye(M_,j_,1);var N_=class{constructor(e,t){this.item=e,this.index=t}get part(){let e=this.item.hint.label;return typeof e==`string`?{label:e}:e[this.index]}},P_=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}},F_=class{constructor(){this._store=new Un,this._tokenSource=new ha}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new ha,this._store.value=new v,{store:this._store.value,token:this._tokenSource.token}}},I_=class{static{A_=this}static{this.ID=`editor.contrib.InlayHints`}static{this._MAX_DECORATORS=1500}static{this._whitespaceData={}}static get(e){return e.getContribution(A_.ID)??void 0}constructor(e,t,n,r,i,a,o){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=i,this._notificationService=a,this._instaService=o,this._disposables=new v,this._sessionDisposables=new v,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new Oo(this._editor)),this._debounceInfo=n.for(t.inlayHintsProvider,`InlayHint`,{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(e=>{e.hasChanged(159)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();let e=this._editor.getOption(159);if(e.enabled===`off`)return;let t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled===`on`)this._activeRenderMode=0;else{let t,n;e.enabled===`onUnlessPressed`?(t=0,n=1):(t=1,n=0),this._activeRenderMode=t,this._sessionDisposables.add(zt.getInstance().event(e=>{if(!this._editor.hasModel())return;let r=e.altKey&&e.ctrlKey&&!(e.shiftKey||e.metaKey)?n:t;if(r!==this._activeRenderMode){this._activeRenderMode=r;let e=this._editor.getModel(),t=this._copyInlayHintsWithCurrentAnchor(e);this._updateHintsDecorators([e.getFullModelRange()],t),a.schedule(0)}}))}let n=this._inlayHintsCache.get(t);n&&this._updateHintsDecorators([t.getFullModelRange()],n),this._sessionDisposables.add(fo(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r=new Set;this._sessionDisposables.add(t.onWillDispose(()=>void 0));let i=this._sessionDisposables.add(new F_),a=new Ht(async()=>{let e=Date.now(),{store:n,token:o}=i.reset();try{let i=await w_.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),o);if(a.delay=this._debounceInfo.update(t,Date.now()-e),o.isCancellationRequested){i.dispose();return}for(let e of i.provider)typeof e.onDidChangeInlayHints==`function`&&!r.has(e)&&(r.add(e),n.add(e.onDidChangeInlayHints(()=>{a.isScheduled()||a.schedule()})));n.add(i),n.add(fo(()=>r.clear())),this._updateHintsDecorators(i.ranges,i.items),this._cacheHintsForFastRestore(t)}catch(e){Y(e)}},this._debounceInfo.get(t));this._sessionDisposables.add(a),a.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(e=>{(e.scrollTopChanged||!a.isScheduled())&&a.schedule()}));let o=this._sessionDisposables.add(new Un);this._sessionDisposables.add(this._editor.onDidChangeModelContent(e=>{let t=Math.max(a.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+t},o.value=Ot(()=>a.schedule(0),t),a.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(159)&&a.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>a.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){let e=new v,t=e.add(new fh(this._editor)),n=new v;return e.add(n),e.add(t.onMouseMoveOrRelevantKeyDown(e=>{let[t]=e,r=this._getInlayHintLabelPart(t),i=this._editor.getModel();if(!r||!i){n.clear();return}let a=new ha;n.add(fo(()=>a.dispose(!0))),r.item.resolve(a.token),this._activeInlayHintPart=r.part.command||r.part.location?new P_(r,t.hasTriggerModifier):void 0;let o=i.validatePosition(r.item.hint.position).lineNumber,s=new J(o,1,o,i.getLineMaxColumn(o)),c=this._getInlineHintsForRange(s);this._updateHintsDecorators([s],c),n.add(fo(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([s],c)}))})),e.add(t.onCancel(()=>n.clear())),e.add(t.onExecute(async e=>{let t=this._getInlayHintLabelPart(e);if(t){let n=t.part;n.location?this._instaService.invokeFunction(D_,e,this._editor,n.location):ko.is(n.command)&&await this._invokeCommand(n.command,t.item)}})),e}_getInlineHintsForRange(e){let t=new Set;for(let n of this._decorationsMetadata.values())e.containsRange(n.item.anchor.range)&&t.add(n.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;let n=this._getInlayHintLabelPart(t);if(n&&(t.event.preventDefault(),await n.item.resolve(w.None),da(n.item.hint.textEdits))){let t=n.item.hint.textEdits.map(e=>_.replace(J.lift(e.range),e.text));this._editor.executeEdits(`inlayHint.default`,t),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!Do(e.event.target))return;let t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(E_,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){if(e.target.type!==6)return;let t=e.target.detail.injectedText?.options;if(t instanceof Eo&&t?.attachedData instanceof N_)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(e){this._notificationService.notify({severity:Fi.Error,source:t.provider.displayName,message:e})}}_cacheHintsForFastRestore(e){let t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){let t=new Map;for(let[n,r]of this._decorationsMetadata){if(t.has(r.item))continue;let i=e.getDecorationRange(n);if(i){let e=new S_(i,r.item.anchor.direction),n=r.item.with({anchor:e});t.set(r.item,n)}}return Array.from(t.values())}_getHintsRanges(){let e=this._editor.getModel(),t=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(let r of t.sort(J.compareRangesUsingStarts)){let t=e.validateRange(new J(r.startLineNumber-30,r.startColumn,r.endLineNumber+30,r.endColumn));n.length===0||!J.areIntersectingOrTouching(n[n.length-1],t)?n.push(t):n[n.length-1]=J.plusRange(n[n.length-1],t)}return n}_updateHintsDecorators(e,t){let n=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&e.some(e=>e.containsPosition(this._cursorInfo.position))){let{position:e}=this._cursorInfo;this._cursorInfo=void 0;let r=new Map;for(let t of this._editor.getLineDecorations(e.lineNumber)??[]){let n=this._decorationsMetadata.get(t.id);if(t.range.startColumn>e.column)continue;let i=n?.decoration.options[n.item.anchor.direction];if(i&&i.attachedData!==A_._whitespaceData){let e=r.get(n.item)??0;r.set(n.item,e+i.content.length)}}let i=t.filter(t=>t.anchor.range.startLineNumber===e.lineNumber&&t.anchor.range.endColumn<=e.column),a=Array.from(r.values()),o;for(;;){let e=i.shift(),t=a.shift();if(!t&&!e)break;if(e)n.set(e,t??0),o=e;else if(o&&t){let e=n.get(o);e+=t,e+=a.reduce((e,t)=>e+t,0),a.length=0;break}}}let{fontSize:r,fontFamily:i,padding:a,isUniform:o}=this._getLayoutInfo(),s=this._editor.getOption(61),c=[],l=(e,t,n,r,i,a)=>{let o={content:n,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:t.className,cursorStops:r,attachedData:i,widthInEm:a};c.push({item:e,classNameRef:t,decoration:{range:e.anchor.range,options:{description:`InlayHint`,showIfCollapsed:e.anchor.range.isEmpty(),collapseOnReplaceEdit:!e.anchor.range.isEmpty(),stickiness:0,[e.anchor.direction]:this._activeRenderMode===0?o:void 0}}})},u=(e,t)=>{let n=r/3|0,i=n/s,a=this._ruleFactory.createClassNameRef({width:`${n}px`,display:`inline-block`});l(e,a,``,t?Zo.Right:Zo.None,A_._whitespaceData,i)},d=this._editor.getOption(159).maximumLength,f=`--code-editorInlayHintsFontFamily`;this._editor.getContainerDomNode().style.setProperty(f,i);let p={line:0,totalLen:0};for(let e=0;e<t.length;e++){let i=t[e];if(p.line!==i.anchor.range.startLineNumber&&(p={line:i.anchor.range.startLineNumber,totalLen:0}),d&&p.totalLen>d)continue;i.hint.paddingLeft&&u(i,!1);let s=typeof i.hint.label==`string`?[{label:i.hint.label}]:i.hint.label,m=n.get(i),h=0;for(let e=0;e<s.length;e++){let t=s[e],n=e===0,c=e===s.length-1,u={fontSize:`${r}px`,fontFamily:`var(${f}), ${Be.fontFamily}`,verticalAlign:o?`baseline`:`middle`,unicodeBidi:`isolate`};da(i.hint.textEdits)&&(u.cursor=`default`),this._fillInColors(u,i.hint),(t.command||t.location)&&this._activeInlayHintPart?.part.item===i&&this._activeInlayHintPart.part.index===e&&(u.textDecoration=`underline`,this._activeInlayHintPart.hasTriggerModifier&&(u.color=be(es),u.cursor=`pointer`));let ee=t.label;p.totalLen+=ee.length;let te=!1,ne=d===0?0:p.totalLen-d;if(ne>0&&(ee=ee.slice(0,-ne)+`…`,te=!0),h+=ee.length,m!==void 0){let e=h-m;e>=0&&(h-=e,ee=ee.slice(0,-(1+e))+`…`,te=!0)}if(a&&(n&&(c||te)?(u.padding=`1px ${Math.max(1,r/4)|0}px`,u.borderRadius=`${r/4|0}px`):n?(u.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,u.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):c||te?(u.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,u.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):u.padding=`1px 0 1px 0`),l(i,this._ruleFactory.createClassNameRef(u),L_(ee),c&&!i.hint.paddingRight?Zo.Right:Zo.None,new N_(i,e)),te)break}if(m!==void 0&&h<m){let e=m-h;l(i,this._ruleFactory.createClassNameRef({}),` `.repeat(e),Zo.None)}if(i.hint.paddingRight&&u(i,!0),c.length>A_._MAX_DECORATORS)break}let m=[];for(let[t,n]of this._decorationsMetadata){let r=this._editor.getModel()?.getDecorationRange(t);r&&e.some(e=>e.containsRange(r))&&(m.push(t),n.classNameRef.dispose(),this._decorationsMetadata.delete(t))}let h=Ci.capture(this._editor);this._editor.changeDecorations(e=>{let t=e.deltaDecorations(m,c.map(e=>e.decoration));for(let e=0;e<t.length;e++){let n=c[e];this._decorationsMetadata.set(t[e],n)}}),h.restore(this._editor)}_fillInColors(e,t){t.kind===ro.Parameter?(e.backgroundColor=be(an),e.color=be(ze)):t.kind===ro.Type?(e.backgroundColor=be(st),e.color=be(kt)):(e.backgroundColor=be(It),e.color=be(Ut))}_getLayoutInfo(){let e=this._editor.getOption(159),t=e.padding,n=this._editor.getOption(61),r=this._editor.getOption(58),i=e.fontSize;(!i||i<5||i>n)&&(i=n);let a=e.fontFamily||r;return{fontSize:i,fontFamily:a,padding:t,isUniform:!t&&a===r&&i===n}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(let e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};I_=A_=O_([k_(1,q),k_(2,Ne),k_(3,M_),k_(4,Mi),k_(5,Ui),k_(6,k)],I_);function L_(e){return e.replace(/[ \t]/g,`\xA0`)}R.registerCommand(`_executeInlayHintProvider`,async(e,...t)=>{let[n,r]=t;ti(me.isUri(n)),ti(J.isIRange(r));let{inlayHintsProvider:i}=e.get(q),a=await e.get(Sn).createModelReference(n);try{let e=await w_.create(i,a.object.textEditorModel,[J.lift(r)],w.None),t=e.items.map(e=>e.hint);return setTimeout(()=>e.dispose(),0),t}finally{a.dispose()}});var R_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},z_=function(e,t){return function(n,r){t(n,r,e)}},B_=class extends Qh{constructor(e,t,n,r){super(10,t,e.item.anchor.range,n,r,!0),this.part=e}},V_=class extends Ng{constructor(e,t,n,r,i,a,o,s){super(e,t,i,o,n,r,s),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){if(!I_.get(this._editor)||e.target.type!==6)return null;let t=e.target.detail.injectedText?.options;return t instanceof Eo&&t.attachedData instanceof N_?new B_(t.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,n,r){return e instanceof B_?new p(async t=>{let{part:n}=e;if(await n.item.resolve(r),r.isCancellationRequested)return;let i;typeof n.item.hint.tooltip==`string`?i=new Xn().appendText(n.item.hint.tooltip):n.item.hint.tooltip&&(i=n.item.hint.tooltip),i&&t.emitOne(new jg(this,e.range,[i],!1,0)),da(n.item.hint.textEdits)&&t.emitOne(new jg(this,e.range,[new Xn().appendText(K(1220,`Double-click to insert`))],!1,10001));let a;if(typeof n.part.tooltip==`string`?a=new Xn().appendText(n.part.tooltip):n.part.tooltip&&(a=n.part.tooltip),a&&t.emitOne(new jg(this,e.range,[a],!1,1)),n.part.location||n.part.command){let r,i=this._editor.getOption(86)===`altKey`?pn?K(1221,`cmd + click`):K(1222,`ctrl + click`):pn?K(1223,`option + click`):K(1224,`alt + click`);n.part.location&&n.part.command?r=new Xn().appendText(K(1225,`Go to Definition ({0}), right click for more`,i)):n.part.location?r=new Xn().appendText(K(1226,`Go to Definition ({0})`,i)):n.part.command&&(r=new Xn(`[${K(1227,`Execute Command`)}](${T_(n.part.command)} "${n.part.command.title}") (${i})`,{isTrusted:!0})),r&&t.emitOne(new jg(this,e.range,[r],!1,1e4))}let o=this._resolveInlayHintLabelPartHover(n,r);for await(let e of o)t.emitOne(e)}):p.EMPTY}async*_resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return;let{uri:n,range:r}=e.part.location,i=await this._resolverService.createModelReference(n);try{let n=i.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(n))return;for await(let i of Cg(this._languageFeaturesService.hoverProvider,n,new O(r.startLineNumber,r.startColumn),t))Wn(i.hover.contents)||(yield new jg(this,e.item.anchor.range,i.hover.contents,!1,2+i.ordinal))}finally{i.dispose()}}};V_=R_([z_(1,sn),z_(2,Oa),z_(3,Zi),z_(4,fa),z_(5,Sn),z_(6,q),z_(7,Mi)],V_);var H_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},U_=function(e,t){return function(n,r){t(n,r,e)}},W_,G_,K_=W_=class extends j{constructor(e,t,n,r,i,a,o){super();let s=t.hoverParts;this._renderedHoverParts=this._register(new J_(e,n,s,r,i,a,o));let c=t.options,l=c.anchor,{showAtPosition:u,showAtSecondaryPosition:d}=W_.computeHoverPositions(e,l.range,s);this.shouldAppearBeforeContent=s.some(e=>e.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=d,this.initialMousePosX=l.initialMousePosX,this.initialMousePosY=l.initialMousePosY,this.shouldFocus=c.shouldFocus,this.source=c.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(e){this._renderedHoverParts.focusHoverPartWithIndex(e)}async updateHoverVerbosityLevel(e,t,n){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,n)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,n){let r=1;if(e.hasModel()){let n=e._getViewModel(),i=n.coordinatesConverter,a=i.convertModelRangeToViewRange(t),o=n.getLineMinColumn(a.startLineNumber),s=new O(a.startLineNumber,o);r=i.convertViewPositionToModelPosition(s).column}let i=t.startLineNumber,a=t.startColumn,o;for(let e of n){let t=e.range,n=t.startLineNumber===i,s=t.endLineNumber===i;if(n&&s){let e=t.startColumn;a=Math.max(Math.min(a,e),r)}e.forceShowAtRange&&(o=t)}let s,c;if(o){let e=o.getStartPosition();s=e,c=e}else s=t.getStartPosition(),c=new O(i,a);return{showAtPosition:s,showAtSecondaryPosition:c}}};K_=W_=H_([U_(4,Oa),U_(5,Zi),U_(6,On)],K_);var q_=class{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}},J_=class extends j{static{G_=this}static{this._DECORATION_OPTIONS=F.register({description:`content-hover-highlight`,className:`hoverHighlight`})}constructor(e,t,n,r,i,a,o){super(),this._hoverService=a,this._clipboardService=o,this._renderedParts=[],this._perPartDisposables=new Map,this._focusedHoverPartIndex=-1,this._context=r,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,n,r,i,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,n)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return j.None;let n=t[0].range;for(let e of t){let t=e.range;n=J.plusRange(n,t)}let r=e.createDecorationsCollection();return r.set([{range:n,options:G_._DECORATION_OPTIONS}]),fo(()=>{r.clear()})}_renderParts(e,t,n,r,i){let a=new _g(r,i),o={fragment:this._fragment,statusBar:a,...n},s=new v;s.add(a);for(let n of e){let e=this._renderHoverPartsForParticipant(t,n,o);s.add(e);for(let t of e.renderedHoverParts)this._renderedParts.push({type:`hoverPart`,participant:n,hoverPart:t.hoverPart,hoverElement:t.hoverElement})}let c=this._renderStatusBar(this._fragment,a);return c&&(s.add(c),this._renderedParts.push({type:`statusBar`,hoverElement:c.hoverElement,actions:c.actions})),s}_renderHoverPartsForParticipant(e,t,n){let r=e.filter(e=>e.owner===t);return r.length>0?t.renderHoverParts(n,r):new $h([])}_renderStatusBar(e,t){if(t.hasContent)return new q_(e,t)}_registerListenersOnRenderedParts(){return this._renderedParts.forEach((e,t)=>{this._createListenersForPart(t,e)}),fo(()=>{for(let e of this._perPartDisposables.values())e.dispose();this._perPartDisposables.clear()})}_createListenersForPart(e,t){let n=new v,r=t.hoverElement;r.tabIndex=0,n.add(E(r,S.FOCUS_IN,t=>{t.stopPropagation(),this._focusedHoverPartIndex=e})),n.add(E(r,S.FOCUS_OUT,e=>{e.stopPropagation(),this._focusedHoverPartIndex=-1})),t.type===`hoverPart`&&!(t.hoverPart instanceof b_)&&!t.participant.hideCopyButton&&n.add(new bg(r,()=>t.participant.getAccessibleContent(t.hoverPart),this._clipboardService,this._hoverService)),this._perPartDisposables.set(e,n)}_updateMarkdownAndColorParticipantInfo(e){let t=e.find(e=>e instanceof Ng&&!(e instanceof V_));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(e=>e instanceof x_)}focusHoverPartWithIndex(e){e<0||e>=this._renderedParts.length||this._renderedParts[e].hoverElement.focus()}async updateHoverVerbosityLevel(e,t,n){if(!this._markdownHoverParticipant)return;let r;r=t>=0?{start:t,endExclusive:t+1}:this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let t=r.start;t<r.endExclusive;t++){let n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)continue;let r=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n);if(!r)continue;let i=this._perPartDisposables.get(t);i&&(i.dispose(),this._perPartDisposables.delete(t)),this._renderedParts[t]={type:`hoverPart`,participant:this._markdownHoverParticipant,hoverPart:r.hoverPart,hoverElement:r.hoverElement},this._createListenersForPart(t,this._renderedParts[t])}n&&(t>=0?this.focusHoverPartWithIndex(t):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){let n=this._renderedParts[t];if(!n||n.type!==`hoverPart`||n.participant!==e)return;let r=this._renderedParts.findIndex(t=>t.type===`hoverPart`&&t.participant===e);if(r===-1)throw new Vi;return t-r}_findRangeOfMarkdownHoverParts(e){let t=this._renderedParts.slice(),n=t.findIndex(t=>t.type===`hoverPart`&&t.participant===e),r=t.reverse().findIndex(t=>t.type===`hoverPart`&&t.participant===e);return{start:n,endExclusive:(r>=0?t.length-r:r)+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}};J_=G_=H_([U_(4,Oa),U_(5,Zi),U_(6,On)],J_);var Y_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},X_=function(e,t){return function(n,r){t(n,r,e)}},Z_=class extends j{constructor(e,t,n,r,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=n,this._hoverService=r,this._clipboardService=i,this._currentResult=null,this._renderedContentHover=this._register(new Un),this._onContentsChanged=this._register(new b),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(lg,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new Yh(this._editor,new dg(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){let e=[];for(let t of eg.getAll()){let n=this._instantiationService.createInstance(t,this._editor);e.push(n)}return e.sort((e,t)=>e.hoverOrdinal-t.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(e=>e.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(e=>{this._participants.forEach(t=>t.handleScroll?.(e))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(e=>e.handleContentsChanged?.())})),e}_registerListeners(){this._register(this._hoverOperation.onResult(e=>{let t=e.hasLoadingMessage?this._addLoadingMessage(e):e.value;this._withResult(new fg(t,e.isComplete,e.options))}));let e=this._contentHoverWidget.getDomNode();this._register(ne(e,`keydown`,e=>{e.equals(9)&&this.hide()})),this._register(ne(e,`mouseleave`,e=>{this._onMouseLeave(e)})),this._register(Fr.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(e,t,n,r,i){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):!1;let a=this._editor.getOption(69).sticky,o=i&&this._contentHoverWidget.isMouseGettingCloser(i.event.posx,i.event.posy);return a&&o?(e&&this._startHoverOperationIfNecessary(e,t,n,r,!0),!0):e?this._currentResult&&this._currentResult.options.anchor.equals(e)?!0:this._currentResult&&e.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)?(this._currentResult&&this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,n,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,n,r,i){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(e))return;this._hoverOperation.cancel();let a={anchor:e,source:n,shouldFocus:r,insistOnKeepingHoverVisible:i};this._hoverOperation.start(t,a)}_setCurrentResult(e){let t=e;this._currentResult!==t&&(t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover())}_addLoadingMessage(e){for(let t of this._participants){if(!t.createLoadingMessage)continue;let n=t.createLoadingMessage(e.options.anchor);if(n)return e.value.slice(0).concat([n])}return e.value}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;let t=e.hoverParts.length===0,n=e.options.insistOnKeepingHoverVisible;t&&n||this._setCurrentResult(e)}_showHover(e){let t=this._getHoverContext();this._renderedContentHover.value=new K_(this._editor,e,this._participants,t,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover.value):this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEach(e=>e.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:e=>{this._contentHoverWidget.setMinimumDimensions(e)},focus:()=>this.focus()}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing||this._isMouseOnCodeActionWidget(e))return!0;let t=this._findHoverAnchorCandidates(e);if(!(t.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);let n=t[0];return this._startShowingOrUpdateHover(n,0,0,!1,e)}_findHoverAnchorCandidates(e){let t=[];for(let n of this._participants){if(!n.suggestHoverAnchor)continue;let r=n.suggestHoverAnchor(e);r&&t.push(r)}let n=e.target;switch(n.type){case 6:t.push(new Zh(0,n.range,e.event.posx,e.event.posy));break;case 7:{let r=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!n.detail.isAfterLines&&typeof n.detail.horizontalDistanceToText==`number`&&n.detail.horizontalDistanceToText<r))break;t.push(new Zh(0,n.range,e.event.posx,e.event.posy));break}}return t.sort((e,t)=>t.priority-e.priority),t}_isMouseOnCodeActionWidget(e){let t=e.event.browserEvent.target;return!!(t instanceof Element&&t.closest(`.action-widget`))}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Gh(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,n,r){this._startShowingOrUpdateHover(new Zh(0,e,void 0,void 0),t,n,r,null)}async updateHoverVerbosityLevel(e,t,n){this._renderedContentHover.value?.updateHoverVerbosityLevel(e,t,n)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._renderedContentHover.value?.hoverPartsCount===1?this.focusHoverPartWithIndex(0):this._contentHoverWidget.focus()}focusHoverPartWithIndex(e){this._renderedContentHover.value?.focusHoverPartWithIndex(e)}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover.value?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};Z_=Y_([X_(1,k),X_(2,Oa),X_(3,Zi),X_(4,On)],Z_);function Q_(e){let t=e.target;return!!t&&t.type===6&&t.detail.injectedText?.options.attachedData===Xg}var $_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ev=function(e,t){return function(n,r){t(n,r,e)}},tv,nv=class extends j{static{tv=this}static{this.ID=`editor.contrib.contentHover`}constructor(e,t,n,r){super(),this._editor=e,this._instantiationService=n,this._keybindingService=r,this._onHoverContentsChanged=this._register(new b),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new v,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new Ht(()=>{this._mouseMoveEvent&&this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(t.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(t.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(tv.ID)}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled===`off`&&this._cancelSchedulerAndHide(),this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){this._ignoreMouseEvents||(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideContentHover()}_onEditorMouseDown(e){this._ignoreMouseEvents||(this._isMouseDown=!0,!this._shouldKeepHoverWidgetVisible(e)&&this.hideContentHover())}_shouldKeepHoverWidgetVisible(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()||Q_(e)}_isMouseOnContentHoverWidget(e){return!this._contentWidget||!this._contentWidget.getDomNode().isConnected?!1:Gh(this._contentWidget.getDomNode(),e.event.posx,e.event.posy)}_onEditorMouseUp(){this._ignoreMouseEvents||(this._isMouseDown=!1)}_onEditorMouseLeave(e){this._ignoreMouseEvents||this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),!this._shouldKeepHoverWidgetVisible(e)&&this.hideContentHover())}_shouldKeepCurrentHover(e){let t=this._contentWidget;if(!t)return!1;let n=this._hoverSettings.sticky,r=(e,t)=>{let n=this._isMouseOnContentHoverWidget(e);return t&&n},i=e=>{let n=t.isColorPickerVisible,r=this._isMouseOnContentHoverWidget(e),i=n&&r,a=n&&this._isMouseDown;return i||a},a=(e,n)=>{let r=e.event.browserEvent.view;return r?n&&t.containsNode(r.document.activeElement)&&!r.getSelection()?.isCollapsed:!1},o=t.isFocused,s=t.isResizing,c=this._hoverSettings.sticky&&t.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||o||s||c||r(e,n)||i(e)||a(e,n)}_onEditorMouseMove(e){this._ignoreMouseEvents||(this._isMouseDown&&!this._shouldKeepHoverWidgetVisible(e)?this._cancelSchedulerAndHide():(this._mouseMoveEvent=e,this._shouldKeepCurrentHover(e)?this._reactToEditorMouseMoveRunner.cancel():this._shouldRescheduleHoverComputation()?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay):this._reactToEditorMouseMove(e)))}_shouldRescheduleHoverComputation(){let e=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&e>0}_reactToEditorMouseMove(e){Kh(this._hoverSettings.enabled,this._editor.getOption(86),e)&&this._getOrCreateContentWidget().showsOrWillShow(e)||this.hideContentHover()}_onKeyDown(e){if(this._ignoreMouseEvents||!this._contentWidget)return;if(this._hoverSettings.enabled===`onKeyboardModifier`&&qh(this._editor.getOption(86),e)&&this._mouseMoveEvent){this._contentWidget.isVisible||this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}let t=this._isPotentialKeyboardShortcut(e),n=Ce(e.keyCode);t||n||this._contentWidget.isFocused&&e.keyCode===2||this.hideContentHover()}_isPotentialKeyboardShortcut(e){if(!this._editor.hasModel()||!this._contentWidget)return!1;let t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),n=t.kind===1,r=t.kind===2&&(t.commandId===`editor.action.showHover`||t.commandId===`editor.action.increaseHoverVerbosityLevel`||t.commandId===`editor.action.decreaseHoverVerbosityLevel`)&&this._contentWidget.isVisible;return n||r}hideContentHover(){Vh.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(Z_,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,n,r){this._getOrCreateContentWidget().startShowingAtRange(e,t,n,r)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,n){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,n)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}};nv=tv=$_([ev(1,La),ev(2,k),ev(3,Oa)],nv);var rv;(function(e){e.NoAutoFocus=`noAutoFocus`,e.FocusIfVisible=`focusIfVisible`,e.AutoFocusImmediately=`autoFocusImmediately`})(rv||={});var iv=class extends B{constructor(){super({id:_h,label:z(1165,`Show or Focus Hover`),metadata:{description:z(1166,`Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.`),args:[{name:`args`,schema:{type:`object`,properties:{focus:{description:`Controls if and when the hover should take focus upon being triggered by this action.`,enum:[rv.NoAutoFocus,rv.FocusIfVisible,rv.AutoFocusImmediately],enumDescriptions:[K(1162,`The hover will not automatically take focus.`),K(1163,`The hover will take focus only if it is already visible.`),K(1164,`The hover will automatically take focus when it appears.`)],default:rv.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2087),weight:100}})}run(e,t,n){if(!t.hasModel())return;let r=nv.get(t);if(!r)return;let i=n?.focus,a=rv.FocusIfVisible;Object.values(rv).includes(i)?a=i:typeof i==`boolean`&&i&&(a=rv.AutoFocusImmediately);let o=e=>{let n=t.getPosition(),i=new J(n.lineNumber,n.column,n.lineNumber,n.column);r.showContentHover(i,1,2,e)},s=t.getOption(2)===2;r.isHoverVisible?a===rv.NoAutoFocus?o(s):r.focus():o(s||a===rv.AutoFocusImmediately)}},av=class extends B{constructor(){super({id:vh,label:z(1167,`Show Definition Preview Hover`),precondition:void 0,metadata:{description:z(1168,`Show the definition preview hover in the editor.`)}})}run(e,t){let n=nv.get(t);if(!n)return;let r=t.getPosition();if(!r)return;let i=new J(r.lineNumber,r.column,r.lineNumber,r.column),a=gh.get(t);a&&a.startFindDefinitionFromCursor(r).then(()=>{n.showContentHover(i,1,2,!0)})}},ov=class extends B{constructor(){super({id:yh,label:z(1169,`Hide Hover`),alias:`Hide Content Hover`,precondition:void 0})}run(e,t){nv.get(t)?.hideContentHover()}},sv=class extends B{constructor(){super({id:bh,label:z(1170,`Scroll Up Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:16,weight:100},metadata:{description:z(1171,`Scroll up the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.scrollUp()}},cv=class extends B{constructor(){super({id:xh,label:z(1172,`Scroll Down Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:18,weight:100},metadata:{description:z(1173,`Scroll down the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.scrollDown()}},lv=class extends B{constructor(){super({id:Sh,label:z(1174,`Scroll Left Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:15,weight:100},metadata:{description:z(1175,`Scroll left the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.scrollLeft()}},uv=class extends B{constructor(){super({id:Ch,label:z(1176,`Scroll Right Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:17,weight:100},metadata:{description:z(1177,`Scroll right the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.scrollRight()}},dv=class extends B{constructor(){super({id:wh,label:z(1178,`Page Up Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:z(1179,`Page up the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.pageUp()}},fv=class extends B{constructor(){super({id:Th,label:z(1180,`Page Down Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:z(1181,`Page down the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.pageDown()}},pv=class extends B{constructor(){super({id:Eh,label:z(1182,`Go To Top Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:z(1183,`Go to the top of the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.goToTop()}},mv=class extends B{constructor(){super({id:Dh,label:z(1184,`Go To Bottom Hover`),precondition:H.hoverFocused,kbOpts:{kbExpr:H.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:z(1185,`Go to the bottom of the editor hover.`)}})}run(e,t){let n=nv.get(t);n&&n.goToBottom()}},hv=class extends B{constructor(){super({id:Oh,label:kh,alias:`Increase Hover Verbosity Level`,precondition:H.hoverVisible})}run(e,t,n){let r=nv.get(t);if(!r)return;let i=n?.index===void 0?r.focusedHoverPartIndex():n.index;r.updateHoverVerbosityLevel(ki.Increase,i,n?.focus)}},gv=class extends B{constructor(){super({id:Ah,label:jh,alias:`Decrease Hover Verbosity Level`,precondition:H.hoverVisible})}run(e,t,n){let r=nv.get(t);if(!r)return;let i=n?.index===void 0?r.focusedHoverPartIndex():n.index;nv.get(t)?.updateHoverVerbosityLevel(ki.Decrease,i,n?.focus)}},_v=new class{constructor(){this.QuickFix=new Gs(`quickfix`),this.Refactor=new Gs(`refactor`),this.RefactorExtract=this.Refactor.append(`extract`),this.RefactorInline=this.Refactor.append(`inline`),this.RefactorMove=this.Refactor.append(`move`),this.RefactorRewrite=this.Refactor.append(`rewrite`),this.Notebook=new Gs(`notebook`),this.Source=new Gs(`source`),this.SourceOrganizeImports=this.Source.append(`organizeImports`),this.SourceFixAll=this.Source.append(`fixAll`),this.SurroundWith=this.Refactor.append(`surround`)}},vv;(function(e){e.Refactor=`refactor`,e.RefactorPreview=`refactor preview`,e.Lightbulb=`lightbulb`,e.Default=`other (default)`,e.SourceAction=`source action`,e.QuickFix=`quick fix action`,e.FixAll=`fix all`,e.OrganizeImports=`organize imports`,e.AutoFix=`auto fix`,e.QuickFixHover=`quick fix hover window`,e.OnSave=`save participants`,e.ProblemsView=`problems view`})(vv||={});function yv(e,t){return!(e.include&&!e.include.intersects(t)||e.excludes&&e.excludes.some(n=>xv(t,n,e.include))||!e.includeSourceActions&&_v.Source.contains(t))}function bv(e,t){let n=t.kind?new Gs(t.kind):void 0;return!(e.include&&(!n||!e.include.contains(n))||e.excludes&&n&&e.excludes.some(t=>xv(n,t,e.include))||!e.includeSourceActions&&n&&_v.Source.contains(n)||e.onlyIncludePreferredActions&&!t.isPreferred)}function xv(e,t,n){return!(!t.contains(e)||n&&t.contains(n))}var Sv=class e{static fromUser(t,n){return!t||typeof t!=`object`?new e(n.kind,n.apply,!1):new e(e.getKindFromUser(t,n.kind),e.getApplyFromUser(t,n.apply),e.getPreferredUser(t))}static getApplyFromUser(e,t){switch(typeof e.apply==`string`?e.apply.toLowerCase():``){case`first`:return`first`;case`never`:return`never`;case`ifsingle`:return`ifSingle`;default:return t}}static getKindFromUser(e,t){return typeof e.kind==`string`?new Gs(e.kind):t}static getPreferredUser(e){return typeof e.preferred==`boolean`&&e.preferred}constructor(e,t,n){this.kind=e,this.apply=t,this.preferred=n}},Cv=class{constructor(e,t,n){this.action=e,this.provider=t,this.highlightRange=n}async resolve(e){if(this.provider?.resolveCodeAction&&!this.action.edit){let t;try{t=await this.provider.resolveCodeAction(this.action,e)}catch(e){qr(e)}t&&(this.action.edit=t.edit)}return this}},wv=`editor.action.codeAction`,Tv=`editor.action.quickFix`,Ev=`editor.action.refactor`,Dv=`editor.action.sourceAction`,Ov=`editor.action.organizeImports`,kv=`editor.action.fixAll`,Av=1e3,jv=class e extends j{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:t},{action:n}){return t.isAI&&!n.isAI?1:!t.isAI&&n.isAI?-1:da(t.diagnostics)?da(n.diagnostics)?e.codeActionsPreferredComparator(t,n):-1:da(n.diagnostics)?1:e.codeActionsPreferredComparator(t,n)}constructor(t,n,r){super(),this.documentation=n,this._register(r),this.allActions=[...t].sort(e.codeActionsComparator),this.validActions=this.allActions.filter(({action:e})=>!e.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&_v.QuickFix.contains(new Gs(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}},Mv={actions:[],documentation:void 0};async function Nv(e,t,n,r,i,a){let o=r.filter||{},s={...o,excludes:[...o.excludes||[],_v.Notebook]},c={only:o.include?.value,trigger:r.type},l=new So(t,a),u=Pv(e,t,r.type===2?s:o),d=new v,f=u.map(async e=>{let r=setTimeout(()=>i.report(e),1250);try{let r=await e.provideCodeActions(t,n,c,l.token);if(l.token.isCancellationRequested)return r?.dispose(),Mv;r&&d.add(r);let i=(r?.actions||[]).filter(e=>e&&bv(o,e)),a=Iv(e,i,o.include);return{actions:i.map(t=>new Cv(t,e)),documentation:a}}catch(e){if(Xo(e))throw e;return qr(e),Mv}finally{clearTimeout(r)}}),p=e.onDidChange(()=>{let n=e.all(t);De(n,u)||l.cancel()});try{let n=await Promise.all(f),i=n.map(e=>e.actions).flat(),a=new jv(i,[...as(n.map(e=>e.documentation)),...Fv(e,t,r,i)],d);return d.add(a),a}catch(e){throw d.dispose(),e}finally{p.dispose(),l.dispose()}}function Pv(e,t,n){return e.all(t).filter(e=>!e.providedCodeActionKinds||e.providedCodeActionKinds.some(e=>yv(n,new Gs(e))))}function*Fv(e,t,n,r){if(t&&r.length)for(let i of e.all(t))i._getAdditionalMenuItems&&(yield*i._getAdditionalMenuItems?.({trigger:n.type,only:n.filter?.include?.value},r.map(e=>e.action)))}function Iv(e,t,n){if(!e.documentation)return;let r=e.documentation.map(e=>({kind:new Gs(e.kind),command:e.command}));if(n){let e;for(let t of r)t.kind.contains(n)&&(e?e.kind.contains(t.kind)&&(e=t):e=t);if(e)return e?.command}for(let e of t)if(e.kind){for(let t of r)if(t.kind.contains(new Gs(e.kind)))return t.command}}var Lv;(function(e){e.OnSave=`onSave`,e.FromProblemsView=`fromProblemsView`,e.FromCodeActions=`fromCodeActions`,e.FromAILightbulb=`fromAILightbulb`,e.FromProblemsHover=`fromProblemsHover`})(Lv||={});async function Rv(e,t,n,r,i=w.None){let a=e.get(rs),o=e.get(Mi),s=e.get(Pa),c=e.get(Ui),l=e.get(ds);if(s.publicLog2(`codeAction.applyCodeAction`,{codeActionTitle:t.action.title,codeActionKind:t.action.kind,codeActionIsPreferred:!!t.action.isPreferred,reason:n}),l.playSignal(he.codeActionTriggered),await t.resolve(i),!i.isCancellationRequested&&(!t.action.edit?.edits.length||(await a.apply(t.action.edit,{editor:r?.editor,label:t.action.title,quotableLabel:t.action.title,code:`undoredo.codeAction`,respectAutoSaveConfig:n!==Lv.OnSave,showPreview:r?.preview,reason:Uo.codeAction({kind:t.action.kind,providerId:Ki.fromExtensionId(t.provider?.extensionId)})})).isApplied)){if(t.action.command)try{await o.executeCommand(t.action.command.id,...t.action.command.arguments||[])}catch(e){let t=zv(e);c.error(typeof t==`string`?t:K(881,`An unknown error occurred while applying the code action`))}setTimeout(()=>l.playSignal(he.codeActionApplied),Av)}}function zv(e){if(typeof e==`string`)return e;if(e instanceof Error&&typeof e.message==`string`)return e.message}R.registerCommand(`_executeCodeActionProvider`,async function(e,t,n,r,i){if(!(t instanceof me))throw Ar();let{codeActionProvider:a}=e.get(q),o=e.get(ce).getModel(t);if(!o)throw Ar();let s=P.isISelection(n)?P.liftSelection(n):J.isIRange(n)?o.validateRange(n):void 0;if(!s)throw Ar();let c=typeof r==`string`?new Gs(r):void 0,l=await Nv(a,o,s,{type:1,triggerAction:vv.Default,filter:{includeSourceActions:!0,include:c}},Pe.None,w.None),u=[],d=Math.min(l.validActions.length,typeof i==`number`?i:0);for(let e=0;e<d;e++)u.push(l.validActions[e].resolve(w.None));try{return await Promise.all(u),l.validActions.map(e=>e.action)}finally{setTimeout(()=>l.dispose(),100)}});var Bv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vv=function(e,t){return function(n,r){t(n,r,e)}},Hv,Uv=class{static{Hv=this}static{this.codeActionCommands=[Ev,wv,Dv,Ov,kv]}constructor(e){this.keybindingService=e}getResolver(){let e=new Ya(()=>this.keybindingService.getKeybindings().filter(e=>Hv.codeActionCommands.indexOf(e.command)>=0).filter(e=>e.resolvedKeybinding).map(e=>{let t=e.commandArgs;return e.command===`editor.action.organizeImports`?t={kind:_v.SourceOrganizeImports.value}:e.command===`editor.action.fixAll`&&(t={kind:_v.SourceFixAll.value}),{resolvedKeybinding:e.resolvedKeybinding,...Sv.fromUser(t,{kind:Gs.None,apply:`never`})}}));return t=>{if(t.kind)return this.bestKeybindingForCodeAction(t,e.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;let n=new Gs(e.kind);return t.filter(e=>e.kind.contains(n)).filter(t=>!t.preferred||e.isPreferred).reduceRight((e,t)=>e?e.kind.contains(t.kind)?t:e:t,void 0)}};Uv=Hv=Bv([Vv(0,Oa)],Uv),T(`symbolIcon.arrayForeground`,mt,K(1569,`The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.booleanForeground`,mt,K(1570,`The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.classForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},K(1571,`The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.colorForeground`,mt,K(1572,`The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.constantForeground`,mt,K(1573,`The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.constructorForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},K(1574,`The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.enumeratorForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},K(1575,`The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.enumeratorMemberForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},K(1576,`The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.eventForeground`,{dark:`#EE9D28`,light:`#D67E00`,hcDark:`#EE9D28`,hcLight:`#D67E00`},K(1577,`The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.fieldForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},K(1578,`The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.fileForeground`,mt,K(1579,`The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.folderForeground`,mt,K(1580,`The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.functionForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},K(1581,`The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.interfaceForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},K(1582,`The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.keyForeground`,mt,K(1583,`The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.keywordForeground`,mt,K(1584,`The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.methodForeground`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},K(1585,`The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.moduleForeground`,mt,K(1586,`The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.namespaceForeground`,mt,K(1587,`The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.nullForeground`,mt,K(1588,`The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.numberForeground`,mt,K(1589,`The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.objectForeground`,mt,K(1590,`The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.operatorForeground`,mt,K(1591,`The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.packageForeground`,mt,K(1592,`The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.propertyForeground`,mt,K(1593,`The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.referenceForeground`,mt,K(1594,`The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.snippetForeground`,mt,K(1595,`The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.stringForeground`,mt,K(1596,`The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.structForeground`,mt,K(1597,`The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.textForeground`,mt,K(1598,`The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.typeParameterForeground`,mt,K(1599,`The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.unitForeground`,mt,K(1600,`The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`)),T(`symbolIcon.variableForeground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},K(1601,`The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget.`));var Wv=Object.freeze({kind:Gs.Empty,title:K(917,`More Actions...`)}),Gv=Object.freeze([{kind:_v.QuickFix,title:K(918,`Quick Fix`)},{kind:_v.RefactorExtract,title:K(919,`Extract`),icon:X.wrench},{kind:_v.RefactorInline,title:K(920,`Inline`),icon:X.wrench},{kind:_v.RefactorRewrite,title:K(921,`Rewrite`),icon:X.wrench},{kind:_v.RefactorMove,title:K(922,`Move`),icon:X.wrench},{kind:_v.SurroundWith,title:K(923,`Surround With`),icon:X.surroundWith},{kind:_v.Source,title:K(924,`Source Action`),icon:X.symbolFile},Wv]);function Kv(e,t,n){if(!t)return e.map(e=>({kind:`action`,item:e,group:Wv,disabled:!!e.action.disabled,label:e.action.disabled||e.action.title,canPreview:!!e.action.edit?.edits.length}));let r=Gv.map(e=>({group:e,actions:[]}));for(let t of e){let e=t.action.kind?new Gs(t.action.kind):Gs.None;for(let n of r)if(n.group.kind.contains(e)){n.actions.push(t);break}}let i=[];for(let e of r)if(e.actions.length){i.push({kind:`header`,group:e.group});for(let t of e.actions){let r=e.group;i.push({kind:`action`,item:t,group:t.action.isAI?{title:r.title,kind:r.kind,icon:X.sparkle}:r,label:t.action.title,disabled:!!t.action.disabled,keybinding:n(t.action)})}}return i}var qv=new W(`supportedCodeAction`,``),Jv=class extends j{constructor(e,t,n,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=n,this._delay=r,this._autoTriggerTimer=this._register(new rn),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged(e=>this._onMarkerChanges(e))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){let t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){let t=this._editor.getModel();t&&e.some(e=>hr(e,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:vv.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;let t=this._editor.getSelection();if(e.type===1)return t;let n=this._editor.getOption(73).enabled;if(n!==ca.Off||this.ignoreLightbulbOff){if(n===ca.Off||n===ca.On)return t;if(n===ca.OnCode){if(!t.isEmpty())return t;let e=this._editor.getModel(),{lineNumber:n,column:r}=t.getPosition(),i=e.getLineContent(n);if(i.length===0)return;if(r===1){if(/\s/.test(i[0]))return}else if(r===e.getLineMaxColumn(n)){if(/\s/.test(i[i.length-1]))return}else if(/\s/.test(i[r-2])&&/\s/.test(i[r-1]))return}return t}}},Yv;(function(e){e.Empty={type:0};class t{constructor(e,t,n){this.trigger=e,this.position=t,this._cancellablePromise=n,this.type=1,this.actions=n.catch(e=>{if(Xo(e))return Xv;throw e})}cancel(){this._cancellablePromise.cancel()}}e.Triggered=t})(Yv||={});var Xv=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1}),Zv=class extends j{constructor(e,t,n,r,i,a){super(),this._editor=e,this._registry=t,this._markerService=n,this._progressService=i,this._configurationService=a,this._codeActionOracle=this._register(new Un),this._state=Yv.Empty,this._onDidChangeState=this._register(new b),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new Un),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=qv.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(73)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Yv.Empty,!0))}_settingEnabledNearbyQuickfixes(){let e=this._editor?.getModel();return this._configurationService?this._configurationService.getValue(`editor.codeActionWidget.includeNearbyQuickFixes`,{resource:e?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(Yv.Empty),this.codeActionsDisposable.clear();let e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(104)){let t=this._registry.all(e).flatMap(e=>e.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(` `));let n=new Jv(this._editor,this._markerService,t=>{if(!t){this.setState(Yv.Empty);return}let n=t.selection.getStartPosition(),r=ot(async n=>{if(this._settingEnabledNearbyQuickfixes()&&t.trigger.type===1&&(t.trigger.triggerAction===vv.QuickFix||t.trigger.filter?.include?.contains(_v.QuickFix))){let r=new v,i=!1;try{let a=r.add(await Nv(this._registry,e,t.selection,t.trigger,Pe.None,n)),o=[...a.allActions];if(n.isCancellationRequested)return Xv;let s=a.validActions?.some(e=>e.action.kind&&_v.QuickFix.contains(new Gs(e.action.kind))&&!e.action.isAI),c=this._markerService.read({resource:e.uri});if(s){for(let e of a.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...c.filter(e=>e.relatedInformation)]);let e=this._setCodeActions({validActions:a.validActions,allActions:o,documentation:a.documentation,hasAutoFix:a.hasAutoFix,hasAIFix:a.hasAIFix,allAIFixes:a.allAIFixes,dispose:()=>r.dispose()});return i=!0,e}if(!s&&c.length>0){let s=t.selection.getPosition(),l=s,u=Number.MAX_VALUE,d=[...a.validActions];for(let i of c){let f=i.endColumn,p=i.endLineNumber,m=i.startLineNumber;if(p===s.lineNumber||m===s.lineNumber){l=new O(p,f);let i={type:t.trigger.type,triggerAction:t.trigger.triggerAction,filter:{include:t.trigger.filter?.include?t.trigger.filter?.include:_v.QuickFix},autoApply:t.trigger.autoApply,context:{notAvailableMessage:t.trigger.context?.notAvailableMessage||``,position:l}},m=new P(l.lineNumber,l.column,l.lineNumber,l.column),h=r.add(await Nv(this._registry,e,m,i,Pe.None,n));if(n.isCancellationRequested)return Xv;if(h.validActions.length!==0){for(let e of h.validActions)e.action.command?.arguments?.some(e=>typeof e==`string`&&e.includes(`_typescript.applyFixAllCodeAction`))&&(e.action.diagnostics=[...c.filter(e=>e.relatedInformation)]);a.allActions.length===0&&o.push(...h.allActions),Math.abs(s.column-f)<u?d.unshift(...h.validActions):d.push(...h.validActions)}u=Math.abs(s.column-f)}}let f=d.filter((e,t,n)=>n.findIndex(t=>t.action.title===e.action.title)===t);f.sort((e,t)=>e.action.isPreferred&&!t.action.isPreferred?-1:!e.action.isPreferred&&t.action.isPreferred||e.action.isAI&&!t.action.isAI?1:!e.action.isAI&&t.action.isAI?-1:0);let p=this._setCodeActions({validActions:f,allActions:o,documentation:a.documentation,hasAutoFix:a.hasAutoFix,hasAIFix:a.hasAIFix,allAIFixes:a.allAIFixes,dispose:()=>r.dispose()});return i=!0,p}}finally{i||r.dispose()}}if(t.trigger.type===1){let r=await Nv(this._registry,e,t.selection,t.trigger,Pe.None,n);return n.isCancellationRequested?(r.dispose(),Xv):this._setCodeActions(r)}let r=await Nv(this._registry,e,t.selection,t.trigger,Pe.None,n);return n.isCancellationRequested?(r.dispose(),Xv):this._setCodeActions(r)});t.trigger.type===1&&this._progressService?.showWhile(r,250);let i=new Yv.Triggered(t.trigger,n,r),a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&i.type===1&&i.trigger.type===2&&this._state.position!==i.position),a?setTimeout(()=>{this.setState(i)},500):this.setState(i)},void 0);n.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=n,this._codeActionOracle.value.trigger({type:2,triggerAction:vv.Default})}else this._supportedCodeActions.reset()}_setCodeActions(e){return this.codeActionsDisposable.value=e,e}takeCodeActions(e){if(this.codeActionsDisposable.value===e)return this.codeActionsDisposable.clearAndLeak(),e}trigger(e){this._codeActionOracle.value?.trigger(e),this.codeActionsDisposable.clear()}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}},Qv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$v=function(e,t){return function(n,r){t(n,r,e)}},ey,ty=U(`gutter-lightbulb`,X.lightBulb,K(925,`Icon which spawns code actions menu from the gutter when there is no space in the editor.`)),ny=U(`gutter-lightbulb-auto-fix`,X.lightbulbAutofix,K(926,`Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.`)),ry=U(`gutter-lightbulb-sparkle`,X.lightbulbSparkle,K(927,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.`)),iy=U(`gutter-lightbulb-aifix-auto-fix`,X.lightbulbSparkleAutofix,K(928,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.`)),ay=U(`gutter-lightbulb-sparkle-filled`,X.sparkleFilled,K(929,`Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.`)),oy;(function(e){e.Hidden={type:0};class t{constructor(e,t,n,r){this.actions=e,this.trigger=t,this.editorPosition=n,this.widgetPosition=r,this.type=1}}e.Showing=t})(oy||={});function sy(e,t,n,r,i=!1){if(e.validActions.length<=0)return;let a,o=!1;e.allAIFixes?(a=i?ay:X.sparkleFilled,e.validActions.length===1&&(o=!0)):a=e.hasAutoFix?e.hasAIFix?i?iy:X.lightbulbSparkleAutofix:i?ny:X.lightbulbAutofix:e.hasAIFix?i?ry:X.lightbulbSparkle:i?ty:X.lightBulb;let s;return s=o?K(930,`Run: {0}`,e.validActions[0].action.title):e.hasAutoFix&&n?K(931,`Show Code Actions. Preferred Quick Fix Available ({0})`,n):!e.hasAutoFix&&r?K(932,`Show Code Actions ({0})`,r):K(933,`Show Code Actions`),{actions:e,trigger:t,icon:a,autoRun:o,title:s,isGutter:i}}var cy=class extends j{static{ey=this}static{this.GUTTER_DECORATION=F.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:M.asClassName(X.lightBulb),glyphMargin:{position:jr.Left},stickiness:1})}static{this.ID=`editor.contrib.lightbulbWidget`}static{this._posPref=[0]}static _computeLightBulbInfo(e,t,n,r){if(e.type===1)return sy(e.actions,e.trigger,n,r,t)}constructor(e,t){super(),this._editor=e,this._keybindingService=t,this.onlyWithEmptySelection=!1,this._onClick=this._register(new b),this.onClick=this._onClick.event,this._state=$o(this,oy.Hidden),this._gutterState=$o(this,oy.Hidden),this._combinedInfo=En(this,e=>{let t=this._gutterState.read(e);if(t.type===1)return ey._computeLightBulbInfo(t,!0,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e));let n=this._state.read(e);if(n.type===1)return ey._computeLightBulbInfo(n,!1,this._preferredKbLabel.read(e),this._quickFixKbLabel.read(e))}),this._iconClasses=[],this.lightbulbClasses=[`codicon-`+ty.id,`codicon-`+iy.id,`codicon-`+ny.id,`codicon-`+ry.id,`codicon-`+ay.id],this._preferredKbLabel=$o(this,void 0),this._quickFixKbLabel=$o(this,void 0),this.gutterDecoration=ey.GUTTER_DECORATION,this._domNode=C(`div.lightBulbWidget`),this._domNode.role=`listbox`,this._register(Hr.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(e=>{let t=this._editor.getModel(),n=this._state.get();(n.type!==1||!t||n.editorPosition.lineNumber>=t.getLineCount())&&this.hide();let r=this._gutterState.get();(r.type!==1||!t||r.editorPosition.lineNumber>=t.getLineCount())&&this.gutterHide()})),this._register(Os(this._domNode,e=>{let t=this._state.get();if(t.type!==1)return;this._editor.focus(),e.preventDefault();let{top:n,height:r}=ut(this._domNode),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})})),this._register(E(this._domNode,`mouseenter`,e=>{(e.buttons&1)==1&&this.hide()})),this._register(At.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._register(ws(e=>{let t=this._combinedInfo.read(e);this._updateLightBulbTitleAndIcon(t),this._updateGutterDecorationOptions(t)})),this._register(this._editor.onMouseDown(async e=>{if(!e.target.element||!this.lightbulbClasses.some(t=>e.target.element&&e.target.element.classList.contains(t)))return;let t=this._gutterState.get();if(t.type!==1)return;this._editor.focus();let{top:n,height:r}=ut(e.target.element),i=this._editor.getOption(75),a=Math.floor(i/3);t.widgetPosition.position!==null&&t.widgetPosition.position.lineNumber<t.editorPosition.lineNumber&&(a+=i),this._onClick.fire({x:e.event.posx,y:n+r+a,actions:t.actions,trigger:t.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return`LightBulbWidget`}getDomNode(){return this._domNode}getPosition(){let e=this._state.get();return e.type===1?e.widgetPosition:null}update(e,t,n){if(e.validActions.length<=0||this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty()||!this._editor.hasTextFocus()||this._editor.getOptions().get(73).enabled===ca.Off)return this.gutterHide(),this.hide();let r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();let{lineNumber:i,column:a}=r.validatePosition(n),o=r.getOptions().tabSize,s=this._editor.getOptions().get(59),c=r.getLineContent(i),l=gs(c,o),u=s.spaceWidth*l>22,d=e=>e>2&&this._editor.getTopForLineNumber(e)===this._editor.getTopForLineNumber(e-1),f=this._editor.getLineDecorations(i),p=!1;if(f)for(let e of f){let t=e.options.glyphMarginClassName;if(t&&!this.lightbulbClasses.some(e=>t.includes(e))){p=!0;break}}let m=i,h=1;if(!u){let o=e=>{let t=r.getLineContent(e);return/^\s*$|^\s+/.test(t)||t.length<=h};if(i>1&&!d(i-1)){let a=i===r.getLineCount(),s=i>1&&o(i-1),c=!a&&o(i+1),l=o(i),u=!c&&!s;if(!c&&!s&&!p)return this._gutterState.set(new oy.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:ey._posPref}),void 0),this.renderGutterLightbub(),this.hide();s||a||s&&!l?--m:(c||u&&l)&&(m+=1)}else if(i===1&&(i===r.getLineCount()||!o(i+1)&&!o(i))){if(this._gutterState.set(new oy.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:ey._posPref}),void 0),p)this.gutterHide();else return this.renderGutterLightbub(),this.hide()}else if(i<r.getLineCount()&&!d(i+1))m+=1;else if(a*s.spaceWidth<22)return this.hide();h=/^\S\s*$/.test(r.getLineContent(m))?2:1}this._state.set(new oy.Showing(e,t,n,{position:{lineNumber:m,column:h},preference:ey._posPref}),void 0),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());let ee=e.validActions;e.validActions[0].action.kind,ee.length,this._editor.layoutContentWidget(this)}hide(){this._state.get()!==oy.Hidden&&(this._state.set(oy.Hidden,void 0),this._editor.layoutContentWidget(this))}gutterHide(){this._gutterState.get()!==oy.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this._gutterState.set(oy.Hidden,void 0))}_updateLightBulbTitleAndIcon(e){this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],e&&!e.isGutter&&(this._domNode.title=e.title,this._iconClasses=M.asClassNameArray(e.icon),this._domNode.classList.add(...this._iconClasses))}_updateGutterDecorationOptions(e){e&&e.isGutter&&(this.gutterDecoration=F.register({description:`codicon-gutter-lightbulb-decoration`,glyphMarginClassName:M.asClassName(e.icon),glyphMargin:{position:jr.Left},stickiness:1}))}renderGutterLightbub(){let e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new J(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(n=>{n.changeDecoration(e,new J(t,0,t,0)),n.changeDecorationOptions(e,this.gutterDecoration)})}};cy=ey=Qv([$v(1,Oa)],cy);var ly=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},uy=function(e,t){return function(n,r){t(n,r,e)}},dy,fy=`quickfix-edit-highlight`,py=class extends j{static{dy=this}static{this.ID=`editor.contrib.codeActionController`}static get(e){return e.getContribution(dy.ID)}constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(),this._commandService=o,this._configurationService=s,this._actionWidgetService=c,this._instantiationService=l,this._progressService=u,this._keybindingService=d,this._activeCodeActions=this._register(new Un),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=$o(this,void 0),this._preferredKbLabel=$o(this,void 0),this._quickFixKbLabel=$o(this,void 0),this._editor=e,this._model=this._register(new Zv(this._editor,i.codeActionProvider,t,n,a,s)),this._register(this._model.onDidChangeState(e=>this.update(e))),this._register(At.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.autoFix`)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(`editor.action.quickFix`)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new Ya(()=>{let e=this._editor.getContribution(cy.ID);return e&&(this._register(e.onClick(e=>this.showCodeActionsFromLightbulb(e.actions,e))),e.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection),e}),this._resolver=r.createInstance(Uv),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){let t=e.validActions[0],n=t.action.command;n&&n.id===`inlineChat.start`&&n.arguments&&n.arguments.length>=1&&n.arguments[0]&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this.applyCodeAction(t,!1,!1,Lv.FromAILightbulb)}else await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,n){return this.showCodeActionList(t,n,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,n,r){if(!this._editor.hasModel())return;ec.get(this._editor)?.closeMessage();let i=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:n,autoApply:r,context:{notAvailableMessage:e,position:i}})}_trigger(e){return this._model.trigger(e)}async applyCodeAction(e,t,n,r){let i=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(Rv,e,r,{preview:n,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:vv.QuickFix,filter:{}}),i.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(e){if(e.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let t;try{t=this._model.takeCodeActions(await e.actions)}catch(e){Y(e);return}if(t){if(this._disposed)t.dispose();else if(this._editor.getSelection()?.startLineNumber!==e.position.lineNumber)t.dispose();else if(this._lightBulbWidget.value?.update(t,e.trigger,e.position),this._lightBulbInfoObs.set(sy(t,e.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),e.trigger.type===1){if(e.trigger.filter?.include){let n=this.tryGetValidActionToApply(e.trigger,t);if(n){try{this.hideLightBulbWidget(),await this.applyCodeAction(n,!1,!1,Lv.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){let n=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(n&&n.action.disabled){ec.get(this._editor)?.showMessage(n.action.disabled,e.trigger.context.position),t.dispose();return}}}let n=!!e.trigger.filter?.include;if(e.trigger.context&&(!t.allActions.length||!n&&!t.validActions.length)){ec.get(this._editor)?.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:n,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply===`first`&&t.validActions.length===0||e.autoApply===`ifSingle`&&t.allActions.length===1))return t.allActions.find(({action:e})=>e.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply===`first`&&t.validActions.length>0||e.autoApply===`ifSingle`&&t.validActions.length===1))return t.validActions[0]}static{this.DECORATION=F.register({description:`quickfix-highlight`,className:fy})}async showCodeActionList(e,t,n){let r=this._editor.createDecorationsCollection(),i=this._editor.getDomNode();if(!i)return;let a=n.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!a.length)return;let o=O.isIPosition(t)?this.toCoords(t):t;this._actionWidgetService.show(`codeActionWidget`,!0,Kv(a,this._shouldShowHeaders(),this._resolver.getResolver()),{onSelect:async(e,t)=>{this.applyCodeAction(e,!0,!!t,n.fromLightbulb?Lv.FromAILightbulb:Lv.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:e=>{this._editor?.focus(),r.clear()},onHover:async(e,t)=>{if(t.isCancellationRequested)return;let n=!1,r=e.action.kind;if(r){let e=new Gs(r);n=[_v.RefactorExtract,_v.RefactorInline,_v.RefactorRewrite,_v.RefactorMove,_v.Source].some(t=>t.contains(e))}return{canPreview:n||!!e.action.edit?.edits.length}},onFocus:e=>{if(e&&e.action){let t=e.action.ranges,n=e.action.diagnostics;if(r.clear(),t&&t.length>0){let e=n&&n?.length>1?n.map(e=>({range:e,options:dy.DECORATION})):t.map(e=>({range:e,options:dy.DECORATION}));r.set(e)}else if(n&&n.length>0){let e=n.map(e=>({range:e,options:dy.DECORATION}));r.set(e);let t=n[0];if(t.startLineNumber&&t.startColumn){let e=this._editor.getModel()?.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn})?.word;ni(K(914,`Context: {0} at line {1} and column {2}.`,e,t.startLineNumber,t.startColumn))}}}else r.clear()}},o,i,this._getActionBarActions(e,t,n))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();let t=this._editor.getScrolledVisiblePosition(e),n=ut(this._editor.getDomNode());return{x:n.left+t.left,y:n.top+t.top+t.height}}_shouldShowHeaders(){let e=this._editor?.getModel();return this._configurationService.getValue(`editor.codeActionWidget.showHeaders`,{resource:e?.uri})}_getActionBarActions(e,t,n){if(n.fromLightbulb)return[];let r=e.documentation.map(e=>({id:e.id,label:e.title,tooltip:e.tooltip??``,class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(e.id,...e.arguments??[])}));return n.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:`hideMoreActions`,label:K(915,`Hide Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,n))}:{id:`showMoreActions`,label:K(916,`Show Disabled`),enabled:!0,tooltip:``,class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,n))}),r}};py=dy=ly([uy(1,Tt),uy(2,G),uy(3,k),uy(4,q),uy(5,Rt),uy(6,Mi),uy(7,fa),uy(8,al),uy(9,k),uy(10,Rt),uy(11,Oa)],py),ke((e,t)=>{((e,n)=>{n&&t.addRule(`.monaco-editor ${e} { background-color: ${n}; }`)})(`.quickfix-edit-highlight`,e.getColor(pe));let n=e.getColor(ls);n&&t.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Ja(e.type)?`dotted`:`solid`} ${n}; box-sizing: border-box; }`)});var my=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hy=function(e,t){return function(n,r){t(n,r,e)}},gy=C,_y=class{constructor(e,t,n){this.owner=e,this.range=t,this.marker=n}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},vy={type:1,filter:{include:_v.QuickFix},triggerAction:vv.QuickFixHover},yy=class{constructor(e,t,n,r,i,a){this._editor=e,this._markerDecorationsService=t,this._openerService=n,this._languageFeaturesService=r,this._menuService=i,this._contextKeyService=a,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];let n=this._editor.getModel(),r=e.range;if(!n.isValidRange(e.range))return[];let i=r.startLineNumber,a=n.getLineMaxColumn(i),o=[];for(let r of t){let t=r.range.startLineNumber===i?r.range.startColumn:1,s=r.range.endLineNumber===i?r.range.endColumn:a,c=this._markerDecorationsService.getMarker(n.uri,r);if(!c)continue;let l=new J(e.range.startLineNumber,t,e.range.startLineNumber,s);o.push(new _y(this,l,c))}return o}renderHoverParts(e,t){if(!t.length)return new $h([]);let n=[];t.forEach(t=>{let r=this._renderMarkerHover(t);e.fragment.appendChild(r.hoverElement),n.push(r)});let r=t.length===1?t[0]:t.sort((e,t)=>hn.compare(e.marker.severity,t.marker.severity))[0];return new $h(n,this._renderMarkerStatusbar(e,r))}getAccessibleContent(e){let{marker:t}=e,n=da(t.relatedInformation)?t.relatedInformation.map(e=>`${$n(e.resource)}(${e.startLineNumber}, ${e.startColumn}): ${e.message}`).join(`
|
|
19
|
+
`):void 0;return[t.message,n].filter(e=>!!e).join(`
|
|
20
|
+
`)}_renderMarkerHover(e){let t=new v,n=gy(`div.hover-row`),r=A(n,gy(`div.marker.hover-contents`)),{source:i,message:a,code:o,relatedInformation:s}=e.marker;this._editor.applyFontInfo(r);let c=A(r,gy(`span`));if(c.style.whiteSpace=`pre-wrap`,c.innerText=a,i||o){if(o&&typeof o!=`string`){let e=gy(`span`);if(i){let t=A(e,gy(`span`));t.innerText=i}let n=A(e,gy(`a.code-link`));n.setAttribute(`href`,o.target.toString(!0)),t.add(E(n,`click`,e=>{this._openerService.open(o.target),e.preventDefault(),e.stopPropagation()}));let a=A(n,gy(`span`));a.innerText=o.value;let s=A(r,e);s.style.opacity=`0.6`,s.style.paddingLeft=`6px`}else{let e=A(r,gy(`span`));e.style.opacity=`0.6`,e.style.paddingLeft=`6px`,e.innerText=i&&o?`${i}(${o})`:i||`(${o})`}}if(da(s))for(let{message:e,resource:n,startLineNumber:i,startColumn:a}of s){let o=A(r,gy(`div`));o.style.marginTop=`8px`;let s=A(o,gy(`a`));s.innerText=`${$n(n)}(${i}, ${a}): `,s.style.cursor=`pointer`,t.add(E(s,`click`,e=>{if(e.stopPropagation(),e.preventDefault(),this._openerService){let e={selection:{startLineNumber:i,startColumn:a}};this._openerService.open(n,{fromUserGesture:!0,editorOptions:e}).catch(Y)}}));let c=A(o,gy(`span`));c.innerText=e,this._editor.applyFontInfo(c)}return{hoverPart:e,hoverElement:n,dispose:()=>t.dispose()}}_renderMarkerStatusbar(e,t){let n=new v;if(t.marker.severity===hn.Error||t.marker.severity===hn.Warning||t.marker.severity===hn.Info){let n=$p.get(this._editor);n&&e.statusBar.addAction({label:K(1195,`View Problem`),commandId:tm.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}let r=[];for(let[,e]of this._menuService.getMenuActions(N.MarkerHoverStatusBar,this._contextKeyService))for(let t of e)t instanceof Ua&&t.enabled&&r.push(t);let i=()=>{for(let n of r)e.statusBar.addAction({label:n.label,commandId:n.id,iconClass:n.class,run:()=>{e.hide(),this._editor.setSelection(J.lift(t.range)),n.run()}})};if(this._editor.getOption(104))i();else{let a=e.statusBar.append(gy(`div`));this.recentMarkerCodeActionsInfo&&(rt.makeKey(this.recentMarkerCodeActionsInfo.marker)===rt.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||r.length===0&&(a.textContent=K(1196,`No quick fixes available`)):this.recentMarkerCodeActionsInfo=void 0);let o=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?j.None:Ot(()=>a.textContent=K(1197,`Checking for quick fixes...`),200,n);a.textContent||=`\xA0`;let s=this.getCodeActions(t.marker);n.add(fo(()=>s.cancel())),s.then(s=>{if(o.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:s.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){s.dispose(),r.length===0?a.textContent=K(1198,`No quick fixes available`):a.style.display=`none`,i();return}a.style.display=`none`;let c=!1;n.add(fo(()=>{c||s.dispose()})),e.statusBar.addAction({label:K(1199,`Quick Fix...`),commandId:Tv,run:e=>{c=!0;let t=py.get(this._editor),n=ut(e);t?.showCodeActions(vy,s,{x:n.left,y:n.top,width:n.width,height:n.height})}});let l=s.validActions.find(e=>e.action.isAI);l?e.statusBar.addAction({label:l.action.title,commandId:l.action.command?.id??``,iconClass:M.asClassName(X.sparkle),run:()=>{py.get(this._editor)?.applyCodeAction(l,!1,!1,Lv.FromProblemsHover)}}):i(),e.onContentsChanged()},Y)}return n}getCodeActions(e){return ot(t=>Nv(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new J(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),vy,Pe.None,t))}};yy=my([hy(1,zr),hy(2,ct),hy(3,q),hy(4,Yi),hy(5,G)],yy);var by=class{constructor(e){this._editor=e}computeSync(e){let t=e=>({value:e}),n=this._editor.getLineDecorations(e.lineNumber),r=[],i=e.laneOrLine===`lineNo`;if(!n)return r;for(let a of n){let n=a.options.glyphMargin?.position??jr.Center;if(!i&&n!==e.laneOrLine)continue;let o=i?a.options.lineNumberHoverMessage:a.options.glyphMarginHoverMessage;o&&!Wn(o)&&r.push(...ms(o).map(t))}return r}},xy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sy=function(e,t){return function(n,r){t(n,r,e)}},Cy,wy=C,Ty=class extends j{static{Cy=this}static{this.ID=`editor.contrib.modesGlyphHoverWidget`}constructor(e,t){super(),this._markdownRendererService=t,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new v),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new s(!0)),this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible),this._hoverOperation=this._register(new Yh(this._editor,new by(this._editor))),this._register(this._hoverOperation.onResult(e=>this._withResult(e))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._updateFont()})),this._register(ne(this._hover.containerDomNode,`mouseleave`,e=>{this._onMouseLeave(e)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Cy.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName(`code`)).forEach(e=>this._editor.applyFontInfo(e))}_onModelDecorationsChanged(){this._isVisible&&this._hoverComputerOptions&&(this._hoverOperation.cancel(),this._hoverOperation.start(0,this._hoverComputerOptions))}showsOrWillShow(e){let t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3&&(this._startShowingAt(t.position.lineNumber,`lineNo`),!0)}_startShowingAt(e,t){this._hoverComputerOptions&&this._hoverComputerOptions.lineNumber===e&&this._hoverComputerOptions.laneOrLine===t||(this._hoverOperation.cancel(),this.hide(),this._hoverComputerOptions={lineNumber:e,laneOrLine:t},this._hoverOperation.start(0,this._hoverComputerOptions))}hide(){this._hoverComputerOptions=void 0,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible))}_withResult(e){this._messages=e.value,this._messages.length>0?this._renderMessages(e.options.lineNumber,e.options.laneOrLine,this._messages):this.hide()}_renderMessages(e,t,n){this._renderDisposeables.clear();let r=document.createDocumentFragment();for(let e of n){let t=wy(`div.hover-row.markdown-hover`),n=A(t,wy(`div.hover-contents`)),i=this._renderDisposeables.add(this._markdownRendererService.render(e.value,{context:this._editor}));n.appendChild(i.element),r.appendChild(t)}this._updateContents(r),this._showAt(e,t)}_updateContents(e){this._hover.contentsDomNode.textContent=``,this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e,t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle(`hidden`,!this._isVisible));let n=this._editor.getLayoutInfo(),r=this._editor.getTopForLineNumber(e),i=this._editor.getScrollTop(),a=this._editor.getOption(75),o=this._hover.containerDomNode.clientHeight,s=r-i-(o-a)/2,c=n.glyphMarginLeft+n.glyphMarginWidth+(t===`lineNo`?n.lineNumbersWidth:0),l=n.height-o,u=Math.max(0,Math.min(Math.round(s),l));if(this._editor.getOption(51)){let e=this._editor.getDomNode();if(e){let t=ut(e);this._hover.containerDomNode.style.position=`fixed`,this._hover.containerDomNode.style.left=`${t.left+c}px`,this._hover.containerDomNode.style.top=`${t.top+u}px`}}else this._hover.containerDomNode.style.position=`absolute`,this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${u}px`;this._hover.containerDomNode.style.zIndex=`11`}_onMouseLeave(e){let t=this._editor.getDomNode();(!t||!Gh(t,e.x,e.y))&&this.hide()}};Ty=Cy=xy([Sy(1,sn)],Ty);var Ey=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Dy=function(e,t){return function(n,r){t(n,r,e)}},Oy=class extends j{static{this.ID=`editor.contrib.marginHover`}constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new v,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new Ht(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){let e=this._editor.getOption(69);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled===`off`?(this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))):(this._listenersStore.add(this._editor.onMouseDown(e=>this._onEditorMouseDown(e))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(e=>this._onEditorMouseMove(e))),this._listenersStore.add(this._editor.onKeyDown(e=>this._onKeyDown(e)))),this._listenersStore.add(this._editor.onMouseLeave(e=>this._onEditorMouseLeave(e))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(e=>this._onEditorScrollChanged(e)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this.hideGlyphHover()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnGlyphHoverWidget(e)&&this.hideGlyphHover()}_isMouseOnGlyphHoverWidget(e){let t=this._glyphWidget?.getDomNode();return t?Gh(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),!this._isMouseOnGlyphHoverWidget(e)&&this.hideGlyphHover())}_shouldNotRecomputeCurrentHoverWidget(e){let t=this._hoverSettings.sticky,n=this._isMouseOnGlyphHoverWidget(e);return t&&n}_onEditorMouseMove(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)?this._reactToEditorMouseMoveRunner.cancel():this._reactToEditorMouseMove(e))}_reactToEditorMouseMove(e){e&&(Kh(this._hoverSettings.enabled,this._editor.getOption(86),e)&&this._tryShowHoverWidget(e)||this.hideGlyphHover())}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(this._hoverSettings.enabled===`onKeyboardModifier`&&qh(this._editor.getOption(86),e)&&this._mouseMoveEvent?this._tryShowHoverWidget(this._mouseMoveEvent):Ce(e.keyCode)||this.hideGlyphHover())}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||=this._instantiationService.createInstance(Ty,this._editor),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}};Oy=Ey([Dy(1,k)],Oy);var ky=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{let t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}},Ay=class{},jy=class{},My=class{};D(nv.ID,nv,2),D(Oy.ID,Oy,2),y(iv),y(av),y(ov),y(sv),y(cv),y(lv),y(uv),y(dv),y(fv),y(pv),y(mv),y(hv),y(gv),eg.register(Ng),eg.register(yy),R.registerCommand(Mh,e=>{e.get(fa).updateValue(`editor.hover.showLongLineWarning`,!1)}),ke((e,t)=>{let n=e.getColor(ma);n&&(t.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${n.transparent(.5)}; }`))}),ky.register(new Ay),ky.register(new jy),ky.register(new My);function Ny(e,t,n,r){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return[];let i=t.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;if(!i)return[];let a=new at(e,i,t);for(r=Math.min(r,e.getLineCount());n<=r&&a.shouldIgnore(n);)n++;if(n>r-1)return[];let{tabSize:o,indentSize:s,insertSpaces:c}=e.getOptions(),l=(e,t)=>(t||=1,nn.shiftIndent(e,e.length+t,o,s,c)),u=(e,t)=>(t||=1,nn.unshiftIndent(e,e.length+t,o,s,c)),d=[],f=e.getLineContent(n),p=Tr(f),m=p;a.shouldIncrease(n)?(m=l(m),p=l(p)):a.shouldIndentNextLine(n)&&(m=l(m)),n++;for(let t=n;t<=r;t++){if(Py(e,t))continue;let n=e.getLineContent(t),r=Tr(n),i=m;a.shouldDecrease(t,i)&&(m=u(m),p=u(p)),r!==m&&d.push(_.replaceMove(new P(t,1,t,r.length+1),er(m,s,c))),!a.shouldIgnore(t)&&(a.shouldIncrease(t,i)?(p=l(p),m=p):m=a.shouldIndentNextLine(t,i)?l(m):p)}return d}function Py(e,t){return e.tokenization.isCheapToTokenize(t)?e.tokenization.getLineTokens(t).getStandardTokenType(0)===2:!1}function Fy(e,t){let n=0;for(let r=0;r<e.length;r++)e.charAt(r)===` `?n+=t:n++;return n}function Iy(e,t,n){e=e<0?0:e;let r=``;if(!n){let n=Math.floor(e/t);e%=t;for(let e=0;e<n;e++)r+=` `}for(let t=0;t<e;t++)r+=` `;return r}var Ly=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ry=function(e,t){return function(n,r){t(n,r,e)}},zy=class e extends B{static{this.ID=`editor.action.indentationToSpaces`}constructor(){super({id:e.ID,label:z(1204,`Convert Indentation to Spaces`),precondition:H.writable,metadata:{description:z(1205,`Convert the tab indentation to spaces.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new Qy(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!0})}},By=class e extends B{static{this.ID=`editor.action.indentationToTabs`}constructor(){super({id:e.ID,label:z(1206,`Convert Indentation to Tabs`),precondition:H.writable,metadata:{description:z(1207,`Convert the spaces indentation to tabs.`)}})}run(e,t){let n=t.getModel();if(!n)return;let r=n.getOptions(),i=t.getSelection();if(!i)return;let a=new $y(i,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[a]),t.pushUndoStop(),n.updateOptions({insertSpaces:!1})}},Vy=class extends B{constructor(e,t,n){super(n),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){let n=e.get(ee),r=e.get(ce),i=t.getModel();if(!i)return;let a=r.getCreationOptions(i.getLanguageId(),i.uri,i.isForSimpleWidget),o=i.getOptions(),s=[1,2,3,4,5,6,7,8].map(e=>({id:e.toString(),label:e.toString(),description:e===a.tabSize&&e===o.tabSize?K(1200,`Configured Tab Size`):e===a.tabSize?K(1201,`Default Tab Size`):e===o.tabSize?K(1202,`Current Tab Size`):void 0})),c=Math.min(i.getOptions().tabSize-1,7);setTimeout(()=>{n.pick(s,{placeHolder:K(1203,`Select Tab Size for Current File`),activeItem:s[c]}).then(e=>{if(e&&i&&!i.isDisposed()){let t=parseInt(e.label,10);this.displaySizeOnly?i.updateOptions({tabSize:t}):i.updateOptions({tabSize:t,indentSize:t,insertSpaces:this.insertSpaces})}})},50)}},Hy=class e extends Vy{static{this.ID=`editor.action.indentUsingTabs`}constructor(){super(!1,!1,{id:e.ID,label:z(1208,`Indent Using Tabs`),precondition:void 0,metadata:{description:z(1209,`Use indentation with tabs.`)}})}},Uy=class e extends Vy{static{this.ID=`editor.action.indentUsingSpaces`}constructor(){super(!0,!1,{id:e.ID,label:z(1210,`Indent Using Spaces`),precondition:void 0,metadata:{description:z(1211,`Use indentation with spaces.`)}})}},Wy=class e extends Vy{static{this.ID=`editor.action.changeTabDisplaySize`}constructor(){super(!0,!0,{id:e.ID,label:z(1212,`Change Tab Display Size`),precondition:void 0,metadata:{description:z(1213,`Change the space size equivalent of the tab.`)}})}},Gy=class e extends B{static{this.ID=`editor.action.detectIndentation`}constructor(){super({id:e.ID,label:z(1214,`Detect Indentation from Content`),precondition:void 0,metadata:{description:z(1215,`Detect the indentation from content.`)}})}run(e,t){let n=e.get(ce),r=t.getModel();if(!r)return;let i=n.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(i.insertSpaces,i.tabSize)}},Ky=class extends B{constructor(){super({id:`editor.action.reindentlines`,label:z(1216,`Reindent Lines`),precondition:H.writable,metadata:{description:z(1217,`Reindent the lines of the editor.`)},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(os),r=t.getModel();if(!r)return;let i=Ny(r,n,1,r.getLineCount());i.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,i),t.pushUndoStop())}},qy=class extends B{constructor(){super({id:`editor.action.reindentselectedlines`,label:z(1218,`Reindent Selected Lines`),precondition:H.writable,metadata:{description:z(1219,`Reindent the selected lines of the editor.`)},canTriggerInlineEdits:!0})}run(e,t){let n=e.get(os),r=t.getModel();if(!r)return;let i=t.getSelections();if(i===null)return;let a=[];for(let e of i){let t=e.startLineNumber,i=e.endLineNumber;if(t!==i&&e.endColumn===1&&i--,t===1){if(t===i)continue}else t--;let o=Ny(r,n,t,i);a.push(...o)}a.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop())}},Jy=class{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(let t of e)t.range&&typeof t.text==`string`&&this._edits.push(t)}getEditOperations(e,t){for(let e of this._edits)t.addEditOperation(J.lift(e.range),e.text);let n=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(n=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),n||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}},Yy=class{static{this.ID=`editor.contrib.autoIndentOnPaste`}constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new v,this.callOnModel=new v,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(!this.editor.getOption(17)||this.editor.getOption(16)<4)&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){let t=this.editor.getSelections();if(t===null||t.length>1)return;let n=this.editor.getModel();if(!n||this.rangeContainsOnlyWhitespaceCharacters(n,e)||!this.editor.getOption(18)&&Xy(n,e)||!n.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;let r=this.editor.getOption(16),{tabSize:i,indentSize:a,insertSpaces:o}=n.getOptions(),s=[],c={shiftIndent:e=>nn.shiftIndent(e,e.length+1,i,a,o),unshiftIndent:e=>nn.unshiftIndent(e,e.length+1,i,a,o)},l=e.startLineNumber,u=n.getLineContent(l);if(!/\S/.test(u.substring(0,e.startColumn-1))){let e=Pt(r,n,n.getLanguageId(),l,c,this._languageConfigurationService);if(e!==null){let t=Tr(u),r=Fy(e,i);if(r!==Fy(t,i)){let e=Iy(r,i,o);s.push({range:new J(l,1,l,t.length+1),text:e}),u=e+u.substring(t.length)}else{let e=Vt(n,l,this._languageConfigurationService);if(e===0||e===8)return}}}let d=l;for(;l<e.endLineNumber&&!/\S/.test(n.getLineContent(l+1));)l++;if(l!==e.endLineNumber){let t=Pt(r,{tokenization:{getLineTokens:e=>n.tokenization.getLineTokens(e),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(e,t)=>n.getLanguageIdAtPosition(e,t)},getLineContent:e=>e===d?u:n.getLineContent(e)},n.getLanguageId(),l+1,c,this._languageConfigurationService);if(t!==null){let r=Fy(t,i),a=Fy(Tr(n.getLineContent(l+1)),i);if(r!==a){let t=r-a;for(let r=l+1;r<=e.endLineNumber;r++){let e=n.getLineContent(r),a=Tr(e),c=Iy(Fy(a,i)+t,i,o);c!==a&&s.push({range:new J(r,1,r,a.length+1),text:c})}}}}if(s.length>0){this.editor.pushUndoStop();let e=new Jy(s,this.editor.getSelection());this.editor.executeCommand(`autoIndentOnPaste`,e),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){let n=e=>e.trim().length===0,r=!0;if(t.startLineNumber===t.endLineNumber)r=n(e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1));else for(let i=t.startLineNumber;i<=t.endLineNumber;i++){let a=e.getLineContent(i);if(r=i===t.startLineNumber?n(a.substring(t.startColumn-1)):i===t.endLineNumber?n(a.substring(0,t.endColumn-1)):e.getLineFirstNonWhitespaceColumn(i)===0,!r)break}return r}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};Yy=Ly([Ry(1,os)],Yy);function Xy(e,t){let n=t=>ba(e,t)===2;return n(t.getStartPosition())||n(t.getEndPosition())}function Zy(e,t,n,r){if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return;let i=``;for(let e=0;e<n;e++)i+=` `;let a=new RegExp(i,`gi`);for(let n=1,o=e.getLineCount();n<=o;n++){let o=e.getLineFirstNonWhitespaceColumn(n);if(o===0&&(o=e.getLineMaxColumn(n)),o===1)continue;let s=new J(n,1,n,o),c=e.getValueInRange(s),l=r?c.replace(/\t/gi,i):c.replace(a,` `);t.addEditOperation(s,l)}}var Qy=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),Zy(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}},$y=class{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),Zy(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}};D(Yy.ID,Yy,2),y(zy),y(By),y(Hy),y(Uy),y(Wy),y(Gy),y(Ky),y(qy);var eb=class{constructor(e,t,n){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=n}getEditOperations(e,t){let n=tb(e,this._cursors,this._trimInRegexesAndStrings);for(let e=0,r=n.length;e<r;e++){let r=n[e];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function tb(e,t,n){t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber);for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);let r=[],i=0,a=0,o=t.length;for(let s=1,c=e.getLineCount();s<=c;s++){let c=e.getLineContent(s),l=c.length+1,u=0;if(a<o&&t[a].lineNumber===s&&(u=t[a].column,a++,u===l)||c.length===0)continue;let d=ea(c),f=0;if(d===-1)f=1;else if(d!==c.length-1)f=d+2;else continue;if(!n){if(!e.tokenization.hasAccurateTokensForLine(s))continue;let t=e.tokenization.getLineTokens(s),n=t.getStandardTokenType(t.findTokenIndexAtOffset(f));if(n===2||n===3)continue}f=Math.max(u,f),r[i++]=_.delete(new J(s,f,s,l))}return r}var nb=class{constructor(e,t,n){this._selection=e,this._isCopyingDown=t,this._noop=n||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let n=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,n.startLineNumber<n.endLineNumber&&n.endColumn===1&&(this._endLineNumberDelta=1,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));let r=[];for(let t=n.startLineNumber;t<=n.endLineNumber;t++)r.push(e.getLineContent(t));let i=r.join(`
|
|
21
|
+
`);i===``&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new J(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber+1,1),n.endLineNumber===e.getLineCount()?``:`
|
|
22
|
+
`):this._isCopyingDown?t.addEditOperation(new J(n.startLineNumber,1,n.startLineNumber,1),i+`
|
|
23
|
+
`):t.addEditOperation(new J(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),`
|
|
24
|
+
`+i),this._selectionId=t.trackSelection(n),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let e=n.startLineNumber,t=n.startColumn,r=n.endLineNumber,i=n.endColumn;this._startLineNumberDelta!==0&&(e+=this._startLineNumberDelta,t=1),this._endLineNumberDelta!==0&&(r+=this._endLineNumberDelta,i=1),n=P.createWithDirection(e,t,r,i,this._selectionDirection)}return n}},rb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ib=function(e,t){return function(n,r){t(n,r,e)}},ab=class{constructor(e,t,n,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(e,t,n){return{tokenization:{getLineTokens:n=>e.tokenization.getLineTokens(t(n)),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:r=>{let i=n?.(r);return i===void 0?e.getLineContent(t(r)):i}}}getEditOperations(e,t){let n=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===n||!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));let{tabSize:i,indentSize:a,insertSpaces:o}=e.getOptions(),s=this.buildIndentConverter(i,a,o);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){let n=r.startLineNumber,i=this._isMovingDown?n+1:n-1;e.getLineMaxColumn(i)===1?t.addEditOperation(new J(1,1,1,1),null):(t.addEditOperation(new J(n,1,n,1),e.getLineContent(i)),t.addEditOperation(new J(i,1,i,e.getLineMaxColumn(i)),null)),r=new P(i,1,i,1)}else{let n,a;if(this._isMovingDown){n=r.endLineNumber+1,a=e.getLineContent(n),t.addEditOperation(new J(n-1,e.getLineMaxColumn(n-1),n,e.getLineMaxColumn(n)),null);let c=a;if(this.shouldAutoIndent(e,r)){let l=this.matchEnterRule(e,s,i,n,r.startLineNumber-1);if(l!==null)c=Iy(l+Fy(Tr(e.getLineContent(n)),i),i,o)+this.trimStart(a);else{let t=this.createVirtualModel(e,e=>e===r.startLineNumber?n:e),l=Pt(this._autoIndent,t,e.getLanguageIdAtPosition(n,1),r.startLineNumber,s,this._languageConfigurationService);if(l!==null){let t=Tr(e.getLineContent(n)),r=Fy(l,i);r!==Fy(t,i)&&(c=Iy(r,i,o)+this.trimStart(a))}}t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),c+`
|
|
25
|
+
`);let u=this.matchEnterRuleMovingDown(e,s,i,r.startLineNumber,n,c);if(u!==null)u!==0&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,u);else{let a=this.createVirtualModel(e,e=>e===r.startLineNumber?n:e>=r.startLineNumber+1&&e<=r.endLineNumber+1?e-1:e,e=>e===r.startLineNumber?c:void 0),l=Pt(this._autoIndent,a,e.getLanguageIdAtPosition(n,1),r.startLineNumber+1,s,this._languageConfigurationService);if(l!==null){let n=Tr(e.getLineContent(r.startLineNumber)),a=Fy(l,i),s=Fy(n,i);if(a!==s){let n=a-s;this.getIndentEditsOfMovingBlock(e,t,r,i,o,n)}}}}else t.addEditOperation(new J(r.startLineNumber,1,r.startLineNumber,1),c+`
|
|
26
|
+
`)}else if(n=r.startLineNumber-1,a=e.getLineContent(n),t.addEditOperation(new J(n,1,n+1,1),null),t.addEditOperation(new J(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
27
|
+
`+a),this.shouldAutoIndent(e,r)){let a=this.createVirtualModel(e,e=>e===n?r.startLineNumber:e),c=this.matchEnterRule(e,s,i,r.startLineNumber,r.startLineNumber-2);if(c!==null)c!==0&&this.getIndentEditsOfMovingBlock(e,t,r,i,o,c);else{let c=Pt(this._autoIndent,a,e.getLanguageIdAtPosition(r.startLineNumber,1),n,s,this._languageConfigurationService);if(c!==null){let n=Tr(e.getLineContent(r.startLineNumber)),a=Fy(c,i),s=Fy(n,i);if(a!==s){let n=a-s;this.getIndentEditsOfMovingBlock(e,t,r,i,o,n)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,n){return{shiftIndent:r=>nn.shiftIndent(r,r.length+1,e,t,n),unshiftIndent:r=>nn.unshiftIndent(r,r.length+1,e,t,n)}}parseEnterResult(e,t,n,r,i){if(i){let a=i.indentation;i.indentAction===d.None||i.indentAction===d.Indent?a=i.indentation+i.appendText:i.indentAction===d.IndentOutdent?a=i.indentation:i.indentAction===d.Outdent&&(a=t.unshiftIndent(i.indentation)+i.appendText);let o=e.getLineContent(r);if(this.trimStart(o).indexOf(this.trimStart(a))>=0){let i=Tr(e.getLineContent(r)),o=Tr(a),s=Vt(e,r,this._languageConfigurationService);return s!==null&&s&2&&(o=t.unshiftIndent(o)),Fy(o,n)-Fy(i,n)}}return null}matchEnterRuleMovingDown(e,t,n,r,i,a){if(ea(a)>=0){let a=e.getLineMaxColumn(i),o=Le(this._autoIndent,e,new J(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}{let i=r-1;for(;i>=1;){let t=e.getLineContent(i);if(ea(t)>=0)break;i--}if(i<1||r>e.getLineCount())return null;let a=e.getLineMaxColumn(i),o=Le(this._autoIndent,e,new J(i,a,i,a),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,o)}}matchEnterRule(e,t,n,r,i,a){let o=i;for(;o>=1;){let t;if(t=o===i&&a!==void 0?a:e.getLineContent(o),ea(t)>=0)break;o--}if(o<1||r>e.getLineCount())return null;let s=e.getLineMaxColumn(o),c=Le(this._autoIndent,e,new J(o,s,o,s),this._languageConfigurationService);return this.parseEnterResult(e,t,n,r,c)}trimStart(e){return e.replace(/^\s+/,``)}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;let n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&this._languageConfigurationService.getLanguageConfiguration(n).indentRulesSupport!==null}getIndentEditsOfMovingBlock(e,t,n,r,i,a){for(let o=n.startLineNumber;o<=n.endLineNumber;o++){let s=e.getLineContent(o),c=Tr(s),l=Iy(Fy(c,r)+a,r,i);l!==c&&(t.addEditOperation(new J(o,1,o,c.length+1),l),o===n.endLineNumber&&n.endColumn<=c.length+1&&l===``&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber<n.endLineNumber&&(n=n.setEndPosition(n.endLineNumber,2)),n}};ab=rb([ib(3,os)],ab);var ob=class{static{this._COLLATOR=wn.Collator()}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){let n=cb(e,this.selection,this.descending);n&&t.addEditOperation(n.range,n.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,n){if(e===null)return!1;let r=sb(e,t,n);if(!r)return!1;for(let e=0,t=r.before.length;e<t;e++)if(r.before[e]!==r.after[e])return!0;return!1}};function sb(e,t,n){let r=t.startLineNumber,i=t.endLineNumber;if(t.endColumn===1&&i--,r>=i)return null;let a=[];for(let t=r;t<=i;t++)a.push(e.getLineContent(t));let o=a.slice(0);return o.sort(ob._COLLATOR.value.compare),n===!0&&(o=o.reverse()),{startLineNumber:r,endLineNumber:i,before:a,after:o}}function cb(e,t,n){let r=sb(e,t,n);return r?_.replace(new J(r.startLineNumber,1,r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),r.after.join(`
|
|
28
|
+
`)):null}var lb=class extends B{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;let n=t.getSelections().map((e,t)=>({selection:e,index:t,ignore:!1}));n.sort((e,t)=>J.compareRangesUsingStarts(e.selection,t.selection));let r=n[0];for(let e=1;e<n.length;e++){let t=n[e];r.selection.endLineNumber===t.selection.startLineNumber&&(r.index<t.index?t.ignore=!0:(r.ignore=!0,r=t))}let i=[];for(let e of n)i.push(new nb(e.selection,this.down,e.ignore));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},ub=class extends lb{constructor(){super(!1,{id:`editor.action.copyLinesUpAction`,label:z(1315,`Copy Line Up`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`2_line`,title:K(1310,`&&Copy Line Up`),order:1},canTriggerInlineEdits:!0})}},db=class extends lb{constructor(){super(!0,{id:`editor.action.copyLinesDownAction`,label:z(1316,`Copy Line Down`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`2_line`,title:K(1311,`Co&&py Line Down`),order:2},canTriggerInlineEdits:!0})}},fb=class extends B{constructor(){super({id:`editor.action.duplicateSelection`,label:z(1317,`Duplicate Selection`),precondition:H.writable,menuOpts:{menuId:N.MenubarSelectionMenu,group:`2_line`,title:K(1312,`&&Duplicate Selection`),order:5},canTriggerInlineEdits:!0})}run(e,t,n){if(!t.hasModel())return;let r=[],i=t.getSelections(),a=t.getModel();for(let e of i)if(e.isEmpty())r.push(new nb(e,!0));else{let t=new P(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn);r.push(new $e(t,a.getValueInRange(e)))}t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},pb=class extends B{constructor(e,t){super(t),this.down=e}run(e,t){let n=e.get(os),r=[],i=t.getSelections()||[],a=t.getOption(16);for(let e of i)r.push(new ab(e,this.down,a,n));t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop()}},mb=class extends pb{constructor(){super(!1,{id:`editor.action.moveLinesUpAction`,label:z(1318,`Move Line Up`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`2_line`,title:K(1313,`Mo&&ve Line Up`),order:3},canTriggerInlineEdits:!0})}},hb=class extends pb{constructor(){super(!0,{id:`editor.action.moveLinesDownAction`,label:z(1319,`Move Line Down`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`2_line`,title:K(1314,`Move &&Line Down`),order:4},canTriggerInlineEdits:!0})}},gb=class extends B{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections();r.length===1&&r[0].isSingleLine()&&(r=[new P(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);for(let e of r)if(!ob.canRun(t.getModel(),e,this.descending))return;let i=[];for(let e=0,t=r.length;e<t;e++)i[e]=new ob(r[e],this.descending);t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},_b=class extends gb{constructor(){super(!1,{id:`editor.action.sortLinesAscending`,label:z(1320,`Sort Lines Ascending`),precondition:H.writable,canTriggerInlineEdits:!0})}},vb=class extends gb{constructor(){super(!0,{id:`editor.action.sortLinesDescending`,label:z(1321,`Sort Lines Descending`),precondition:H.writable,canTriggerInlineEdits:!0})}},yb=class extends B{constructor(){super({id:`editor.action.removeDuplicateLines`,label:z(1322,`Delete Duplicate Lines`),precondition:H.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r=[],i=[],a=0,o=!0,s=t.getSelections();s.length===1&&s[0].isSingleLine()&&(s=[new P(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))],o=!1);for(let e of s){let t=new Set,o=[];for(let r=e.startLineNumber;r<=e.endLineNumber;r++){let e=n.getLineContent(r);t.has(e)||(o.push(e),t.add(e))}let s=new P(e.startLineNumber,1,e.endLineNumber,n.getLineMaxColumn(e.endLineNumber)),c=e.startLineNumber-a,l=new P(c,1,c+o.length-1,o[o.length-1].length+1);r.push(_.replace(s,o.join(`
|
|
29
|
+
`))),i.push(l),a+=e.endLineNumber-e.startLineNumber+1-o.length}t.pushUndoStop(),t.executeEdits(this.id,r,o?i:void 0),t.pushUndoStop()}},bb=class extends B{constructor(){super({id:`editor.action.reverseLines`,label:z(1323,`Reverse lines`),precondition:H.writable,canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=r;i.length===1&&i[0].isSingleLine()&&(i=[new P(1,1,n.getLineCount(),n.getLineMaxColumn(n.getLineCount()))]);let a=[],o=[];for(let e=0;e<i.length;e++){let t=i[e],s=r[e],c=t.endLineNumber;t.startLineNumber<t.endLineNumber&&t.endColumn===1&&c--;let l=new J(t.startLineNumber,1,c,n.getLineMaxColumn(c));c===n.getLineCount()&&n.getLineContent(l.endLineNumber)===``&&(l=l.setEndPosition(l.endLineNumber-1,n.getLineMaxColumn(l.endLineNumber-1)));let u=[];for(let e=l.endLineNumber;e>=l.startLineNumber;e--)u.push(n.getLineContent(e));let d=_.replace(l,u.join(`
|
|
30
|
+
`));a.push(d);let f=function(e){return e<=l.endLineNumber?l.endLineNumber-e+l.startLineNumber:e};o.push(function(e){if(e.isEmpty())return new P(f(e.positionLineNumber),e.positionColumn,f(e.positionLineNumber),e.positionColumn);{let t=f(e.selectionStartLineNumber),n=f(e.positionLineNumber),r=e.selectionStartColumn,i=e.positionColumn;return new P(t,r,n,i)}}(s))}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.pushUndoStop()}},xb=class e extends B{static{this.ID=`editor.action.trimTrailingWhitespace`}constructor(){super({id:e.ID,label:z(1324,`Trim Trailing Whitespace`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:Me(2089,2102),weight:100}})}run(e,t,n){let r=[];n.reason===`auto-save`&&(r=(t.getSelections()||[]).map(e=>new O(e.positionLineNumber,e.positionColumn)));let i=t.getSelection();if(i===null)return;let a=e.get(fa),o=t.getModel(),s=a.getValue(`files.trimTrailingWhitespaceInRegexAndStrings`,{overrideIdentifier:o?.getLanguageId(),resource:o?.uri}),c=new eb(i,r,s);t.pushUndoStop(),t.executeCommands(this.id,[c]),t.pushUndoStop()}},Sb=class extends B{constructor(){super({id:`editor.action.deleteLines`,label:z(1325,`Delete Line`),precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(e,t){if(!t.hasModel())return;let n=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let i=0,a=[],o=[];for(let e=0,t=n.length;e<t;e++){let t=n[e],s=t.startLineNumber,c=t.endLineNumber,l=1,u=r.getLineMaxColumn(c);c<r.getLineCount()?(c+=1,u=1):s>1&&(--s,l=r.getLineMaxColumn(s)),a.push(_.replace(new P(s,l,c,u),``)),o.push(new P(s-i,t.positionColumn,s-i,t.positionColumn)),i+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,a,o),t.revealAllCursors(!0),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&e.endColumn===1&&--t,{startLineNumber:e.startLineNumber,selectionStartColumn:e.selectionStartColumn,endLineNumber:t,positionColumn:e.positionColumn}});t.sort((e,t)=>e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);let n=[],r=t[0];for(let e=1;e<t.length;e++)r.endLineNumber+1>=t[e].startLineNumber?r.endLineNumber=t[e].endLineNumber:(n.push(r),r=t[e]);return n.push(r),n}},Cb=class extends B{constructor(){super({id:`editor.action.indentLines`,label:z(1326,`Indent Line`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,f.indent(n.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},wb=class extends B{constructor(){super({id:`editor.action.outdentLines`,label:z(1327,`Outdent Line`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(e,t){Yt.Outdent.runEditorCommand(e,t,null)}},Tb=class e extends B{static{this.ID=`editor.action.insertLineBefore`}constructor(){super({id:e.ID,label:z(1328,`Insert Line Above`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,aa.lineInsertBefore(n.cursorConfig,t.getModel(),t.getSelections())))}},Eb=class e extends B{static{this.ID=`editor.action.insertLineAfter`}constructor(){super({id:e.ID,label:z(1329,`Insert Line Below`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t._getViewModel();n&&(t.pushUndoStop(),t.executeCommands(this.id,aa.lineInsertAfter(n.cursorConfig,t.getModel(),t.getSelections())))}},Db=class extends B{run(e,t){if(!t.hasModel())return;let n=t.getSelection(),r=this._getRangesToDelete(t),i=[];for(let e=0,t=r.length-1;e<t;e++){let t=r[e],n=r[e+1];J.intersectRanges(t,n)===null?i.push(t):r[e+1]=J.plusRange(t,n)}i.push(r[r.length-1]);let a=this._getEndCursorState(n,i),o=i.map(e=>_.replace(e,``));t.pushUndoStop(),t.executeEdits(this.id,o,a),t.pushUndoStop()}},Ob=class extends Db{constructor(){super({id:`deleteAllLeft`,label:z(1330,`Delete All Left`),precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[],i=0;return t.forEach(t=>{let a;if(t.endColumn===1&&i>0){let e=t.startLineNumber-i;a=new P(e,t.startColumn,e,t.startColumn)}else a=new P(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=a:r.push(a)}),n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getSelections();if(t===null)return[];let n=t,r=e.getModel();return r===null?[]:(n.sort(J.compareRangesUsingStarts),n=n.map(e=>{if(e.isEmpty()){if(e.startColumn===1){let t=Math.max(1,e.startLineNumber-1),n=e.startLineNumber===1?1:r.getLineLength(t)+1;return new J(t,n,e.startLineNumber,1)}return new J(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new J(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),n)}},kb=class extends Db{constructor(){super({id:`deleteAllRight`,label:z(1331,`Delete All Right`),precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(e,t){let n=null,r=[];for(let i=0,a=t.length;i<a;i++){let a=t[i],o=new P(a.startLineNumber-0,a.startColumn,a.startLineNumber-0,a.startColumn);a.intersectRanges(e)?n=o:r.push(o)}return n&&r.unshift(n),r}_getRangesToDelete(e){let t=e.getModel();if(t===null)return[];let n=e.getSelections();if(n===null)return[];let r=n.map(e=>{if(e.isEmpty()){let n=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===n?new J(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new J(e.startLineNumber,e.startColumn,e.startLineNumber,n)}return e});return r.sort(J.compareRangesUsingStarts),r}},Ab=class extends B{constructor(){super({id:`editor.action.joinLines`,label:z(1332,`Join Lines`),precondition:H.writable,kbOpts:{kbExpr:H.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getSelection();if(r===null)return;n.sort(J.compareRangesUsingStarts);let i=[],a=n.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(r.equalsSelection(e)&&(r=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new P(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new P(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));i.push(a);let o=t.getModel();if(o===null)return;let s=[],c=[],l=r,u=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=t.startLineNumber,a=0,d,f,p=o.getLineLength(t.endLineNumber)-t.endColumn;if(t.isEmpty()||t.startLineNumber===t.endLineNumber){let e=t.getStartPosition();e.lineNumber<o.getLineCount()?(d=n+1,f=o.getLineMaxColumn(d)):(d=e.lineNumber,f=o.getLineMaxColumn(e.lineNumber))}else d=t.endLineNumber,f=o.getLineMaxColumn(d);let m=o.getLineContent(n);for(let e=n+1;e<=d;e++){let t=o.getLineContent(e),n=o.getLineFirstNonWhitespaceColumn(e);if(n>=1){let e=!0;m===``&&(e=!1),e&&(m.charAt(m.length-1)===` `||m.charAt(m.length-1)===` `)&&(e=!1,m=m.replace(/[\s\uFEFF\xA0]+$/g,` `));let r=t.substr(n-1);m+=(e?` `:``)+r,a=e?r.length+1:r.length}else a=0}let h=new J(n,1,d,f);if(!h.isEmpty()){let e;t.isEmpty()?(s.push(_.replace(h,m)),e=new P(h.startLineNumber-u,m.length-a+1,n-u,m.length-a+1)):t.startLineNumber===t.endLineNumber?(s.push(_.replace(h,m)),e=new P(t.startLineNumber-u,t.startColumn,t.endLineNumber-u,t.endColumn)):(s.push(_.replace(h,m)),e=new P(t.startLineNumber-u,t.startColumn,t.startLineNumber-u,m.length-p)),J.intersectRanges(h,r)===null?c.push(e):l=e}u+=h.endLineNumber-h.startLineNumber}c.unshift(l),t.pushUndoStop(),t.executeEdits(this.id,s,c),t.pushUndoStop()}},jb=class extends B{constructor(){super({id:`editor.action.transpose`,label:z(1333,`Transpose Characters around the Cursor`),precondition:H.writable,canTriggerInlineEdits:!0})}run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];if(!t.isEmpty())continue;let a=t.getStartPosition(),o=r.getLineMaxColumn(a.lineNumber);if(a.column>=o){if(a.lineNumber===r.getLineCount())continue;let e=new J(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new re(new P(a.lineNumber,Math.max(1,a.column-1),a.lineNumber+1,1),t))}else{let e=new J(a.lineNumber,Math.max(1,a.column-1),a.lineNumber,a.column+1),t=r.getValueInRange(e).split(``).reverse().join(``);i.push(new qn(e,t,new P(a.lineNumber,a.column+1,a.lineNumber,a.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}},Mb=class extends B{run(e,t){let n=t.getSelections();if(n===null)return;let r=t.getModel();if(r===null)return;let i=t.getOption(148),a=[];for(let e of n)if(e.isEmpty()){let n=e.getStartPosition(),o=t.getConfiguredWordAtPosition(n);if(!o)continue;let s=new J(n.lineNumber,o.startColumn,n.lineNumber,o.endColumn),c=r.getValueInRange(s);a.push(_.replace(s,this._modifyText(c,i)))}else{let t=r.getValueInRange(e);a.push(_.replace(e,this._modifyText(t,i)))}t.pushUndoStop(),t.executeEdits(this.id,a),t.pushUndoStop()}},Nb=class extends Mb{constructor(){super({id:`editor.action.transformToUppercase`,label:z(1334,`Transform to Uppercase`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleUpperCase()}},Pb=class extends Mb{constructor(){super({id:`editor.action.transformToLowercase`,label:z(1335,`Transform to Lowercase`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(e,t){return e.toLocaleLowerCase()}},Fb=class{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}},Ib=class e extends Mb{static{this.titleBoundary=new Fb(`(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}`,`gmu`)}constructor(){super({id:`editor.action.transformToTitlecase`,label:z(1336,`Transform to Title Case`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.titleBoundary.get();return r?t.toLocaleLowerCase().replace(r,e=>e.toLocaleUpperCase()):t}},Lb=class e extends Mb{static{this.caseBoundary=new Fb(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new Fb(`(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})`,`gmu`)}constructor(){super({id:`editor.action.transformToSnakecase`,label:z(1337,`Transform to Snake Case`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get();return!r||!i?t:t.replace(r,`$1_$2`).replace(i,`$1_$2$3`).toLocaleLowerCase()}},Rb=class e extends Mb{static{this.singleLineWordBoundary=new Fb(`[_\\s-]+`,`gm`)}static{this.multiLineWordBoundary=new Fb(`[_-]+`,`gm`)}static{this.validWordStart=new Fb(`^(\\p{Lu}[^\\p{Lu}])`,`gmu`)}constructor(){super({id:`editor.action.transformToCamelcase`,label:z(1338,`Transform to Camel Case`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=/\r\n|\r|\n/.test(t)?e.multiLineWordBoundary.get():e.singleLineWordBoundary.get(),i=e.validWordStart.get();if(!r||!i)return t;let a=t.split(r);return a.shift()?.replace(i,e=>e.toLocaleLowerCase())+a.map(e=>e.substring(0,1).toLocaleUpperCase()+e.substring(1)).join(``)}},zb=class e extends Mb{static{this.wordBoundary=new Fb(`[_ \\t-]`,`gm`)}static{this.wordBoundaryToMaintain=new Fb(`(?<=\\.)`,`gm`)}static{this.upperCaseWordMatcher=new Fb(`^\\p{Lu}+$`,`mu`)}constructor(){super({id:`editor.action.transformToPascalcase`,label:z(1339,`Transform to Pascal Case`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.wordBoundary.get(),i=e.wordBoundaryToMaintain.get(),a=e.upperCaseWordMatcher.get();return!r||!i||!a?t:t.split(i).map(e=>e.split(r)).flat().map(e=>{let t=e.charAt(0).toLocaleUpperCase()+e.slice(1);return t.length>1&&a.test(t)?t.charAt(0)+t.slice(1).toLocaleLowerCase():t}).join(``)}},Bb=class e extends Mb{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(e=>e.isSupported())}static{this.caseBoundary=new Fb(`(\\p{Ll})(\\p{Lu})`,`gmu`)}static{this.singleLetters=new Fb(`(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})`,`gmu`)}static{this.underscoreBoundary=new Fb(`(\\S)(_)(\\S)`,`gm`)}constructor(){super({id:`editor.action.transformToKebabcase`,label:z(1340,`Transform to Kebab Case`),precondition:H.writable,canTriggerInlineEdits:!0})}_modifyText(t,n){let r=e.caseBoundary.get(),i=e.singleLetters.get(),a=e.underscoreBoundary.get();return!r||!i||!a?t:t.replace(a,`$1-$3`).replace(r,`$1-$2`).replace(i,`$1-$2`).toLocaleLowerCase()}};y(ub),y(db),y(fb),y(mb),y(hb),y(_b),y(vb),y(yb),y(xb),y(Sb),y(Cb),y(wb),y(Tb),y(Eb),y(Ob),y(kb),y(Ab),y(jb),y(Nb),y(Pb),y(bb),Lb.caseBoundary.isSupported()&&Lb.singleLetters.isSupported()&&y(Lb),Rb.singleLineWordBoundary.isSupported()&&Rb.multiLineWordBoundary.isSupported()&&y(Rb),zb.wordBoundary.isSupported()&&y(zb),Ib.titleBoundary.isSupported()&&y(Ib),Bb.isSupported()&&y(Bb);var Vb=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink==`function`?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(Error(`missing`)))):Promise.reject(Error(`missing`))}},Hb=class e{static{this.Empty=new e([])}constructor(t){this._disposables=new v;let n=[];for(let[r,i]of t){let t=r.links.map(e=>new Vb(e,i));n=e._union(n,t),Ct(r)&&(this._disposables??=new v,this._disposables.add(r))}this.links=n}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(e,t){let n=[],r,i,a,o;for(r=0,a=0,i=e.length,o=t.length;r<i&&a<o;){let i=e[r],o=t[a];J.areIntersectingOrTouching(i.range,o.range)?r++:J.compareRangesUsingStarts(i.range,o.range)<0?(n.push(i),r++):(n.push(o),a++)}for(;r<i;r++)n.push(e[r]);for(;a<o;a++)n.push(t[a]);return n}};async function Ub(e,t,n){let r=[],i=e.ordered(t).reverse().map(async(e,i)=>{try{let a=await e.provideLinks(t,n);a&&(r[i]=[a,e])}catch(e){qr(e)}});await Promise.all(i);let a=new Hb(as(r));return n.isCancellationRequested&&(a.dispose(),a=Hb.Empty),a}R.registerCommand(`_executeLinkProvider`,async(e,...t)=>{let[n,r]=t;ti(n instanceof me),typeof r!=`number`&&(r=0);let{linkProvider:i}=e.get(q),a=e.get(ce).getModel(n);if(!a)return[];let o=await Ub(i,a,w.None);if(!o)return[];for(let e=0;e<Math.min(r,o.links.length);e++)await o.links[e].resolve(w.None);let s=o.links.slice(0);return o.dispose(),s});var Wb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gb=function(e,t){return function(n,r){t(n,r,e)}},Kb,qb=class extends j{static{Kb=this}static{this.ID=`editor.linkDetector`}static get(e){return e.getContribution(Kb.ID)}constructor(e,t,n,r,i){super(),this.editor=e,this.openerService=t,this.notificationService=n,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=i.for(this.providers,`Links`,{min:1e3,max:4e3}),this.computeLinks=this._register(new Ht(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;let a=this._register(new fh(e));this._register(a.onMouseMoveOrRelevantKeyDown(([e,t])=>{this._onEditorMouseMove(e,t)})),this._register(a.onExecute(e=>{this.onEditorMouseUp(e)})),this._register(a.onCancel(e=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(e=>{e.hasChanged(79)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(e=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(e=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(e=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(e=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;let e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&=(this.activeLinksList.dispose(),null),this.computePromise=ot(t=>Ub(this.providers,e,t));try{let t=new Ns(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(e){Y(e)}finally{this.computePromise=null}}}updateDecorations(e){let t=this.editor.getOption(86)===`altKey`,n=[],r=Object.keys(this.currentOccurrences);for(let e of r){let t=this.currentOccurrences[e];n.push(t.decorationId)}let i=[];if(e)for(let n of e)i.push(Yb.decoration(n,t));this.editor.changeDecorations(t=>{let r=t.deltaDecorations(n,i);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let t=0,n=r.length;t<n;t++){let n=new Yb(e[t],r[t]);this.currentOccurrences[n.decorationId]=n}})}_onEditorMouseMove(e,t){let n=this.editor.getOption(86)===`altKey`;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();let t=this.getLinkOccurrence(e.target.position);t&&this.editor.changeDecorations(e=>{t.activate(e,n),this.activeLinkDecorationId=t.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){let e=this.editor.getOption(86)===`altKey`;if(this.activeLinkDecorationId){let t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(n=>{t.deactivate(n,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;let t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,n=!1){if(!this.openerService)return;let{link:r}=e;r.resolve(w.None).then(e=>{if(typeof e==`string`&&this.editor.hasModel()){let t=this.editor.getModel().uri;if(t.scheme===xe.file&&e.startsWith(`${xe.file}:`)){let n=me.parse(e);if(n.scheme===xe.file){let r=Cr(n),i=null;r.startsWith(`/./`)||r.startsWith(`\\.\\`)?i=`.${r.substr(1)}`:(r.startsWith(`//./`)||r.startsWith(`\\\\.\\`))&&(i=`.${r.substr(2)}`),i&&(e=sr(t,i))}}}return this.openerService.open(e,{openToSide:t,fromUserGesture:n,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},e=>{let t=e instanceof Error?e.message:e;t===`invalid`?this.notificationService.warn(K(1343,`Failed to open this link because it is not well-formed: {0}`,r.url.toString())):t===`missing`?this.notificationService.warn(K(1344,`Failed to open this link because its target is missing.`)):Y(e)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;let t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(let e of t){let t=this.currentOccurrences[e.id];if(t)return t}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey||e.isMiddleClick&&e.mouseMiddleClickAction===`openLink`))}stop(){this.computeLinks.cancel(),this.activeLinksList&&=(this.activeLinksList?.dispose(),null),this.computePromise&&=(this.computePromise.cancel(),null)}dispose(){super.dispose(),this.stop()}};qb=Kb=Wb([Gb(1,ct),Gb(2,Ui),Gb(3,q),Gb(4,Ne)],qb);var Jb={general:F.register({description:`detected-link`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link`}),active:F.register({description:`detected-link-active`,stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:`detected-link-active`})},Yb=class e{static decoration(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}}static _getOptions(e,t,n){let r={...n?Jb.active:Jb.general};return r.hoverMessage=Xb(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))}deactivate(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))}};function Xb(e,t){let n=e.url&&/^command:/i.test(e.url.toString()),r=e.tooltip?e.tooltip:n?K(1345,`Execute command`):K(1346,`Follow link`),i=t?pn?K(1347,`cmd + click`):K(1348,`ctrl + click`):pn?K(1349,`option + click`):K(1350,`alt + click`);if(e.url){let t=``;if(/^command:/i.test(e.url.toString())){let n=e.url.toString().match(/^command:([^?#]+)/);if(n){let e=n[1];t=K(1351,`Execute command {0}`,e)}}return new Xn(``,!0).appendLink(e.url.toString(!0).replace(/ /g,`%20`),r,t).appendMarkdown(` (${i})`)}return new Xn().appendText(`${r} (${i})`)}var Zb=class extends B{constructor(){super({id:`editor.action.openLink`,label:z(1352,`Open Link`),precondition:void 0})}run(e,t){let n=qb.get(t);if(!n||!t.hasModel())return;let r=t.getSelections();for(let e of r){let t=n.getLinkOccurrence(e.getEndPosition());t&&n.openLinkOccurrence(t,!1)}}};D(qb.ID,qb,1),y(Zb);var Qb=T(`editor.wordHighlightBackground`,{dark:`#575757B8`,light:`#57575740`,hcDark:null,hcLight:null},K(1637,`Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.`),!0);T(`editor.wordHighlightStrongBackground`,{dark:`#004972B8`,light:`#0e639c40`,hcDark:null,hcLight:null},K(1638,`Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.`),!0),T(`editor.wordHighlightTextBackground`,Qb,K(1639,`Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0);var $b=T(`editor.wordHighlightBorder`,{light:null,dark:null,hcDark:St,hcLight:St},K(1640,`Border color of a symbol during read-access, like reading a variable.`));T(`editor.wordHighlightStrongBorder`,{light:null,dark:null,hcDark:St,hcLight:St},K(1641,`Border color of a symbol during write-access, like writing to a variable.`)),T(`editor.wordHighlightTextBorder`,$b,K(1642,`Border color of a textual occurrence for a symbol.`));var ex=T(`editorOverviewRuler.wordHighlightForeground`,`#A0A0A0CC`,K(1643,`Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),tx=T(`editorOverviewRuler.wordHighlightStrongForeground`,`#C0A0C0CC`,K(1644,`Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),nx=T(`editorOverviewRuler.wordHighlightTextForeground`,qe,K(1645,`Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations.`),!0),rx=F.register({description:`word-highlight-strong`,stickiness:1,className:`wordHighlightStrong`,overviewRuler:{color:be(tx),position:Ss.Center},minimap:{color:be(Pr),position:1}}),ix=F.register({description:`word-highlight-text`,stickiness:1,className:`wordHighlightText`,overviewRuler:{color:be(nx),position:Ss.Center},minimap:{color:be(Pr),position:1}}),ax=F.register({description:`selection-highlight-overview`,stickiness:1,className:`selectionHighlight`,overviewRuler:{color:be(qe),position:Ss.Center},minimap:{color:be(Pr),position:1}}),ox=F.register({description:`selection-highlight`,stickiness:1,className:`selectionHighlight`}),sx=F.register({description:`word-highlight`,stickiness:1,className:`wordHighlight`,overviewRuler:{color:be(ex),position:Ss.Center},minimap:{color:be(Pr),position:1}});function cx(e){return e===wa.Write?rx:e===wa.Text?ix:sx}function lx(e){return e?ox:ax}ke((e,t)=>{let n=e.getColor(Ms);n&&t.addRule(`.monaco-editor .selectionHighlight { background-color: ${n.transparent(.5)}; }`)});var ux=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dx=function(e,t){return function(n,r){t(n,r,e)}},fx;function px(e,t){let n=t.filter(t=>!e.find(e=>e.equals(t)));if(n.length>=1){let e=n.map(e=>`line ${e.viewState.position.lineNumber} column ${e.viewState.position.column}`).join(`, `),t=n.length===1?K(1354,`Cursor added: {0}`,e):K(1355,`Cursors added: {0}`,e);ni(t)}}var mx=class extends B{constructor(){super({id:`editor.action.insertCursorAbove`,label:z(1364,`Add Cursor Above`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1356,`&&Add Cursor Above`),order:2}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,Dt.addCursorUp(i,a,r)),i.revealTopMostCursor(n.source),px(a,i.getCursorStates())}},hx=class extends B{constructor(){super({id:`editor.action.insertCursorBelow`,label:z(1365,`Add Cursor Below`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1357,`A&&dd Cursor Below`),order:3}})}run(e,t,n){if(!t.hasModel())return;let r=!0;n&&n.logicalLine===!1&&(r=!1);let i=t._getViewModel();if(i.cursorConfig.readOnly)return;i.model.pushStackElement();let a=i.getCursorStates();i.setCursorStates(n.source,3,Dt.addCursorDown(i,a,r)),i.revealBottomMostCursor(n.source),px(a,i.getCursorStates())}},gx=class extends B{constructor(){super({id:`editor.action.insertCursorAtEndOfEachLineSelected`,label:z(1366,`Add Cursors to Line Ends`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1358,`Add C&&ursors to Line Ends`),order:4}})}getCursorsForSelection(e,t,n){if(!e.isEmpty()){for(let r=e.startLineNumber;r<e.endLineNumber;r++){let e=t.getLineMaxColumn(r);n.push(new P(r,e,r,e))}e.endColumn>1&&n.push(new P(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;let n=t.getModel(),r=t.getSelections(),i=t._getViewModel(),a=i.getCursorStates(),o=[];r.forEach(e=>this.getCursorsForSelection(e,n,o)),o.length>0&&t.setSelections(o),px(a,i.getCursorStates())}},_x=class extends B{constructor(){super({id:`editor.action.addCursorsToBottom`,label:z(1367,`Add Cursors to Bottom`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=t.getModel().getLineCount(),i=[];for(let e=n[0].startLineNumber;e<=r;e++)i.push(new P(e,n[0].startColumn,e,n[0].endColumn));let a=t._getViewModel(),o=a.getCursorStates();i.length>0&&t.setSelections(i),px(o,a.getCursorStates())}},vx=class extends B{constructor(){super({id:`editor.action.addCursorsToTop`,label:z(1368,`Add Cursors to Top`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getSelections(),r=[];for(let e=n[0].startLineNumber;e>=1;e--)r.push(new P(e,n[0].startColumn,e,n[0].endColumn));let i=t._getViewModel(),a=i.getCursorStates();r.length>0&&t.setSelections(r),px(a,i.getCursorStates())}},yx=class{constructor(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n}},bx=class e{static create(t,n){if(!t.hasModel())return null;let r=n.getState();if(!t.hasTextFocus()&&r.isRevealed&&r.searchString.length>0)return new e(t,n,!1,r.searchString,r.wholeWord,r.matchCase,null);let i=!1,a,o,s=t.getSelections();s.length===1&&s[0].isEmpty()?(i=!0,a=!0,o=!0):(a=r.wholeWord,o=r.matchCase);let c=t.getSelection(),l,u=null;if(c.isEmpty()){let e=t.getConfiguredWordAtPosition(c.getStartPosition());if(!e)return null;l=e.word,u=new P(c.startLineNumber,e.startColumn,c.startLineNumber,e.endColumn)}else l=t.getModel().getValueInRange(c).replace(/\r\n/g,`
|
|
31
|
+
`);return new e(t,n,i,l,a,o,u)}constructor(e,t,n,r,i,a,o){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=r,this.wholeWord=i,this.matchCase=a,this.currentMatch=o}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();return e?new yx(this._editor.getSelections().concat(e),e,0):null}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;let e=this._getNextMatch();if(!e)return null;let t=this._editor.getSelections();return new yx(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new P(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();return e?new yx(this._editor.getSelections().concat(e),e,0):null}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;let e=this._getPreviousMatch();if(!e)return null;let t=this._editor.getSelections();return new yx(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){let e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();let e=this._editor.getSelections(),t=e[e.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return n?new P(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();let t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}},xx=class e extends j{static{this.ID=`editor.contrib.multiCursorController`}static get(t){return t.getContribution(e.ID)}constructor(e){super(),this._sessionDispose=this._register(new v),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){let t=bx.create(this._editor,e);if(!t)return;this._session=t;let n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(e=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(e=>{(e.matchCase||e.wholeWord)&&this._endSession()}))}}_endSession(){this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController&&this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1),this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;let n=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return n?new P(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){let t=this._editor.getSelections();if(t.length>1){let n=e.getState().matchCase;if(!jx(this._editor.getModel(),t,n)){let e=this._editor.getModel(),n=[];for(let r=0,i=t.length;r<i;r++)n[r]=this._expandEmptyToWord(e,t[r]);this._editor.setSelections(n);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null,n=e.getState();if(n.isRevealed&&n.searchString.length>0&&n.isRegex){let e=this._editor.getModel();t=n.searchScope?e.findMatches(n.searchString,n.searchScope,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824):e.findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(n.searchScope)}if(t.length>0){let e=this._editor.getSelection();for(let n=0,r=t.length;n<r;n++){let r=t[n];if(r.range.intersectRanges(e)){t[n]=t[0],t[0]=r;break}}this._setSelections(t.map(e=>new P(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)))}}},Sx=class extends B{run(e,t){let n=xx.get(t);if(!n)return;let r=t._getViewModel();if(r){let i=r.getCursorStates(),a=kd.get(t);if(a)this._run(n,a);else{let r=e.get(k).createInstance(kd,t);this._run(n,r),r.dispose()}px(i,r.getCursorStates())}}},Cx=class extends Sx{constructor(){super({id:`editor.action.addSelectionToNextFindMatch`,label:z(1369,`Add Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:2082,weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1359,`Add &&Next Occurrence`),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},wx=class extends Sx{constructor(){super({id:`editor.action.addSelectionToPreviousFindMatch`,label:z(1370,`Add Selection to Previous Find Match`),precondition:void 0,menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1360,`Add P&&revious Occurrence`),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},Tx=class extends Sx{constructor(){super({id:`editor.action.moveSelectionToNextFindMatch`,label:z(1371,`Move Last Selection to Next Find Match`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:Me(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},Ex=class extends Sx{constructor(){super({id:`editor.action.moveSelectionToPreviousFindMatch`,label:z(1372,`Move Last Selection to Previous Find Match`),precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},Dx=class extends Sx{constructor(){super({id:`editor.action.selectHighlights`,label:z(1373,`Select All Occurrences of Find Match`),precondition:void 0,kbOpts:{kbExpr:H.focus,primary:3114,weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`3_multi`,title:K(1361,`Select All &&Occurrences`),order:7}})}_run(e,t){e.selectAll(t)}},Ox=class extends Sx{constructor(){super({id:`editor.action.changeAll`,label:z(1374,`Change All Occurrences`),precondition:L.and(H.writable,H.editorTextFocus),kbOpts:{kbExpr:H.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:`1_modification`,order:1.2}})}_run(e,t){e.selectAll(t)}},kx=class{constructor(e,t,n,r,i){this._model=e,this._searchText=t,this._matchCase=n,this._wordSeparators=r,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),i&&this._model===i._model&&this._searchText===i._searchText&&this._matchCase===i._matchCase&&this._wordSeparators===i._wordSeparators&&this._modelVersionId===i._modelVersionId&&(this._cachedFindMatches=i._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(J.compareRangesUsingStarts)),this._cachedFindMatches}},Ax=class extends j{static{fx=this}static{this.ID=`editor.contrib.selectionHighlighter`}constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new Ht(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(t=>{this._isEnabled=e.getOption(122),this._isEnabledMultiline=e.getOption(124),this._maxLength=e.getOption(123)})),this._register(e.onDidChangeCursorSelection(e=>{this._isEnabled&&(e.selection.isEmpty()?e.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(e=>{this._setState(null)})),this._register(e.onDidChangeModelContent(e=>{this._isEnabled&&this.updateSoon.schedule()}));let n=kd.get(e);n&&this._register(n.getState().onFindReplaceStateChange(e=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(fx._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(e,t,n,r,i){if(!t||!i.hasModel())return null;if(!n){let e=i.getSelection();if(e.startLineNumber!==e.endLineNumber)return null}let a=xx.get(i);if(!a)return null;let o=kd.get(i);if(!o)return null;let s=a.getSession(o);if(!s){let e=i.getSelections();if(e.length>1){let t=o.getState().matchCase;if(!jx(i.getModel(),e,t))return null}s=bx.create(i,o)}if(!s||s.currentMatch||/^[ \t]+$/.test(s.searchText)||r>0&&s.searchText.length>r)return null;let c=o.getState(),l=c.matchCase;if(c.isRevealed){let e=c.searchString;l||(e=e.toLowerCase());let t=s.searchText;if(l||(t=t.toLowerCase()),e===t&&s.matchCase===c.matchCase&&s.wholeWord===c.wholeWord&&!c.isRegex)return null}return new kx(i.getModel(),s.searchText,s.matchCase,s.wholeWord?i.getOption(148):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;let t=this.editor.getModel();if(t.isTooLargeForTokenization())return;let n=this.state.findMatches(),r=this.editor.getSelections();r.sort(J.compareRangesUsingStarts);let i=[];for(let e=0,t=0,a=n.length,o=r.length;e<a;){let a=n[e];if(t>=o)i.push(a),e++;else{let n=J.compareRangesUsingStarts(a,r[t]);n<0?((r[t].isEmpty()||!J.areIntersecting(a,r[t]))&&i.push(a),e++):(n>0||e++,t++)}}let a=this.editor.getOption(90)!==`off`,o=this._languageFeaturesService.documentHighlightProvider.has(t)&&a,s=i.map(e=>({range:e,options:lx(o)}));this._decorations.set(s)}dispose(){this._setState(null),super.dispose()}};Ax=fx=ux([dx(1,q)],Ax);function jx(e,t,n){let r=Mx(e,t[0],!n);for(let i=1,a=t.length;i<a;i++){let a=t[i];if(a.isEmpty()||r!==Mx(e,a,!n))return!1}return!0}function Mx(e,t,n){let r=e.getValueInRange(t);return n?r.toLowerCase():r}var Nx=class extends B{constructor(){super({id:`editor.action.focusNextCursor`,label:z(1375,`Focus Next Cursor`),metadata:{description:K(1362,`Focuses the next cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.shift();a&&(i.push(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),px(i,r.getCursorStates()))}},Px=class extends B{constructor(){super({id:`editor.action.focusPreviousCursor`,label:z(1376,`Focus Previous Cursor`),metadata:{description:K(1363,`Focuses the previous cursor`),args:[]},precondition:void 0})}run(e,t,n){if(!t.hasModel())return;let r=t._getViewModel();if(r.cursorConfig.readOnly)return;r.model.pushStackElement();let i=Array.from(r.getCursorStates()),a=i.pop();a&&(i.unshift(a),r.setCursorStates(n.source,3,i),r.revealPrimaryCursor(n.source,!0),px(i,r.getCursorStates()))}};D(xx.ID,xx,4),D(Ax.ID,Ax,1),y(mx),y(hx),y(gx),y(Cx),y(wx),y(Tx),y(Ex),y(Dx),y(Ox),y(_x),y(vx),y(Nx),y(Px);var Fx={Visible:new W(`parameterHintsVisible`,!1),MultipleSignatures:new W(`parameterHintsMultipleSignatures`,!1)};async function Ix(e,t,n,r,i){let a=e.ordered(t);for(let e of a)try{let a=await e.provideSignatureHelp(t,n,i,r);if(a)return a}catch(e){qr(e)}}R.registerCommand(`_executeSignatureHelpProvider`,async(e,...t)=>{let[n,r,i]=t;ti(me.isUri(n)),ti(O.isIPosition(r)),ti(typeof i==`string`||!i);let a=e.get(q),o=await e.get(Sn).createModelReference(n);try{let e=await Ix(a.signatureHelpProvider,o.object.textEditorModel,O.lift(r),{triggerKind:Ri.Invoke,isRetrigger:!1,triggerCharacter:i},w.None);return e?(setTimeout(()=>e.dispose(),0),e.value):void 0}finally{o.dispose()}});var Lx;(function(e){e.Default={type:0};class t{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}}e.Pending=t;class n{constructor(e){this.hints=e,this.type=1}}e.Active=n})(Lx||={});var Rx=class e extends j{static{this.DEFAULT_DELAY=120}constructor(t,n,r=e.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new b),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Lx.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Un),this.triggerChars=new ue,this.retriggerChars=new ue,this.triggerId=0,this.editor=t,this.providers=n,this.throttledDelayer=this._register(new Ft(r)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(e=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(e=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(e=>this.onCursorChange(e))),this._register(this.editor.onDidChangeModelContent(e=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(e=>this.onDidType(e))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=Lx.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){let n=this.editor.getModel();if(!n||!this.providers.has(n))return;let r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(Y)}next(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e===e-1,r=this.editor.getOption(98).cycle;(e<2||n)&&!r?this.cancel():this.updateActiveSignature(n&&r?0:t+1)}previous(){if(this.state.type!==1)return;let e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t===0,r=this.editor.getOption(98).cycle;(e<2||n)&&!r?this.cancel():this.updateActiveSignature(n&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new Lx.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){let t=this.state.type===1||this.state.type===2,n=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;let r=this._pendingTriggers.reduce(zx);this._pendingTriggers=[];let i={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:n};if(!this.editor.hasModel())return!1;let a=this.editor.getModel(),o=this.editor.getPosition();this.state=new Lx.Pending(ot(e=>Ix(this.providers,a,o,i,e)),n);try{let t=await this.state.request;return e===this.triggerId?!t||!t.value.signatures||t.value.signatures.length===0?(t?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new Lx.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(t?.dispose(),!1)}catch(t){return e===this.triggerId&&(this.state=Lx.Default),Y(t),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();let e=this.editor.getModel();if(e)for(let t of this.providers.ordered(e)){for(let e of t.signatureHelpTriggerCharacters||[])if(e.length){let t=e.charCodeAt(0);this.triggerChars.add(t),this.retriggerChars.add(t)}for(let e of t.signatureHelpRetriggerCharacters||[])e.length&&this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;let t=e.length-1,n=e.charCodeAt(t);(this.triggerChars.has(n)||this.isTriggered&&this.retriggerChars.has(n))&&this.trigger({triggerKind:Ri.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source===`mouse`?this.cancel():this.isTriggered&&this.trigger({triggerKind:Ri.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Ri.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(98).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};function zx(e,t){switch(t.triggerKind){case Ri.Invoke:return t;case Ri.ContentChange:return e;case Ri.TriggerCharacter:default:return t}}var Bx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vx=function(e,t){return function(n,r){t(n,r,e)}},Hx,Ux=C,Wx=U(`parameter-hints-next`,X.chevronDown,K(1378,`Icon for show next parameter hint.`)),Gx=U(`parameter-hints-previous`,X.chevronUp,K(1379,`Icon for show previous parameter hint.`)),Kx=class extends j{static{Hx=this}static{this.ID=`editor.widget.parameterHintsWidget`}constructor(e,t,n,r){super(),this.editor=e,this.model=t,this.markdownRendererService=r,this.renderDisposeables=this._register(new v),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=Fx.Visible.bindTo(n),this.keyMultipleSignatures=Fx.MultipleSignatures.bindTo(n)}createParameterHintDOMNodes(){let e=Ux(`.editor-widget.parameter-hints-widget`),t=A(e,Ux(`.phwrapper`));t.tabIndex=-1;let n=A(t,Ux(`.controls`)),r=A(n,Ux(`.button`+M.asCSSSelector(Gx))),i=A(n,Ux(`.overloads`)),a=A(n,Ux(`.button`+M.asCSSSelector(Wx)));this._register(E(r,`click`,e=>{ra.stop(e),this.previous()})),this._register(E(a,`click`,e=>{ra.stop(e),this.next()}));let o=Ux(`.body`),s=new Lo(o,{alwaysConsumeMouseWheel:!0});this._register(s),t.appendChild(s.getDomNode());let c=A(o,Ux(`.signature`)),l=A(o,Ux(`.docs`));e.style.userSelect=`text`,this.domNodes={element:e,signature:c,overloads:i,docs:l,scrollbar:s},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(e=>{this.visible&&this.editor.layoutContentWidget(this)}));let u=()=>{if(!this.domNodes)return;let e=this.editor.getOption(59),t=this.domNodes.element;t.style.fontSize=`${e.fontSize}px`,t.style.lineHeight=`${e.lineHeight/e.fontSize}`,t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamily`,e.fontFamily),t.style.setProperty(`--vscode-parameterHintsWidget-editorFontFamilyDefault`,Be.fontFamily)};u(),this._register(At.chain(this.editor.onDidChangeConfiguration.bind(this.editor),e=>e.filter(e=>e.hasChanged(59)))(u)),this._register(this.editor.onDidLayoutChange(e=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add(`visible`)},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove(`visible`),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;let t=e.signatures.length>1;this.domNodes.element.classList.toggle(`multiple`,t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText=``,this.domNodes.docs.innerText=``;let n=e.signatures[e.activeSignature];if(!n)return;let r=A(this.domNodes.signature,Ux(`.code`)),i=n.parameters.length>0,a=n.activeParameter??e.activeParameter;if(i)this.renderParameters(r,n,a);else{let e=A(r,Ux(`span`));e.textContent=n.label}let o=n.parameters[a];if(o?.documentation){let e=Ux(`span.documentation`);if(typeof o.documentation==`string`)e.textContent=o.documentation;else{let t=this.renderMarkdownDocs(o.documentation);e.appendChild(t.element)}A(this.domNodes.docs,Ux(`p`,{},e))}if(n.documentation!==void 0){if(typeof n.documentation==`string`)A(this.domNodes.docs,Ux(`p`,{},n.documentation));else{let e=this.renderMarkdownDocs(n.documentation);A(this.domNodes.docs,e.element)}}let s=this.hasDocs(n,o);if(this.domNodes.signature.classList.toggle(`has-docs`,s),this.domNodes.docs.classList.toggle(`empty`,!s),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,`0`)+`/`+e.signatures.length,o){let e=``,t=n.parameters[a];e=Array.isArray(t.label)?n.label.substring(t.label[0],t.label[1]):t.label,t.documentation&&(e+=typeof t.documentation==`string`?`, ${t.documentation}`:`, ${t.documentation.value}`),n.documentation&&(e+=typeof n.documentation==`string`?`, ${n.documentation}`:`, ${n.documentation.value}`),this.announcedLabel!==e&&(To(K(1380,`{0}, hint`,e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){let t=this.renderDisposeables.add(this.markdownRendererService.render(e,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return t.element.classList.add(`markdown-docs`),t}hasDocs(e,t){return!!(t&&typeof t.documentation==`string`&&wo(t.documentation).length>0||t&&typeof t.documentation==`object`&&wo(t.documentation).value.length>0||e.documentation&&typeof e.documentation==`string`&&wo(e.documentation).length>0||e.documentation&&typeof e.documentation==`object`&&wo(e.documentation.value).length>0)}renderParameters(e,t,n){let[r,i]=this.getParameterLabelOffsets(t,n),a=document.createElement(`span`);a.textContent=t.label.substring(0,r);let o=document.createElement(`span`);o.textContent=t.label.substring(r,i),o.className=`parameter active`;let s=document.createElement(`span`);s.textContent=t.label.substring(i),A(e,a,o,s)}getParameterLabelOffsets(e,t){let n=e.parameters[t];if(!n)return[0,0];if(Array.isArray(n.label))return n.label;if(n.label.length){let t=RegExp(`(\\W|^)${pt(n.label)}(?=\\W|$)`,`g`);t.test(e.label);let r=t.lastIndex-n.label.length;return r>=0?[r,t.lastIndex]:[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return Hx.ID}updateMaxHeight(){if(!this.domNodes)return;let e=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=e;let t=this.domNodes.element.getElementsByClassName(`phwrapper`);t.length&&(t[0].style.maxHeight=e)}};Kx=Hx=Bx([Vx(2,G),Vx(3,sn)],Kx),T(`editorHoverWidget.highlightForeground`,Gi,K(1381,`Foreground color of the active item in the parameter hint.`));var qx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jx=function(e,t){return function(n,r){t(n,r,e)}},Yx,Xx=class extends j{static{Yx=this}static{this.ID=`editor.controller.parameterHints`}static get(e){return e.getContribution(Yx.ID)}constructor(e,t,n){super(),this.editor=e,this.model=this._register(new Rx(e,n.signatureHelpProvider)),this._register(this.model.onChangedHints(e=>{e?(this.widget.value.show(),this.widget.value.render(e)):this.widget.rawValue?.hide()})),this.widget=new Ya(()=>this._register(t.createInstance(Kx,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(e){this.model.trigger(e,0)}};Xx=Yx=qx([Jx(1,k),Jx(2,q)],Xx);var Zx=class extends B{constructor(){super({id:`editor.action.triggerParameterHints`,label:z(1377,`Trigger Parameter Hints`),precondition:H.hasSignatureHelpProvider,kbOpts:{kbExpr:H.editorTextFocus,primary:3082,weight:100}})}run(e,t){Xx.get(t)?.trigger({triggerKind:Ri.Invoke})}};D(Xx.ID,Xx,2),y(Zx);var Qx=175,$x=Bt.bindToContribution(Xx.get);x(new $x({id:`closeParameterHints`,precondition:Fx.Visible,handler:e=>e.cancel(),kbOpts:{weight:Qx,kbExpr:H.focus,primary:9,secondary:[1033]}})),x(new $x({id:`showPrevParameterHint`,precondition:L.and(Fx.Visible,Fx.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:Qx,kbExpr:H.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),x(new $x({id:`showNextParameterHint`,precondition:L.and(Fx.Visible,Fx.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:Qx,kbExpr:H.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var eS=class extends j{static{this.ID=`editor.contrib.placeholderText`}constructor(e){super(),this._editor=e,this._editorObs=si(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=fe({owner:this,equalsFn:cs},e=>{let t=this._placeholderText.read(e);if(t&&this._editorObs.valueIsEmpty.read(e))return{placeholder:t}}),this._shouldViewBeAlive=tS(this,e=>this._state.read(e)?.placeholder!==void 0),this._view=En(e=>{if(!this._shouldViewBeAlive.read(e))return;let t=Io(`div.editorPlaceholder`);e.store.add(ws(e=>{let n=this._state.read(e),r=n?.placeholder!==void 0;t.root.style.display=r?`block`:`none`,t.root.innerText=n?.placeholder??``})),e.store.add(ws(e=>{let n=this._editorObs.layoutInfo.read(e);t.root.style.left=`${n.contentLeft}px`,t.root.style.width=n.contentWidth-n.verticalScrollbarWidth+`px`,t.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),e.store.add(ws(e=>{t.root.style.fontFamily=this._editorObs.getOption(58).read(e),t.root.style.fontSize=this._editorObs.getOption(61).read(e)+`px`,t.root.style.lineHeight=this._editorObs.getOption(75).read(e)+`px`})),e.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:qi(0),position:qi(null),domNode:t.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};function tS(e,t){return Ii(e,(e,n)=>n===!0||t(e))}var nS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rS=function(e,t){return function(n,r){t(n,r,e)}},iS=class{constructor(e){this.instantiationService=e}init(...e){}};function aS(e){return e()}var oS=class extends iS{constructor(e,t){super(t),this.init(e)}};oS=nS([rS(1,k)],oS),D(eS.ID,aS(()=>eS),0),T(`editor.placeholder.foreground`,de,K(1400,`Foreground color of the placeholder text in the editor.`));var sS=class extends j{static{this.ID=`editor.contrib.readOnlyMessageController`}constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){let e=ec.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(105);t||=this.editor.isSimpleWidget?new Xn(K(1447,`Cannot edit in read-only input`)):new Xn(K(1448,`Cannot edit in read-only editor`)),e.showMessage(t,this.editor.getPosition())}}};D(sS.ID,sS,2);var cS=class e{async provideSelectionRanges(t,n){let r=[];for(let i of n){let n=[];r.push(n);let a=new Map;await new Promise(n=>e._bracketsRightYield(n,0,t,i,a)),await new Promise(r=>e._bracketsLeftYield(r,0,t,i,a,n))}return r}static{this._maxDuration=30}static{this._maxRounds=2}static _bracketsRightYield(t,n,r,i,a){let o=new Map,s=Date.now();for(;;){if(n>=e._maxRounds||!i){t();break}let c=r.bracketPairs.findNextBracket(i);if(!c){t();break}if(Date.now()-s>e._maxDuration){setTimeout(()=>e._bracketsRightYield(t,n+1,r,i,a));break}if(c.bracketInfo.isOpeningBracket){let e=c.bracketInfo.bracketText,t=o.has(e)?o.get(e):0;o.set(e,t+1)}else{let e=c.bracketInfo.getOpeningBrackets()[0].bracketText,t=o.has(e)?o.get(e):0;if(--t,o.set(e,Math.max(0,t)),t<0){let t=a.get(e);t||(t=new oe,a.set(e,t)),t.push(c.range)}}i=c.range.getEndPosition()}}static _bracketsLeftYield(t,n,r,i,a,o){let s=new Map,c=Date.now();for(;;){if(n>=e._maxRounds&&a.size===0||!i){t();break}let l=r.bracketPairs.findPrevBracket(i);if(!l){t();break}if(Date.now()-c>e._maxDuration){setTimeout(()=>e._bracketsLeftYield(t,n+1,r,i,a,o));break}if(l.bracketInfo.isOpeningBracket){let t=l.bracketInfo.bracketText,n=s.has(t)?s.get(t):0;if(--n,s.set(t,Math.max(0,n)),n<0){let n=a.get(t);if(n){let i=n.shift();n.size===0&&a.delete(t);let s=J.fromPositions(l.range.getEndPosition(),i.getStartPosition()),c=J.fromPositions(l.range.getStartPosition(),i.getEndPosition());o.push({range:s}),o.push({range:c}),e._addBracketLeading(r,c,o)}}}else{let e=l.bracketInfo.getOpeningBrackets()[0].bracketText,t=s.has(e)?s.get(e):0;s.set(e,t+1)}i=l.range.getStartPosition()}}static _addBracketLeading(e,t,n){if(t.startLineNumber===t.endLineNumber)return;let r=t.startLineNumber,i=e.getLineFirstNonWhitespaceColumn(r);i!==0&&i!==t.startColumn&&(n.push({range:J.fromPositions(new O(r,i),t.getEndPosition())}),n.push({range:J.fromPositions(new O(r,1),t.getEndPosition())}));let a=r-1;if(a>0){let r=e.getLineFirstNonWhitespaceColumn(a);r===t.startColumn&&r!==e.getLineLastNonWhitespaceColumn(a)&&(n.push({range:J.fromPositions(new O(a,r),t.getEndPosition())}),n.push({range:J.fromPositions(new O(a,1),t.getEndPosition())}))}}},lS=class{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){let n=[];for(let r of t){let t=[];n.push(t),this.selectSubwords&&this._addInWordRanges(t,e,r),this._addWordRanges(t,e,r),this._addWhitespaceLine(t,e,r),t.push({range:e.getFullModelRange()})}return n}_addInWordRanges(e,t,n){let r=t.getWordAtPosition(n);if(!r)return;let{word:i,startColumn:a}=r,o=n.column-a,s=o,c=o,l=0;for(;s>=0;s--){let e=i.charCodeAt(s);if(s!==o&&(e===95||e===45)||Ba(e)&&bo(l))break;l=e}for(s+=1;c<i.length;c++){let e=i.charCodeAt(c);if(bo(e)&&Ba(l)||e===95||e===45)break;l=e}s<c&&e.push({range:new J(n.lineNumber,a+s,n.lineNumber,a+c)})}_addWordRanges(e,t,n){let r=t.getWordAtPosition(n);r&&e.push({range:new J(n.lineNumber,r.startColumn,n.lineNumber,r.endColumn)})}_addWhitespaceLine(e,t,n){t.getLineLength(n.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(n.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(n.lineNumber)===0&&e.push({range:new J(n.lineNumber,1,n.lineNumber,t.getLineMaxColumn(n.lineNumber))})}},uS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dS=function(e,t){return function(n,r){t(n,r,e)}},fS,pS=class e{constructor(e,t){this.index=e,this.ranges=t}mov(t){let n=this.index+(t?1:-1);if(n<0||n>=this.ranges.length)return this;let r=new e(n,this.ranges);return r.ranges[n].equalsRange(this.ranges[this.index])?r.mov(t):r}},mS=class{static{fS=this}static{this.ID=`editor.contrib.smartSelectController`}static get(e){return e.getContribution(fS.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(e){if(!this._editor.hasModel())return;let t=this._editor.getSelections(),n=this._editor.getModel();if(this._state||await vS(this._languageFeaturesService.selectionRangeProvider,n,t.map(e=>e.getPosition()),this._editor.getOption(129),w.None).then(e=>{if(da(e)&&e.length===t.length&&this._editor.hasModel()&&De(this._editor.getSelections(),t,(e,t)=>e.equalsSelection(t))){for(let n=0;n<e.length;n++)e[n]=e[n].filter(e=>e.containsPosition(t[n].getStartPosition())&&e.containsPosition(t[n].getEndPosition())),e[n].unshift(t[n]);this._state=e.map(e=>new pS(0,e)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(t=>t.mov(e));let r=this._state.map(e=>P.fromPositions(e.ranges[e.index].getStartPosition(),e.ranges[e.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};mS=fS=uS([dS(1,q)],mS);var hS=class extends B{constructor(e,t){super(t),this._forward=e}async run(e,t){let n=mS.get(t);n&&await n.run(this._forward)}},gS=class extends hS{constructor(){super(!0,{id:`editor.action.smartSelect.expand`,label:z(1469,`Expand Selection`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`1_basic`,title:K(1467,`&&Expand Selection`),order:2}})}};R.registerCommandAlias(`editor.action.smartSelect.grow`,`editor.action.smartSelect.expand`);var _S=class extends hS{constructor(){super(!1,{id:`editor.action.smartSelect.shrink`,label:z(1470,`Shrink Selection`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:N.MenubarSelectionMenu,group:`1_basic`,title:K(1468,`&&Shrink Selection`),order:3}})}};D(mS.ID,mS,4),y(gS),y(_S);async function vS(e,t,n,r,i){let a=e.all(t).concat(new lS(r.selectSubwords));a.length===1&&a.unshift(new cS);let o=[],s=[];for(let e of a)o.push(Promise.resolve(e.provideSelectionRanges(t,n,i)).then(e=>{if(da(e)&&e.length===n.length)for(let t=0;t<n.length;t++){s[t]||(s[t]=[]);for(let r of e[t])J.isIRange(r.range)&&J.containsPosition(r.range,n[t])&&s[t].push(J.lift(r.range))}},qr));return await Promise.all(o),s.map(e=>{if(e.length===0)return[];e.sort((e,t)=>O.isBefore(e.getStartPosition(),t.getStartPosition())?1:O.isBefore(t.getStartPosition(),e.getStartPosition())||O.isBefore(e.getEndPosition(),t.getEndPosition())?-1:+!!O.isBefore(t.getEndPosition(),e.getEndPosition()));let n=[],i;for(let t of e)(!i||J.containsRange(t,i)&&!J.equalsRange(t,i))&&(n.push(t),i=t);if(!r.selectLeadingAndTrailingWhitespace)return n;let a=[n[0]];for(let e=1;e<n.length;e++){let r=n[e-1],i=n[e];if(i.startLineNumber!==r.startLineNumber||i.endLineNumber!==r.endLineNumber){let e=new J(r.startLineNumber,t.getLineFirstNonWhitespaceColumn(r.startLineNumber),r.endLineNumber,t.getLineLastNonWhitespaceColumn(r.endLineNumber));e.containsRange(r)&&!e.equalsRange(r)&&i.containsRange(e)&&!i.equalsRange(e)&&a.push(e);let n=new J(r.startLineNumber,1,r.endLineNumber,t.getLineMaxColumn(r.endLineNumber));n.containsRange(r)&&!n.equalsRange(e)&&i.containsRange(n)&&!i.equalsRange(n)&&a.push(n)}a.push(i)}return a})}R.registerCommand(`_executeSelectionRangeProvider`,async function(e,...t){let[n,r]=t;ti(me.isUri(n)),ti(ya(r,e=>O.isIPosition(e)));let i=e.get(q).selectionRangeProvider,a=await e.get(Sn).createModelReference(n);try{return vS(i,a.object.textEditorModel,r.map(O.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},w.None)}finally{a.dispose()}});var Q={Visible:Ou,HasFocusedSuggestion:new W(`suggestWidgetHasFocusedSuggestion`,!1,K(1525,`Whether any suggestion is focused`)),DetailsVisible:new W(`suggestWidgetDetailsVisible`,!1,K(1526,`Whether suggestion details are visible`)),DetailsFocused:new W(`suggestWidgetDetailsFocused`,!1,K(1527,`Whether the details pane of the suggest widget has focus`)),MultipleSuggestions:new W(`suggestWidgetMultipleSuggestions`,!1,K(1528,`Whether there are multiple suggestions to pick from`)),MakesTextEdit:new W(`suggestionMakesTextEdit`,!0,K(1529,`Whether inserting the current suggestion yields in a change or has everything already been typed`)),AcceptSuggestionsOnEnter:new W(`acceptSuggestionOnEnter`,!0,K(1530,`Whether suggestions are inserted when pressing Enter`)),HasInsertAndReplaceRange:new W(`suggestionHasInsertAndReplaceRange`,!1,K(1531,`Whether the current suggestion has insert and replace behaviour`)),InsertMode:new W(`suggestionInsertMode`,void 0,{type:`string`,description:K(1532,`Whether the default behaviour is to insert or replace`)}),CanResolve:new W(`suggestionCanResolve`,!1,K(1533,`Whether the current suggestion supports to resolve further details`))},yS=new N(`suggestWidgetStatusBar`),bS=class{constructor(e,t,n,r){this.position=e,this.completion=t,this.container=n,this.provider=r,this.isInvalid=!1,this.score=Ye.Default,this.distance=0,this.textLabel=typeof t.label==`string`?t.label:t.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,J.isIRange(t.range)?(this.editStart=new O(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new O(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new O(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new O(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new O(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new O(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||J.spansMultipleLines(t.range.insert)||J.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!=`function`&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration===void 0?-1:this._resolveDuration}async resolve(e){if(!this._resolveCache){let t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),n=new Ns(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(e=>{Object.assign(this.completion,e),this._resolveDuration=n.elapsed()},e=>{Xo(e)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}},xS=class e{static{this.default=new e}constructor(e=2,t=new Set,n=new Set,r=new Map,i=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=n,this.providerItemsToReuse=r,this.showDeprecated=i}},SS=class{constructor(e,t,n,r){this.items=e,this.needsClipboard=t,this.durations=n,this.disposable=r}};async function CS(e,t,n,r=xS.default,i={triggerKind:0},a=w.None){let o=new Ns;n=n.clone();let s=t.getWordAtPosition(n),c=s?new J(n.lineNumber,s.startColumn,n.lineNumber,s.endColumn):J.fromPositions(n),l={replace:c,insert:c.setEndPosition(n.lineNumber,n.column)},u=[],d=new v,f=[],p=!1,m=(e,t,i)=>{let a=!1;if(!t)return a;for(let i of t.suggestions)if(!r.kindFilter.has(i.kind)){if(!r.showDeprecated&&i?.tags?.includes(1))continue;i.range||=l,i.sortText||=typeof i.label==`string`?i.label:i.label.label,!p&&i.insertTextRules&&i.insertTextRules&4&&(p=Tc.guessNeedsClipboard(i.insertText)),u.push(new bS(n,i,t,e)),a=!0}return Ct(t)&&d.add(t),f.push({providerName:e._debugDisplayName??`unknown_provider`,elapsedProvider:t.duration??-1,elapsedOverall:i.elapsed()}),a},h=(async()=>{})();for(let o of e.orderedGroups(t)){let e=!1;if(await Promise.all(o.map(async o=>{if(r.providerItemsToReuse.has(o)){let t=r.providerItemsToReuse.get(o);t.forEach(e=>u.push(e)),e||=t.length>0}else if(!(r.providerFilter.size>0&&!r.providerFilter.has(o)))try{let r=new Ns,s=await o.provideCompletionItems(t,n,i,a);e=m(o,s,r)||e}catch(e){qr(e)}})),e||a.isCancellationRequested)break}return await h,a.isCancellationRequested?(d.dispose(),Promise.reject(new Ni)):new SS(u.sort(OS(r.snippetSortOrder)),p,{entries:f,elapsed:o.elapsed()},d)}function wS(e,t){if(e.sortTextLow&&t.sortTextLow){if(e.sortTextLow<t.sortTextLow)return-1;if(e.sortTextLow>t.sortTextLow)return 1}return e.textLabel<t.textLabel?-1:e.textLabel>t.textLabel?1:e.completion.kind-t.completion.kind}function TS(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return-1;if(t.completion.kind===28)return 1}return wS(e,t)}function ES(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===28)return 1;if(t.completion.kind===28)return-1}return wS(e,t)}var DS=new Map;DS.set(0,TS),DS.set(2,ES),DS.set(1,wS);function OS(e){return DS.get(e)}R.registerCommand(`_executeCompletionItemProvider`,async(e,...t)=>{let[n,r,i,a]=t;ti(me.isUri(n)),ti(O.isIPosition(r)),ti(typeof i==`string`||!i),ti(typeof a==`number`||!a);let{completionProvider:o}=e.get(q),s=await e.get(Sn).createModelReference(n);try{let e={incomplete:!1,suggestions:[]},t=[],n=s.object.textEditorModel.validatePosition(r),c=await CS(o,s.object.textEditorModel,n,void 0,{triggerCharacter:i??void 0,triggerKind:+!!i});for(let n of c.items)t.length<(a??0)&&t.push(n.resolve(w.None)),e.incomplete=e.incomplete||n.container.incomplete,e.suggestions.push(n.completion);try{return await Promise.all(t),e}finally{setTimeout(()=>c.disposable.dispose(),100)}}finally{s.dispose()}});function kS(e,t){e.getContribution(`editor.contrib.suggestController`)?.triggerSuggest(new Set().add(t),void 0,!0)}var AS=class{static isAllOff(e){return e.other===`off`&&e.comments===`off`&&e.strings===`off`}static isAllOn(e){return e.other===`on`&&e.comments===`on`&&e.strings===`on`}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}};function jS(e,t=No){return n(e,t)?e.charAt(0).toUpperCase()+e.slice(1):e}var MS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},NS=function(e,t){return function(n,r){t(n,r,e)}},PS=class{constructor(e){this._delegates=e}resolve(e){for(let t of this._delegates){let n=t.resolve(e);if(n!==void 0)return n}}},FS=class{constructor(e,t,n,r){this._model=e,this._selection=t,this._selectionIdx=n,this._overtypingCapturer=r}resolve(e){let{name:t}=e;if(t===`SELECTION`||t===`TM_SELECTED_TEXT`){let t=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!t&&this._overtypingCapturer){let e=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);e&&(t=e.value,n=e.multiline)}if(t&&n&&e.snippet){let n=this._model.getLineContent(this._selection.startLineNumber),r=Tr(n,0,this._selection.startColumn-1),i=r;e.snippet.walk(t=>t!==e&&(t instanceof gc&&(i=Tr(Ur(t.value).pop())),!0));let a=tr(i,r);t=t.replace(/(\r\n|\r|\n)(.*)/g,(e,t,n)=>`${t}${i.substr(a)}${n}`)}return t}if(t===`TM_CURRENT_LINE`)return this._model.getLineContent(this._selection.positionLineNumber);if(t===`TM_CURRENT_WORD`){let e=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return e&&e.word||void 0}if(t===`TM_LINE_INDEX`)return String(this._selection.positionLineNumber-1);if(t===`TM_LINE_NUMBER`)return String(this._selection.positionLineNumber);if(t===`CURSOR_INDEX`)return String(this._selectionIdx);if(t===`CURSOR_NUMBER`)return String(this._selectionIdx+1)}},IS=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){let{name:t}=e;if(t===`TM_FILENAME`)return us(this._model.uri.fsPath);if(t===`TM_FILENAME_BASE`){let e=us(this._model.uri.fsPath),t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}if(t===`TM_DIRECTORY`)return Fn(this._model.uri.fsPath)===`.`?``:this._labelService.getUriLabel(yt(this._model.uri));if(t===`TM_DIRECTORY_BASE`)return Fn(this._model.uri.fsPath)===`.`?``:us(Fn(this._model.uri.fsPath));if(t===`TM_FILEPATH`)return this._labelService.getUriLabel(this._model.uri);if(t===`RELATIVE_FILEPATH`)return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}},LS=class{constructor(e,t,n,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=n,this._spread=r}resolve(e){if(e.name!==`CLIPBOARD`)return;let t=this._readClipboardText();if(t){if(this._spread){let e=t.split(/\r\n|\n|\r/).filter(e=>!i(e));if(e.length===this._selectionCount)return e[this._selectionIdx]}return t}}},RS=class{constructor(e,t,n){this._model=e,this._selection=t,this._languageConfigurationService=n}resolve(e){let{name:t}=e,n=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(n).comments;if(r){if(t===`LINE_COMMENT`)return r.lineCommentToken||void 0;if(t===`BLOCK_COMMENT_START`)return r.blockCommentStartToken||void 0;if(t===`BLOCK_COMMENT_END`)return r.blockCommentEndToken||void 0}}};RS=MS([NS(2,os)],RS);var zS=class e{constructor(){this._date=new Date}static{this.dayNames=[K(1476,`Sunday`),K(1477,`Monday`),K(1478,`Tuesday`),K(1479,`Wednesday`),K(1480,`Thursday`),K(1481,`Friday`),K(1482,`Saturday`)]}static{this.dayNamesShort=[K(1483,`Sun`),K(1484,`Mon`),K(1485,`Tue`),K(1486,`Wed`),K(1487,`Thu`),K(1488,`Fri`),K(1489,`Sat`)]}static{this.monthNames=[K(1490,`January`),K(1491,`February`),K(1492,`March`),K(1493,`April`),K(1494,`May`),K(1495,`June`),K(1496,`July`),K(1497,`August`),K(1498,`September`),K(1499,`October`),K(1500,`November`),K(1501,`December`)]}static{this.monthNamesShort=[K(1502,`Jan`),K(1503,`Feb`),K(1504,`Mar`),K(1505,`Apr`),K(1506,`May`),K(1507,`Jun`),K(1508,`Jul`),K(1509,`Aug`),K(1510,`Sep`),K(1511,`Oct`),K(1512,`Nov`),K(1513,`Dec`)]}resolve(t){let{name:n}=t;switch(n){case`CURRENT_YEAR`:return String(this._date.getFullYear());case`CURRENT_YEAR_SHORT`:return String(this._date.getFullYear()).slice(-2);case`CURRENT_MONTH`:return String(this._date.getMonth().valueOf()+1).padStart(2,`0`);case`CURRENT_DATE`:return String(this._date.getDate().valueOf()).padStart(2,`0`);case`CURRENT_HOUR`:return String(this._date.getHours().valueOf()).padStart(2,`0`);case`CURRENT_MINUTE`:return String(this._date.getMinutes().valueOf()).padStart(2,`0`);case`CURRENT_SECOND`:return String(this._date.getSeconds().valueOf()).padStart(2,`0`);case`CURRENT_MILLISECOND`:return String(this._date.getMilliseconds().valueOf()).padStart(3,`0`);case`CURRENT_DAY_NAME`:return e.dayNames[this._date.getDay()];case`CURRENT_DAY_NAME_SHORT`:return e.dayNamesShort[this._date.getDay()];case`CURRENT_MONTH_NAME`:return e.monthNames[this._date.getMonth()];case`CURRENT_MONTH_NAME_SHORT`:return e.monthNamesShort[this._date.getMonth()];case`CURRENT_SECONDS_UNIX`:return String(Math.floor(this._date.getTime()/1e3));case`CURRENT_MILLISECONDS_UNIX`:return String(this._date.getTime());case`CURRENT_TIMEZONE_OFFSET`:{let e=this._date.getTimezoneOffset(),t=e>0?`-`:`+`,n=Math.trunc(Math.abs(e/60)),r=n<10?`0`+n:n,i=Math.abs(e)-n*60,a=i<10?`0`+i:i;return t+r+`:`+a}case`CURRENT_TIMEZONE_NAME`:return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}},BS=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;let t=Mt(this._workspaceService.getWorkspace());if(!ua(t)){if(e.name===`WORKSPACE_NAME`)return this._resolveWorkspaceName(t);if(e.name===`WORKSPACE_FOLDER`)return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(c(e))return us(e.uri.path);let t=us(e.configPath.path);return t.endsWith(`code-workspace`)&&(t=t.substr(0,t.length-Kt.length-1)),t}_resoveWorkspacePath(e){if(c(e))return jS(e.uri.fsPath);let t=us(e.configPath.path),n=e.configPath.fsPath;return n.endsWith(t)&&(n=n.substr(0,n.length-t.length-1)),n?jS(n):`/`}},VS=class{resolve(e){let{name:t}=e;if(t===`RANDOM`)return Math.random().toString().slice(-6);if(t===`RANDOM_HEX`)return Math.random().toString(16).slice(-6);if(t===`UUID`)return r()}},HS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},US=function(e,t){return function(n,r){t(n,r,e)}},WS,GS=class e{static{this._decor={active:F.register({description:`snippet-placeholder-1`,stickiness:0,className:`snippet-placeholder`}),inactive:F.register({description:`snippet-placeholder-2`,stickiness:1,className:`snippet-placeholder`}),activeFinal:F.register({description:`snippet-placeholder-3`,stickiness:1,className:`finish-snippet-placeholder`}),inactiveFinal:F.register({description:`snippet-placeholder-4`,stickiness:1,className:`finish-snippet-placeholder`})}}constructor(e,t,n){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=n,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=ve(t.placeholders,vc.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw Error(`Snippet not initialized!`);if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;let t=this._editor.getModel();this._editor.changeDecorations(n=>{for(let r of this._snippet.placeholders){let i=this._snippet.offset(r),a=this._snippet.fullLen(r),o=J.fromPositions(t.getPositionAt(this._offset+i),t.getPositionAt(this._offset+i+a)),s=r.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,c=n.addDecoration(o,s);this._placeholderDecorations.set(r,c)}})}move(t){if(!this._editor.hasModel())return[];this._initDecorations();let n=this._editor.getModel();if(this._placeholderGroupsIdx>=0){let e=[];for(let t of this._placeholderGroups[this._placeholderGroupsIdx])if(t.transform){let r=this._placeholderDecorations.get(t),i=r?n.getDecorationRange(r):null;if(i){let r=n.getValueInRange(i),a=t.transform.resolve(r).split(/\r\n|\r|\n/);for(let e=1;e<a.length;e++)a[e]=n.normalizeIndentation(this._snippetLineLeadingWhitespace+a[e]);e.push(_.replace(i,a.join(n.getEOL())))}}e.length>0&&this._editor.executeEdits(`snippet.placeholderTransform`,e)}let r=!1;t===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,r=!0):t===!1&&this._placeholderGroupsIdx>0&&(--this._placeholderGroupsIdx,r=!0);let i=n.changeDecorations(t=>{let i=new Set,a=[];for(let o of this._placeholderGroups[this._placeholderGroupsIdx]){let s=this._placeholderDecorations.get(o),c=s?n.getDecorationRange(s):null;if(r&&=this._hasPlaceholderBeenCollapsed(o),s&&c){a.push(new P(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn)),t.changeDecorationOptions(s,o.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(o);for(let n of this._snippet.enclosingPlaceholders(o)){let r=this._placeholderDecorations.get(n);r&&(t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.activeFinal:e._decor.active),i.add(n))}}}for(let[n,r]of this._placeholderDecorations)i.has(n)||t.changeDecorationOptions(r,n.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive);return a});return r?this.move(t):i??[]}_hasPlaceholderBeenCollapsed(e){let t=this._editor.getModel(),n=e;for(;n;){if(n instanceof vc){let e=this._placeholderDecorations.get(n),r=e?t.getDecorationRange(e):null;if((!r||r.isEmpty())&&n.toString().length>0)return!0}n=n.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){let[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){let e=new Map;for(let t of this._placeholderGroups){let n;for(let r of t){if(r.isFinalTabstop)break;n||(n=[],e.set(r.index,n));let t=this._placeholderDecorations.get(r),i=this._editor.getModel().getDecorationRange(t);if(!i){e.delete(r.index);break}n.push(i)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;let e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!e?.choice)return;let t=this._placeholderDecorations.get(e);if(!t)return;let n=this._editor.getModel().getDecorationRange(t);if(n)return{range:n,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof yc,!e)),e}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(t){let n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(r=>{for(let i of this._placeholderGroups[this._placeholderGroupsIdx]){let a=t.shift();console.assert(a._offset!==-1),console.assert(!a._placeholderDecorations);let o=a._snippet.placeholderInfo.last.index;for(let e of a._snippet.placeholderInfo.all)e.index=e.isFinalTabstop?i.index+(o+1)/this._nestingLevel:i.index+e.index/this._nestingLevel;this._snippet.replace(i,a._snippet.children);let s=this._placeholderDecorations.get(i);r.removeDecoration(s),this._placeholderDecorations.delete(i);for(let t of a._snippet.placeholders){let i=a._snippet.offset(t),o=a._snippet.fullLen(t),s=J.fromPositions(n.getPositionAt(a._offset+i),n.getPositionAt(a._offset+i+o)),c=r.addDecoration(s,e._decor.inactive);this._placeholderDecorations.set(t,c)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=ve(this._snippet.placeholders,vc.compareByIndex)})}_renormalizePlaceholderIndices(){let e=this._snippet.placeholders,t=new Set;for(let n of e)n.isFinalTabstop||t.add(n.index);let n=[...t].sort((e,t)=>e-t),r=new Map;for(let e=0;e<n.length;e++)r.set(n[e],e+1);for(let t of e)t.isFinalTabstop||(t.index=r.get(t.index));this._nestingLevel=1}},KS={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},qS=WS=class{static adjustWhitespace(e,t,n,r,i){let a=e.getLineContent(t.lineNumber),o=Tr(a,0,t.column-1),s;return r.walk(t=>{if(!(t instanceof gc)||t.parent instanceof yc||i&&!i.has(t))return!0;let a=t.value.split(/\r\n|\r|\n/);if(n){let n=r.offset(t);if(n===0)a[0]=e.normalizeIndentation(a[0]);else{s??=r.toString();let t=s.charCodeAt(n-1);(t===10||t===13)&&(a[0]=e.normalizeIndentation(o+a[0]))}for(let t=1;t<a.length;t++)a[t]=e.normalizeIndentation(o+a[t])}let c=a.join(e.getEOL());return c!==t.value&&(t.parent.replace(t,[new gc(c)]),s=void 0),!0}),o}static adjustSelection(e,t,n,r){if(n!==0||r!==0){let{positionLineNumber:i,positionColumn:a}=t,o=a-n,s=a+r,c=e.validateRange({startLineNumber:i,startColumn:o,endLineNumber:i,endColumn:s});t=P.createWithDirection(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,n,r,i,a,o,s,c){let l=[],u=[];if(!e.hasModel())return{edits:l,snippets:u};let d=e.getModel(),f=e.invokeWithinContext(e=>e.get(ge)),p=e.invokeWithinContext(e=>new IS(e.get(zo),d)),m=()=>o,h=d.getValueInRange(WS.adjustSelection(d,e.getSelection(),n,0)),ee=d.getValueInRange(WS.adjustSelection(d,e.getSelection(),0,r)),te=d.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),ne=e.getSelections().map((e,t)=>({selection:e,idx:t})).sort((e,t)=>J.compareRangesUsingStarts(e.selection,t.selection));for(let{selection:o,idx:g}of ne){let re=WS.adjustSelection(d,o,n,0),ie=WS.adjustSelection(d,o,0,r);h!==d.getValueInRange(re)&&(re=o),ee!==d.getValueInRange(ie)&&(ie=o);let ae=o.setStartPosition(re.startLineNumber,re.startColumn).setEndPosition(ie.endLineNumber,ie.endColumn),oe=new Tc().parse(t,!0,i),se=ae.getStartPosition(),ce=WS.adjustWhitespace(d,se,a||g>0&&te!==d.getLineFirstNonWhitespaceColumn(o.positionLineNumber),oe);oe.resolveVariables(new PS([p,new LS(m,g,ne.length,e.getOption(88)===`spread`),new FS(d,o,g,s),new RS(d,o,c),new zS,new BS(f),new VS])),l[g]=_.replace(ae,oe.toString()),l[g].identifier={major:g,minor:0},l[g]._isTracked=!0,u[g]=new GS(e,oe,ce)}return{edits:l,snippets:u}}static createEditsAndSnippetsFromEdits(e,t,n,r,i,a,o){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};let s=[],c=e.getModel(),l=new Tc,u=new wc,d=e.invokeWithinContext(e=>new IS(e.get(zo),c)),f=new zS,p=new BS(e.invokeWithinContext(e=>e.get(ge))),m=new VS,h=()=>i,ee=e.getOption(88)===`spread`,te=t.map((e,t)=>({edit:e,idx:t})).sort((e,t)=>J.compareRangesUsingStarts(e.edit.range,t.edit.range)),ne=0;for(let e=0;e<te.length;e++){let{edit:{range:t,template:n,keepWhitespace:i},idx:g}=te[e];if(e>0){let n=te[e-1].edit.range,r=J.fromPositions(n.getEndPosition(),t.getStartPosition()),i=new gc(c.getValueInRange(r));u.appendChild(i),ne+=i.value.length}let re=new Set;u.walk(e=>(e instanceof Sc&&re.add(e),!0));let ie=l.parseFragment(n,u);WS.adjustWhitespace(c,t.getStartPosition(),i===void 0?r:!i,u,new Set(ie));let ae=P.fromRange(t,0),oe=new PS([d,new LS(h,g,te.length,ee),new FS(c,ae,g,a),new RS(c,ae,o),f,p,m]);u.walk(e=>(e instanceof Sc&&!re.has(e)&&e.resolve(oe),!0));let se=u.toString(),ce=se.slice(ne);ne=se.length;let le=_.replace(t,ce);le.identifier={major:e,minor:0},le._isTracked=!0,s.push(le)}return l.ensureFinalTabstop(u,n,!0),{edits:s,snippets:[new GS(e,u,``)]}}constructor(e,t,n=KS,r){this._editor=e,this._template=t,this._options=n,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){Je(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(` -> `)}"`}insert(e){if(!this._editor.hasModel())return;let{edits:t,snippets:n}=typeof this._template==`string`?WS.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):WS.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=n,this._editor.executeEdits(e??Uo.snippet(),t,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<n.length;e++)n[e].initialize(t[e].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):t.map(e=>P.fromPositions(e.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=KS){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);let{edits:n,snippets:r}=WS.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits(`snippet`,n,e=>{let t=e.filter(e=>!!e.identifier);for(let e=0;e<r.length;e++)r[e].initialize(t[e].textChange);let n=r[0].isTrivialSnippet,i=r.length===this._snippets.reduce((e,t)=>e+t.activePlaceholderCount,0);if(!n&&i){for(let e of this._snippets)e.merge(r);console.assert(r.length===0)}return this._snippets[0].hasPlaceholder&&!n&&i?this._move(void 0):t.map(e=>P.fromPositions(e.range.getEndPosition()))})}next(){let e=this._move(!0);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}prev(){let e=this._move(!1);e.length>0&&(this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition()))}_move(e){let t=[];for(let n of this._snippets){let r=n.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;let e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;let t=new Map;for(let n of this._snippets){let r=n.computePossibleSelections();if(t.size===0)for(let[n,i]of r){i.sort(J.compareRangesUsingStarts);for(let r of e)if(i[0].containsRange(r)){t.set(n,[]);break}}if(t.size===0)return!1;t.forEach((e,t)=>{e.push(...r.get(t))})}e.sort(J.compareRangesUsingStarts);for(let[n,r]of t)if(r.length!==e.length)t.delete(n);else{r.sort(J.compareRangesUsingStarts);for(let i=0;i<r.length;i++)if(!r[i].containsRange(e[i])){t.delete(n);continue}}return t.size>0}};qS=WS=HS([US(3,os)],qS);var JS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},YS=function(e,t){return function(n,r){t(n,r,e)}},XS,ZS={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0},QS=class{static{XS=this}static{this.ID=`snippetController2`}static get(e){return e.getContribution(XS.ID)}static{this.InSnippetMode=new W(`inSnippetMode`,!1,K(1471,`Whether the editor in current in snippet mode`))}static{this.HasNextTabstop=new W(`hasNextTabstop`,!1,K(1472,`Whether there is a next tab stop when in snippet mode`))}static{this.HasPrevTabstop=new W(`hasPrevTabstop`,!1,K(1473,`Whether there is a previous tab stop when in snippet mode`))}static{this.InSnippetChoice=new W(`inSnippetChoice`,!1,K(1474,`Whether the current snippet tab stop is a choice`))}constructor(e,t,n,r,i){this._editor=e,this._logService=t,this._languageFeaturesService=n,this._languageConfigurationService=i,this._inSnippetObservable=$o(this,!1),this._snippetListener=new v,this._modelVersionId=-1,this._inSnippet=XS.InSnippetMode.bindTo(r),this._hasNextTabstop=XS.HasNextTabstop.bindTo(r),this._hasPrevTabstop=XS.HasPrevTabstop.bindTo(r),this._inSnippetChoice=XS.InSnippetChoice.bindTo(r)}dispose(){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,t===void 0?ZS:{...ZS,...t})}catch(t){this.cancel(),this._logService.error(t),this._logService.error(`snippet_error`),this._logService.error(`insert_template=`,e),this._logService.error(`existing_template=`,this._session?this._session._logInfo():`<no_session>`)}}_doInsert(e,t){if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!=`string`&&this.cancel(),this._session?(ti(typeof e==`string`),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new qS(this._editor,e,t,this._languageConfigurationService),this._session.insert(t.reason)),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){let e={_debugDisplayName:`snippetChoiceCompletions`,provideCompletionItems:(e,t)=>{if(!this._session||e!==this._editor.getModel()||!O.equals(this._editor.getPosition(),t))return;let{activeChoice:n}=this._session;if(!n||n.choice.options.length===0)return;let r=e.getValueInRange(n.range),i=!!n.choice.options.find(e=>e.value===r),a=[];for(let e=0;e<n.choice.options.length;e++){let t=n.choice.options[e];a.push({kind:13,label:t.value,insertText:t.value,sortText:`a`.repeat(e+1),range:n.range,filterText:i?`${r}_${t.value}`:void 0,command:{id:`jumpToNextSnippetPlaceholder`,title:K(1475,`Go to next placeholder...`)}})}return{suggestions:a}}},t=this._editor.getModel(),n,r=!1,i=()=>{n?.dispose(),r=!1},a=()=>{r||=(n=this._languageFeaturesService.completionProvider.register({language:t.getLanguageId(),pattern:t.uri.fsPath,scheme:t.uri.scheme,exclusive:!0},e),this._snippetListener.add(n),!0)};this._choiceCompletions={provider:e,enable:a,disable:i}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(e=>e.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId()||!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._inSnippetObservable.set(!0,void 0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0,this._inSnippetChoice.reset();return}let{activeChoice:e}=this._session;!e||!this._choiceCompletions?(this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset()):(this._inSnippetChoice.set(!0),this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{kS(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}get isInSnippetObservable(){return this._inSnippetObservable}};QS=XS=JS([YS(1,Qe),YS(2,q),YS(3,G),YS(4,os)],QS),D(QS.ID,QS,4);var $S=Bt.bindToContribution(QS.get);x(new $S({id:`jumpToNextSnippetPlaceholder`,precondition:L.and(QS.InSnippetMode,QS.HasNextTabstop),handler:e=>e.next(),kbOpts:{weight:130,kbExpr:H.textInputFocus,primary:2}})),x(new $S({id:`jumpToPrevSnippetPlaceholder`,precondition:L.and(QS.InSnippetMode,QS.HasPrevTabstop),handler:e=>e.prev(),kbOpts:{weight:130,kbExpr:H.textInputFocus,primary:1026}})),ci.registerKeybindingRule({id:`jumpToPrevSnippetPlaceholder`,weight:191,when:L.and(QS.InSnippetMode,QS.HasPrevTabstop,QS.InSnippetChoice,H.textInputFocus),primary:1026}),x(new $S({id:`leaveSnippet`,precondition:QS.InSnippetMode,handler:e=>e.cancel(!0),kbOpts:{weight:130,kbExpr:H.textInputFocus,primary:9,secondary:[1033]}})),x(new $S({id:`acceptSnippet`,precondition:QS.InSnippetMode,handler:e=>e.finish()}));var eC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tC=function(e,t){return function(n,r){t(n,r,e)}},nC,rC=class{constructor(e){this.name=e}select(e,t,n){if(n.length===0)return 0;let r=n[0].score[0];for(let e=0;e<n.length;e++){let{score:t,completion:i}=n[e];if(t[0]!==r)break;if(i.preselect)return e}return 0}},iC=class extends rC{constructor(){super(`first`)}memorize(e,t,n){}toJSON(){}fromJSON(){}},aC=class extends rC{constructor(){super(`recentlyUsed`),this._cache=new hi(300,.66),this._seq=0}memorize(e,t,n){let r=`${e.getLanguageId()}/${n.textLabel}`;this._cache.set(r,{touch:this._seq++,type:n.completion.kind,insertText:n.completion.insertText})}select(e,t,n){if(n.length===0)return 0;let r=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(r))return super.select(e,t,n);let i=n[0].score[0],a=-1,o=-1,s=-1;for(let t=0;t<n.length&&n[t].score[0]===i;t++){let r=`${e.getLanguageId()}/${n[t].textLabel}`,i=this._cache.peek(r);if(i&&i.touch>s&&i.type===n[t].completion.kind&&i.insertText===n[t].completion.insertText&&(s=i.touch,o=t),n[t].completion.preselect&&a===-1)return a=t}return o===-1?a===-1?0:a:o}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(let[t,n]of e)n.touch=0,n.type=typeof n.type==`number`?n.type:ai.fromString(n.type),this._cache.set(t,n);this._seq=this._cache.size}},oC=class extends rC{constructor(){super(`recentlyUsedByPrefix`),this._trie=ys.forStrings(),this._seq=0}memorize(e,t,n){let{word:r}=e.getWordUntilPosition(t),i=`${e.getLanguageId()}/${r}`;this._trie.set(i,{type:n.completion.kind,insertText:n.completion.insertText,touch:this._seq++})}select(e,t,n){let{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,n);let i=`${e.getLanguageId()}/${r}`,a=this._trie.get(i);if(a||=this._trie.findSubstr(i),a)for(let e=0;e<n.length;e++){let{kind:t,insertText:r}=n[e].completion;if(t===a.type&&r===a.insertText)return e}return super.select(e,t,n)}toJSON(){let e=[];return this._trie.forEach((t,n)=>e.push([n,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(let[t,n]of e)n.type=typeof n.type==`number`?n.type:ai.fromString(n.type),this._trie.set(t,n)}}},sC=class{static{nC=this}static{this._strategyCtors=new Map([[`recentlyUsedByPrefix`,oC],[`recentlyUsed`,aC],[`first`,iC]])}static{this._storagePrefix=`suggest/memories`}constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new v,this._persistSoon=new Ht(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===ga.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,n){this._withStrategy(e,t).memorize(e,t,n),this._persistSoon.schedule()}select(e,t,n){return this._withStrategy(e,t).select(e,t,n)}_withStrategy(e,t){let n=this._configService.getValue(`editor.suggestSelection`,{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(this._strategy?.name!==n){this._saveState();let e=nC._strategyCtors.get(n)||iC;this._strategy=new e;try{let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=this._storageService.get(`${nC._storagePrefix}/${n}`,e);t&&this._strategy.fromJSON(JSON.parse(t))}catch{}}return this._strategy}_saveState(){if(this._strategy){let e=+!this._configService.getValue(`editor.suggest.shareSuggestSelections`),t=JSON.stringify(this._strategy);this._storageService.store(`${nC._storagePrefix}/${this._strategy.name}`,t,e,1)}}};sC=nC=eC([tC(0,Qt),tC(1,fa)],sC);var cC=Ee(`ISuggestMemories`);ye(cC,sC,1);var lC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},uC=function(e,t){return function(n,r){t(n,r,e)}},dC,fC=class{static{dC=this}static{this.AtEnd=new W(`atEndOfWord`,!1,{type:`boolean`,description:K(1568,`A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled`)})}constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=dC.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}_update(){let e=this._editor.getOption(139)===`on`;if(this._enabled!==e){if(this._enabled=e,this._enabled){let e=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}let e=this._editor.getModel(),t=this._editor.getSelection(),n=e.getWordAtPosition(t.getStartPosition());n?this._ckAtEnd.set(n.endColumn===t.getStartPosition().column&&t.getStartPosition().lineNumber===t.getEndPosition().lineNumber):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&=(this._ckAtEnd.reset(),this._selectionListener.dispose(),void 0)}}};fC=dC=lC([uC(1,G)],fC);var pC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},mC=function(e,t){return function(n,r){t(n,r,e)}},hC,gC=class{static{hC=this}static{this.OtherSuggestions=new W(`hasOtherSuggestions`,!1)}constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=hC.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},n){e.items.length===0||hC._moveIndex(!0,e,t)===t?this.reset():(this._acceptNext=n,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0))}static _moveIndex(e,t,n){let r=n;for(let i=t.items.length;i>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,r!==n&&t.items[r].completion.additionalTextEdits);i--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=hC._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};gC=hC=pC([mC(1,G)],gC);var _C=class{constructor(e,t,n,r){this._disposables=new v,this._disposables.add(n.onDidSuggest(e=>{e.completionModel.items.length===0&&this.reset()})),this._disposables.add(n.onDidCancel(e=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(i=>{if(this._active&&!t.isFrozen()&&n.state!==0){let t=i.charCodeAt(i.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!da(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;let t=new ue;for(let n of e.item.completion.commitCharacters)n.length>0&&t.add(n.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}};function vC(e){return null}var yC=class{static{this.inlineSuggestionVisible=new W(`inlineSuggestionVisible`,!1,K(1249,`Whether an inline suggestion is visible`))}static{this.inlineSuggestionAlternativeActionVisible=new W(`inlineSuggestionAlternativeActionVisible`,!1,K(1250,`Whether an alternative action for the inline suggestion is visible.`))}static{this.inlineSuggestionHasIndentation=new W(`inlineSuggestionHasIndentation`,!1,K(1251,`Whether the inline suggestion starts with whitespace`))}static{this.inlineSuggestionHasIndentationLessThanTabSize=new W(`inlineSuggestionHasIndentationLessThanTabSize`,!0,K(1252,`Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab`))}static{this.suppressSuggestions=new W(`inlineSuggestionSuppressSuggestions`,void 0,K(1253,`Whether suggestions should be suppressed for the current suggestion`))}static{this.cursorBeforeGhostText=new W(`cursorBeforeGhostText`,!1,K(1254,`Whether the cursor is at ghost text`))}static{this.cursorInIndentation=new W(`cursorInIndentation`,!1,K(1255,`Whether the cursor is in indentation`))}static{this.hasSelection=new W(`editor.hasSelection`,!1,K(1256,`Whether the editor has a selection`))}static{this.cursorAtInlineEdit=new W(`cursorAtInlineEdit`,!1,K(1257,`Whether the cursor is at an inline edit`))}static{this.inlineEditVisible=new W(`inlineEditIsVisible`,!1,K(1258,`Whether an inline edit is visible`))}static{this.tabShouldJumpToInlineEdit=new W(`tabShouldJumpToInlineEdit`,!1,K(1259,`Whether tab should jump to an inline edit.`))}static{this.tabShouldAcceptInlineEdit=new W(`tabShouldAcceptInlineEdit`,!1,K(1260,`Whether tab should accept the inline edit.`))}static{this.inInlineEditsPreviewEditor=new W(`inInlineEditsPreviewEditor`,!0,K(1261,`Whether the current code editor is showing an inline edits preview`))}},bC=class e{constructor(t,n,r,i,a,o,s=wt.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=i,this._options=a,this._refilterKind=1,this._lineContext=r,this._fuzzyScoreOptions=s,o===`top`?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:o===`bottom`&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();let e=new Set;for(let[t,n]of this.getItemsByProvider())n.length>0&&n[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;let e=[],{leadingLineContent:t,characterCountDelta:n}=this._lineContext,r=``,i=``,a=this._refilterKind===1?this._items:this._filteredItems,o=[],s=!this._options.filterGraceful||a.length>2e3?br:fr;for(let c=0;c<a.length;c++){let l=a[c];if(l.isInvalid)continue;let u=this._itemsByProvider.get(l.provider);u?u.push(l):this._itemsByProvider.set(l.provider,[l]);let d=l.position.column-l.editStart.column,f=d+n-(l.position.column-this._column);if(r.length!==f&&(r=f===0?``:t.slice(-f),i=r.toLowerCase()),l.word=r,f===0)l.score=Ye.Default;else{let e=0;for(;e<d;){let t=r.charCodeAt(e);if(t===32||t===9)e+=1;else break}if(e>=f)l.score=Ye.Default;else if(typeof l.completion.filterText==`string`){let t=s(r,i,e,l.completion.filterText,l.filterTextLow,0,this._fuzzyScoreOptions);if(!t)continue;xt(l.completion.filterText,l.textLabel)===0?l.score=t:(l.score=po(r,i,e,l.textLabel,l.labelLow,0),l.score[0]=t[0])}else{let t=s(r,i,e,l.textLabel,l.labelLow,0,this._fuzzyScoreOptions);if(!t)continue;l.score=t}}l.idx=c,l.distance=this._wordDistance.distance(l.position,l.completion),o.push(l),e.push(l.textLabel.length)}this._filteredItems=o.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?ia(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:+(e.idx>t.idx)}static _compareCompletionItemsSnippetsDown(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return 1;if(n.completion.kind===28)return-1}return e._compareCompletionItems(t,n)}static _compareCompletionItemsSnippetsUp(t,n){if(t.completion.kind!==n.completion.kind){if(t.completion.kind===28)return-1;if(n.completion.kind===28)return 1}return e._compareCompletionItems(t,n)}},xC=class e{static{this.None=new class extends e{distance(){return 0}}}static async create(t,n){if(!n.getOption(134).localityBonus||!n.hasModel())return e.None;let r=n.getModel(),i=n.getPosition();if(!t.canComputeWordRanges(r.uri))return e.None;let[a]=await new cS().provideSelectionRanges(r,[i]);if(a.length===0)return e.None;let o=await t.computeWordRanges(r.uri,a[0].range);if(!o)return e.None;let s=r.getWordUntilPosition(i);return delete o[s.word],new class extends e{distance(e,t){if(!i.equals(n.getPosition()))return 0;if(t.kind===17)return 2<<20;let r=typeof t.label==`string`?t.label:t.label.label,s=o[r];if(qt(s))return 2<<20;let c=Cn(s,J.fromPositions(e),J.compareRangesUsingStarts),l=c>=0?s[c]:s[Math.max(0,~c-1)],u=a.length;for(let e of a){if(!J.containsRange(e.range,l))break;--u}return u}}}},SC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},CC=function(e,t){return function(n,r){t(n,r,e)}},wC,TC=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;let t=e.getModel(),n=e.getPosition();t.tokenization.tokenizeIfCheap(n.lineNumber);let r=t.getWordAtPosition(n);return!(!r||r.endColumn!==n.column&&r.startColumn+1!==n.column||!isNaN(Number(r.word)))}constructor(e,t,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=n}};function EC(e,t,n){if(!t.getContextKeyValue(yC.inlineSuggestionVisible.key))return!0;let r=t.getContextKeyValue(yC.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}function DC(e,t,n){if(!t.getContextKeyValue(`inlineSuggestionVisible`))return!0;let r=t.getContextKeyValue(yC.suppressSuggestions.key);return r===void 0?!e.getOption(71).suppressSuggestions:!r}var OC=wC=class{constructor(e,t,n,r,i,a,o,s,c){this._editor=e,this._editorWorkerService=t,this._clipboardService=n,this._telemetryService=r,this._logService=i,this._contextKeyService=a,this._configurationService=o,this._languageFeaturesService=s,this._envService=c,this._toDispose=new v,this._triggerCharacterListener=new v,this._triggerQuickSuggest=new rn,this._triggerState=void 0,this._completionDisposables=new v,this._onDidCancel=new b,this._onDidTrigger=new b,this._onDidSuggest=new b,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new P(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let l=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{l=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{l=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{l||this._onCursorChange(e)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!l&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Je(this._triggerCharacterListener),Je([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._waitForInlineCompletions?.dispose(),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(104)||!this._editor.hasModel()||!this._editor.getOption(137))return;let e=new Map;for(let t of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(let n of t.triggerCharacters||[]){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}let t=t=>{if(!DC(this._editor,this._contextKeyService,this._configurationService)||TC.shouldAutoTrigger(this._editor))return;if(!t){let e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let n=``;Ro(t.charCodeAt(t.length-1))?xi(t.charCodeAt(t.length-2))&&(n=t.substr(t.length-2)):n=t.charAt(t.length-1);let r=e.get(n);if(r){let e=new Map;if(this._completionModel)for(let[t,n]of this._completionModel.getItemsByProvider())r.has(t)||e.set(t,n);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:r,providerItemsToReuse:e}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){this._triggerQuickSuggest.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerState!==void 0&&(this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;let t=this._currentSelection;this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!==`keyboard`&&e.source!==`deleteLeft`?this.cancel():this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){AS.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&QS.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!TC.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;let e=this._editor.getModel(),t=this._editor.getPosition(),n=this._editor.getOption(102);if(AS.isAllOff(n))return;let r=!1;if(!AS.isAllOn(n)){e.tokenization.tokenizeIfCheap(t.lineNumber);let i=e.tokenization.getLineTokens(t.lineNumber),a=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(t.column-1-1,0))),o=AS.valueFor(n,a);if(o===`off`||o===`inline`)return;o===`offWhenInlineCompletions`&&(r=this._languageFeaturesService.inlineCompletionsProvider.has(e)&&this._editor.getOption(71).enabled)}EC(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(e)&&(r?this._waitForInlineCompletionsAndTrigger(e,t):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(e,t){let n=e.getVersionId(),r=vC(this._editor),i=r?.model.get();if(!r||!i){this.trigger({auto:!0});return}if(i.state.get()?.inlineSuggestion)return;let a=new v;this._waitForInlineCompletions=a;let o=r=>{if(a.dispose(),this._waitForInlineCompletions===a&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!r)return;let i=this._editor.getModel(),o=this._editor.getPosition();i===e&&i.getVersionId()===n&&o?.equals(t)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};Ot(()=>{o(!0),i.stop(`automatic`)},750,a),_s(a,e=>{if(r.model.read(e)!==i){e.dispose(),o(!1);return}let t=i.status.read(e),n=i.state.read(e);(n||t!==`loading`)&&(e.dispose(),o(!n))})}_refilterCompletionItems(){ti(this._editor.hasModel()),ti(this._triggerState!==void 0);let e=new TC(this._editor.getModel(),this._editor.getPosition(),{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(e){if(!this._editor.hasModel())return;let t=this._editor.getModel(),n=new TC(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=n;let r={triggerKind:e.triggerKind??0};e.triggerCharacter&&(r={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new ha;let i=this._editor.getOption(128),a=1;switch(i){case`top`:a=0;break;case`bottom`:a=2}let{itemKind:o,showDeprecated:s}=wC.createSuggestFilter(this._editor),c=new xS(a,e.completionOptions?.kindFilter??o,e.completionOptions?.providerFilter,e.completionOptions?.providerItemsToReuse,s),l=xC.create(this._editorWorkerService,this._editor),u=CS(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),c,r,this._requestToken.token);Promise.all([u,l]).then(async([t,n])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){t.disposable.dispose();return}let r=e?.clipboardText;if(!r&&t.needsClipboard&&(r=await this._clipboardService.readText()),this._triggerState===void 0){t.disposable.dispose();return}let i=new TC(this._editor.getModel(),this._editor.getPosition(),e),a={...wt.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new bC(t.items,this._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:i.column-this._context.column},n,this._editor.getOption(134),this._editor.getOption(128),a,r),this._completionDisposables.add(t.disposable),this._onNewContext(i),this._reportDurationsTelemetry(t.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(let e of t.items)e.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${e.provider._debugDisplayName}`,e.completion)}).catch(Y)}_reportDurationsTelemetry(e){Math.random()>1e-4||setTimeout(()=>{this._telemetryService.publicLog2(`suggest.durations.json`,{data:JSON.stringify(e)}),this._logService.debug(`suggest.durations.json`,e)})}static createSuggestFilter(e){let t=new Set;e.getOption(128)===`none`&&t.add(28);let n=e.getOption(134);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(28),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber)this.cancel();else if(Tr(e.leadingLineContent)!==Tr(this._context.leadingLineContent))this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();else if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(TC.shouldAutoTrigger(this._editor)&&this._context){let e=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:e}})}}else if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){let e=new Map,t=new Set;for(let[n,r]of this._completionModel.getItemsByProvider())r.length>0&&r[0].container.incomplete?t.add(n):e.set(n,r);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:t,providerItemsToReuse:e}})}else{let t=this._completionModel.lineContext,n=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){let r=TC.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto||(this._completionModel.lineContext=t,n=this._completionModel.items.length>0,n&&e.leadingWord.word.length===0)){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:n})}}}}};OC=wC=SC([CC(1,Ga),CC(2,On),CC(3,Pa),CC(4,Qe),CC(5,G),CC(6,fa),CC(7,q),CC(8,we)],OC);var kC=class e{static{this._maxSelectionLength=51200}constructor(t,n){this._disposables=new v,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType(()=>{if(this._locked||!t.hasModel())return;let n=t.getSelections(),r=n.length,i=!1;for(let e=0;e<r;e++)if(!n[e].isEmpty()){i=!0;break}if(!i){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];let a=t.getModel();for(let t=0;t<r;t++){let r=n[t];if(a.getValueLengthInRange(r)>e._maxSelectionLength)return;this._lastOvertyped[t]={value:a.getValueInRange(r),multiline:r.startLineNumber!==r.endLineNumber}}})),this._disposables.add(n.onDidTrigger(e=>{this._locked=!0})),this._disposables.add(n.onDidCancel(e=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}},AC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jC=function(e,t){return function(n,r){t(n,r,e)}},MC=class{constructor(e,t,n,r,i,a){this._menuId=t,this._menuService=i,this._contextKeyService=a,this._menuDisposables=new v,this.element=A(e,C(`.suggest-status-bar`));let o=(e=>n?.showIconsNoKeybindings?e instanceof Ua?r.createInstance(xo,e,void 0):void 0:e instanceof Ua?r.createInstance(ta,e,{useComma:!1}):void 0);this._leftActions=new Va(this.element,{actionViewItemProvider:o}),this._rightActions=new Va(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add(`left`),this._rightActions.domNode.classList.add(`right`)}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){let e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{let t=[],n=[];for(let[r,i]of e.getActions())r===`left`?t.push(...i):n.push(...i);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};MC=AC([jC(3,k),jC(4,Yi),jC(5,G)],MC);var NC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},PC=function(e,t){return function(n,r){t(n,r,e)}};function FC(e){return!!e&&!!(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}var IC=class{constructor(e,t,n){this._editor=e,this._themeService=t,this._markdownRendererService=n,this._onDidClose=new b,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new b,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new v,this._renderDisposeable=new v,this._size=new V(330,0),this.domNode=C(`.suggest-details`),this.domNode.classList.add(`no-docs`),this._body=C(`.body`),this._scrollbar=new Lo(this._body,{alwaysConsumeMouseWheel:!0}),A(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=A(this._body,C(`.header`)),this._close=A(this._header,C(`span`+M.asCSSSelector(X.close))),this._close.title=K(1563,`Close`),this._close.ariaLabel=K(1564,`Close`),this._close.role=`button`,this._close.tabIndex=-1,this._type=A(this._header,C(`p.type`)),this._docs=A(this._body,C(`p.docs`)),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(59)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){let e=this._editor.getOptions(),t=e.get(59),n=t.getMassagedFontFamily(),r=e.get(135)||t.fontSize,i=e.get(136)||t.lineHeight,a=t.fontWeight,o=`${r}px`,s=`${i}px`;this.domNode.style.fontSize=o,this.domNode.style.lineHeight=`${i/r}`,this.domNode.style.fontWeight=a,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=n,this._close.style.height=s,this._close.style.width=s}getLayoutInfo(){let e=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,t=Ja(this._themeService.getColorTheme().type)?2:1;return{lineHeight:e,borderWidth:t,borderHeight:t*2,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=K(1565,`Loading...`),this._docs.textContent=``,this.domNode.classList.remove(`no-docs`,`no-type`),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){this._renderDisposeable.clear();let{detail:n,documentation:r}=e.completion;if(t){let t=``;t+=`score: ${e.score[0]}\n`,t+=`prefix: ${e.word??`(no prefix)`}\n`,t+=`word: ${e.completion.filterText?e.completion.filterText+` (filterText)`:e.textLabel}\n`,t+=`distance: ${e.distance} (localityBonus-setting)\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||`label`}\n`,t+=`commit_chars: ${e.completion.commitCharacters?.join(``)}\n`,r=new Xn().appendCodeblock(`empty`,t),n=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!FC(e))this.clearContents();else{if(this.domNode.classList.remove(`no-docs`,`no-type`),n){let e=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=e,this._type.title=e,to(this._type),this._type.classList.toggle(`auto-wrap`,!/\r?\n^\s+/gim.test(e))}else Ze(this._type),this._type.title=``,Ra(this._type),this.domNode.classList.add(`no-type`);if(Ze(this._docs),typeof r==`string`)this._docs.classList.remove(`markdown-docs`),this._docs.textContent=r;else if(r){this._docs.classList.add(`markdown-docs`),Ze(this._docs);let e=this._markdownRendererService.render(r,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(e.element),this._renderDisposeable.add(e)}this.domNode.classList.toggle(`detail-and-doc`,!!n&&!!r),this.domNode.style.userSelect=`text`,this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}}clearContents(){this.domNode.classList.add(`no-docs`),this._type.textContent=``,this._docs.textContent=``}get isEmpty(){return this.domNode.classList.contains(`no-docs`)}get size(){return this._size}layout(e,t){let n=new V(e,t);V.equals(n,this._size)||(this._size=n,ka(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};IC=NC([PC(1,Mn),PC(2,sn)],IC);var LC=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new v,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new tg,this._resizable.domNode.classList.add(`suggest-details-container`),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n,r,i=0,a=0;this._disposables.add(this._resizable.onDidWillResize(()=>{n=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(n&&r){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(a=r.width-e.dimension.width,t=!0),e.north&&(i=r.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:n.top+i,left:n.left+a})}e.done&&(n=void 0,r=void 0,i=0,a=0,this._userSize=e.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return`suggest.details`}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||=(this._editor.addOverlayWidget(this),!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){let n=e.getBoundingClientRect();this._anchorBox=n,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,n){let r=vt(this.getDomNode().ownerDocument.body),i=this.widget.getLayoutInfo(),a=new V(220,2*i.lineHeight),o=e.top,s=(function(){let n=r.width-(e.left+e.width+i.borderWidth+i.horizontalPadding),s=-i.borderWidth+e.left+e.width,c=new V(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),c=(function(){let n=e.left-i.borderWidth-i.horizontalPadding,s=Math.max(i.horizontalPadding,e.left-t.width-i.borderWidth),c=new V(n,r.height-e.top-i.borderHeight-i.verticalPadding),l=c.with(void 0,e.top+e.height-i.borderHeight-i.verticalPadding);return{top:o,left:s,fit:n-t.width,maxSizeTop:c,maxSizeBottom:l,minSize:a.with(Math.min(n,a.width))}})(),l=(function(){let n=e.left,o=-i.borderWidth+e.top+e.height,s=new V(e.width-i.borderHeight,r.height-e.top-e.height-i.verticalPadding);return{top:o,left:n,fit:s.height-t.height,maxSizeBottom:s,maxSizeTop:s,minSize:a.with(s.width)}})(),u=(function(){let n=e.left,r=new V(e.width-i.borderHeight,e.top-i.verticalPadding);return{top:Math.max(i.verticalPadding,e.top-t.height),left:n,fit:r.height-t.height,maxSizeTop:r,maxSizeBottom:r,minSize:a.with(r.width)}})(),d=[s,c,n?l:u],f=d.find(e=>e.fit>=0)??d.sort((e,t)=>t.fit-e.fit)[0],p=e.top+e.height-i.borderHeight,m,h=t.height,ee=Math.max(f.maxSizeTop.height,f.maxSizeBottom.height);h>ee&&(h=ee);let te;n?h<=f.maxSizeTop.height?(m=!0,te=f.maxSizeTop):(m=!1,te=f.maxSizeBottom):h<=f.maxSizeBottom.height?(m=!1,te=f.maxSizeBottom):(m=!0,te=f.maxSizeTop);let{top:ne,left:g}=f;f===u?ne=e.top-h+i.borderWidth:!m&&h>e.height&&(ne=p-h);let re=this._editor.getDomNode();if(re){let e=re.getBoundingClientRect();ne-=e.top,g-=e.left}this._applyTopLeft({left:g,top:ne}),f===u?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!m,f===s,m,f!==s),this._resizable.minSize=f.minSize,this._resizable.maxSize=te,this._resizable.layout(h,Math.min(te.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}};Ee(`fileService`);var RC;(function(e){e[e.FILE=0]=`FILE`,e[e.FOLDER=1]=`FOLDER`,e[e.ROOT_FOLDER=2]=`ROOT_FOLDER`})(RC||={});var zC=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function BC(e,t,n,r,i){if(M.isThemeIcon(i))return[`codicon-${i.id}`,`predefined-file-icon`];if(me.isUri(i))return[];let a=r===RC.ROOT_FOLDER?[`rootfolder-icon`]:r===RC.FOLDER?[`folder-icon`]:[`file-icon`];if(n){let i;if(n.scheme===xe.data)i=zn.parseMetaData(n).get(zn.META_DATA_LABEL);else{let e=n.path.match(zC);e?(i=HC(e[2].toLowerCase()),e[1]&&a.push(`${HC(e[1].toLowerCase())}-name-dir-icon`)):i=HC(n.authority.toLowerCase())}if(r===RC.ROOT_FOLDER)a.push(`${i}-root-name-folder-icon`);else if(r===RC.FOLDER)a.push(`${i}-name-folder-icon`);else{if(i){if(a.push(`${i}-name-file-icon`),a.push(`name-file-icon`),i.length<=255){let e=i.split(`.`);for(let t=1;t<e.length;t++)a.push(`${e.slice(t).join(`.`)}-ext-file-icon`)}a.push(`ext-file-icon`)}let r=VC(e,t,n);r&&a.push(`${HC(r)}-lang-file-icon`)}}return a}function VC(e,t,n){if(!n)return null;let r=null;if(n.scheme===xe.data){let e=zn.parseMetaData(n).get(zn.META_DATA_MIME);e&&(r=t.getLanguageIdByMimeType(e))}else{let t=e.getModel(n);t&&(r=t.getLanguageId())}return r&&r!==`plaintext`?r:t.guessLanguageIdByFilepathOrFirstLine(n)}function HC(e){return e.replace(/[\s]/g,`/`)}var UC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},WC=function(e,t){return function(n,r){t(n,r,e)}},GC=U(`suggest-more-info`,X.chevronRight,K(1566,`Icon for more information in the suggest widget.`)),KC=new class e{static{this._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/}static{this._regexStrict=RegExp(`^${e._regexRelaxed.source}$`,`i`)}extract(t,n){if(t.textLabel.match(e._regexStrict))return n[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return n[0]=t.completion.detail,!0;if(t.completion.documentation){let r=typeof t.completion.documentation==`string`?t.completion.documentation:t.completion.documentation.value,i=e._regexRelaxed.exec(r);if(i&&(i.index===0||i.index+i[0].length===r.length))return n[0]=i[0],!0}return!1}},qC=class{constructor(e,t,n,r){this._editor=e,this._modelService=t,this._languageService=n,this._themeService=r,this._onDidToggleDetails=new b,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId=`suggestion`}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){let t=new v,n=e;n.classList.add(`show-file-icons`);let r=A(e,C(`.icon`)),i=A(r,C(`span.colorspan`)),a=A(e,C(`.contents`)),o=A(a,C(`.main`)),s=A(o,C(`.icon-label.codicon`)),c=A(o,C(`span.left`)),l=A(o,C(`span.right`)),u=new Jo(c,{supportHighlights:!0,supportIcons:!0});t.add(u);let d=A(c,C(`span.signature-label`)),f=A(c,C(`span.qualifier-label`)),p=A(l,C(`span.details-label`)),m=A(l,C(`span.readMore`+M.asCSSSelector(GC)));return m.title=K(1567,`Read More`),{root:n,left:c,right:l,icon:r,colorspan:i,iconLabel:u,iconContainer:s,parametersLabel:d,qualifierLabel:f,detailsLabel:p,readMore:m,disposables:t,configureFont:()=>{let e=this._editor.getOptions(),t=e.get(59),i=t.getMassagedFontFamily(),a=t.fontFeatureSettings,s=t.fontVariationSettings,c=e.get(135)||t.fontSize,l=e.get(136)||t.lineHeight,u=t.fontWeight,d=t.letterSpacing,f=`${c}px`,p=`${l}px`,h=`${d}px`;n.style.fontSize=f,n.style.fontWeight=u,n.style.letterSpacing=h,o.style.fontFamily=i,o.style.fontFeatureSettings=a,o.style.fontVariationSettings=s,o.style.lineHeight=p,r.style.height=p,r.style.width=p,m.style.height=p,m.style.width=p}}}renderElement(e,t,n){n.configureFont();let{completion:r}=e;n.colorspan.style.backgroundColor=``;let i={labelEscapeNewLines:!0,matches:gt(e.score)},a=[];if(r.kind===19&&KC.extract(e,a))n.icon.className=`icon customcolor`,n.iconContainer.className=`icon hide`,n.colorspan.style.backgroundColor=a[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`;let t=BC(this._modelService,this._languageService,me.from({scheme:`fake`,path:e.textLabel}),RC.FILE),a=BC(this._modelService,this._languageService,me.from({scheme:`fake`,path:r.detail}),RC.FILE);i.extraClasses=t.length>a.length?t:a}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(n.icon.className=`icon hide`,n.iconContainer.className=`icon hide`,i.extraClasses=[BC(this._modelService,this._languageService,me.from({scheme:`fake`,path:e.textLabel}),RC.FOLDER),BC(this._modelService,this._languageService,me.from({scheme:`fake`,path:r.detail}),RC.FOLDER)].flat()):(n.icon.className=`icon hide`,n.iconContainer.className=``,n.iconContainer.classList.add(`suggest-icon`,...M.asClassNameArray(ai.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(i.extraClasses=(i.extraClasses||[]).concat([`deprecated`]),i.matches=[]),n.iconLabel.setLabel(e.textLabel,void 0,i),typeof r.label==`string`?(n.parametersLabel.textContent=``,n.detailsLabel.textContent=JC(r.detail||``),n.root.classList.add(`string-label`)):(n.parametersLabel.textContent=JC(r.label.detail||``),n.detailsLabel.textContent=JC(r.label.description||``),n.root.classList.remove(`string-label`)),this._editor.getOption(134).showInlineDetails?to(n.detailsLabel):Ra(n.detailsLabel),FC(e)?(n.right.classList.add(`can-expand-details`),to(n.readMore),n.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},n.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(n.right.classList.remove(`can-expand-details`),Ra(n.readMore),n.readMore.onmousedown=null,n.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};qC=UC([WC(1,ce),WC(2,Jt),WC(3,Mn)],qC);function JC(e){return e.replace(/\r\n|\r|\n/g,``)}var YC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},XC=function(e,t){return function(n,r){t(n,r,e)}},ZC,QC=T(`editorSuggestWidget.background`,tt,K(1545,`Background color of the suggest widget.`));T(`editorSuggestWidget.border`,Hn,K(1546,`Border color of the suggest widget.`));var $C=T(`editorSuggestWidget.foreground`,Se,K(1547,`Foreground color of the suggest widget.`)),ew=T(`editorSuggestWidget.selectedForeground`,{dark:Ca,light:Ca,hcDark:QC,hcLight:QC},K(1548,`Foreground color of the selected entry in the suggest widget.`));T(`editorSuggestWidget.selectedIconForeground`,{dark:Go,light:Go,hcDark:QC,hcLight:QC},K(1549,`Icon foreground color of the selected entry in the suggest widget.`));var tw=T(`editorSuggestWidget.selectedBackground`,{dark:ii,light:ii,hcDark:$C,hcLight:$C},K(1550,`Background color of the selected entry in the suggest widget.`)),nw=T(`editorSuggestWidget.focusOutline`,St,K(1551,`Outline color of the focused (keyboard-navigated) entry in the suggest widget.`));T(`editorSuggestWidget.highlightForeground`,Gi,K(1552,`Color of the match highlights in the suggest widget.`)),T(`editorSuggestWidget.focusHighlightForeground`,{dark:Aa,light:Aa,hcDark:ew,hcLight:ew},K(1553,`Color of the match highlights in the suggest widget when an item is focused.`)),T(`editorSuggestWidgetStatus.foreground`,a($C,.5),K(1554,`Foreground color of the suggest widget status.`));var rw=class{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof fp}`}restore(){let e=this._service.get(this._key,0)??``;try{let t=JSON.parse(e);if(V.is(t))return V.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}},iw=class{static{ZC=this}static{this.LOADING_MESSAGE=K(1555,`Loading...`)}static{this.NO_SUGGESTIONS_MESSAGE=K(1556,`No suggestions.`)}constructor(e,t,n,r,i){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._loadingTimeout=new Un,this._pendingLayout=new Un,this._pendingShowDetails=new Un,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new rn,this._disposables=new v,this._onDidSelect=new yn,this._onDidFocus=new yn,this._onDidHide=new b,this._onDidShow=new b,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new b,this.element=new tg,this.element.domNode.classList.add(`editor-widget`,`suggest-widget`),this._contentWidget=new aw(this,e),this._persistedSize=new rw(t,e);class a{constructor(e,t,n=!1,r=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=n,this.persistWidth=r}}let o;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),o=new a(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{if(this._resize(e.dimension.width,e.dimension.height),o&&(o.persistHeight=o.persistHeight||!!e.north||!!e.south,o.persistWidth=o.persistWidth||!!e.east||!!e.west),e.done){if(o){let{itemHeight:e,defaultSize:t}=this.getLayoutInfo(),n=Math.round(e/2),{width:r,height:i}=this.element.size;(!o.persistHeight||Math.abs(o.currentSize.height-i)<=n)&&(i=o.persistedSize?.height??t.height),(!o.persistWidth||Math.abs(o.currentSize.width-r)<=n)&&(r=o.persistedSize?.width??t.width),this._persistedSize.store(new V(r,i))}this._contentWidget.unlockPreference(),o=void 0}})),this._messageElement=A(this.element.domNode,C(`.message`)),this._listElement=A(this.element.domNode,C(`.tree`));let s=this._disposables.add(i.createInstance(IC,this.editor));s.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new LC(s,this.editor);let c=()=>this.element.domNode.classList.toggle(`no-icons`,!this.editor.getOption(134).showIcons);c();let l=()=>this.element.domNode.classList.toggle(`fit-width-to-details`,this.editor.getOption(134).fitWidthToDetails);l();let u=i.createInstance(qC,this.editor);this._disposables.add(u),this._disposables.add(u.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Ma(`SuggestWidget`,this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>`suggestion`},[u],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>No?`listitem`:`option`,getWidgetAriaLabel:()=>K(1557,`Suggest`),getWidgetRole:()=>`listbox`,getAriaLabel:e=>{let t=e.textLabel,n=ai.toLabel(e.completion.kind);if(typeof e.completion.label!=`string`){let{detail:r,description:i}=e.completion.label;r&&i?t=K(1558,`{0} {1}, {2}, {3}`,t,r,i,n):r?t=K(1559,`{0} {1}, {2}`,t,r,n):i&&(t=K(1560,`{0}, {1}, {2}`,t,i,n))}else t=K(1561,`{0}, {1}`,t,n);if(!e.isResolved||!this._isDetailsVisible())return t;let{documentation:r,detail:i}=e.completion,a=lr(`{0}{1}`,i||``,r?typeof r==`string`?r:r.value:``);return K(1562,`{0}, docs: {1}`,t,a)}}}),this._list.style(Ai({listInactiveFocusBackground:tw,listInactiveFocusOutline:nw})),this._status=i.createInstance(MC,this.element.domNode,yS,void 0);let d=()=>this.element.domNode.classList.toggle(`with-status-bar`,this.editor.getOption(134).showStatusBar);d(),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(134)&&(d(),c(),l()),this._completionModel&&(e.hasChanged(59)||e.hasChanged(135)||e.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Q.Visible.bindTo(n),this._ctxSuggestWidgetDetailsVisible=Q.DetailsVisible.bindTo(n),this._ctxSuggestWidgetMultipleSuggestions=Q.MultipleSuggestions.bindTo(n),this._ctxSuggestWidgetHasFocusedSuggestion=Q.HasFocusedSuggestion.bindTo(n),this._ctxSuggestWidgetDetailsFocused=Q.DetailsFocused.bindTo(n);let f=Wi(this._details.widget.domNode);this._disposables.add(f),this._disposables.add(f.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(f.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add(ne(this._details.widget.domNode,`keydown`,e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidHide.dispose(),this._onDidShow.dispose(),this._onDetailsKeydown.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){e.element!==void 0&&e.index!==void 0&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){let n=this._completionModel;n&&(this._onDidSelect.fire({item:e,index:t,model:n}),this.editor.focus())}_onListFocus(e){if(this._ignoreFocusEvents)return;if(this._state===5&&this._setState(3),!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);let t=e.elements[0],n=e.indexes[0];t!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(n),this._currentSuggestionDetails=ot(async e=>{let n=Ot(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),r=e.onCancellationRequested(()=>n.dispose());try{return await t.resolve(e)}finally{n.dispose(),r.dispose()}}),this._currentSuggestionDetails.then(()=>{n>=this._list.length||t!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[t]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove(`docs-side`),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(n)}))}).catch(Y)),this._onDidFocus.fire({item:t,index:n,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle(`frozen`,e===4),this.element.domNode.classList.remove(`message`),e){case 0:Ra(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove(`visible`),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add(`message`),this._messageElement.textContent=ZC.LOADING_MESSAGE,Ra(this._listElement,this._status.element),to(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ni(ZC.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add(`message`),this._messageElement.textContent=ZC.NO_SUGGESTIONS_MESSAGE,Ra(this._listElement,this._status.element),to(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ni(ZC.NO_SUGGESTIONS_MESSAGE);break;case 3:Ra(this._messageElement),to(this._listElement,this._status.element),this._show();break;case 4:Ra(this._messageElement),to(this._listElement,this._status.element),this._show();break;case 5:Ra(this._messageElement),to(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add(`visible`),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout.value=Ot(()=>this._setState(1),t)))}showSuggestions(e,t,n,r,i){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),n&&this._state!==2&&this._state!==0){this._setState(4);return}let a=this._completionModel.items.length,o=a===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(a>1),o)this._setState(r?0:2),this._completionModel=void 0;else{this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(n?4:3),this._list.reveal(t,0,t===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(i?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Wo(yi(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove(`focused`)})}}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._list.setFocus(this._list.getFocus()),this._setState(3)):this._state===3&&(this._setState(5),this._isDetailsVisible()?this._details.widget.focus():this.toggleDetails(!0))}toggleDetails(e=!1){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove(`shows-details`)):(FC(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this._showDetails(!1,e))}_showDetails(e,t){this._pendingShowDetails.value=Wo(yi(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let n=!1;e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add(`shows-details`),t&&(this._details.widget.focus(),n=!0)),n||this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this._showDetails(!1,!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetails.clear(),this._loadingTimeout.clear(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();let e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){e===null?this._isDetailsVisible()&&this._details.hide():this._state!==2&&this._state!==1&&(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){if(!this.editor.hasModel()||!this.editor.getDomNode())return;let t=vt(this.element.domNode.ownerDocument.body),n=this.getLayoutInfo();e||=n.defaultSize;let r=e.height,i=e.width;if(this._status.element.style.height=`${n.itemHeight}px`,this._state===2||this._state===1)r=n.itemHeight+n.borderHeight,i=n.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new V(i,r),this._contentWidget.setPreference(2);else{let a=t.width-n.borderHeight-2*n.horizontalPadding;i>a&&(i=a);let o=this._completionModel?this._completionModel.stats.pLabelLen*n.typicalHalfwidthCharacterWidth:i;if(this.editor.getOption(134).fitWidthToDetails&&this._completionModel&&!this._persistedSize.restore()){let e=Math.min(a,this.editor.getLayoutInfo().width),t=Math.min(e,this._measureContentWidth(n));i=Math.max(i,t),o=Math.max(o,t)}let s=n.statusBarHeight+this._list.contentHeight+n.borderHeight,c=n.itemHeight+n.statusBarHeight,l=ut(this.editor.getDomNode()),u=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),d=l.top+u.top+u.height,f=Math.min(t.height-d-n.verticalPadding,s),p=l.top+u.top-n.verticalPadding,m=Math.min(p,s),h=Math.min(Math.max(m,f)+n.borderHeight,s);r===this._cappedHeight?.capped&&(r=this._cappedHeight.wanted),r<c&&(r=c),r>h&&(r=h),r>f&&m>f||this._forceRenderingAbove&&p>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),h=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),h=f),this.element.preferredSize=new V(o,n.defaultSize.height),this.element.maxSize=new V(a,h),this.element.minSize=new V(220,c),this._cappedHeight=r===s?{wanted:this._cappedHeight?.wanted??e.height,capped:r}:void 0}this._resize(i,r)}_resize(e,t){let{width:n,height:r}=this.element.maxSize;e=Math.min(n,e),t=Math.min(r,t);let{statusBarHeight:i}=this.getLayoutInfo();this._list.layout(t-i,e),this._listElement.style.height=`${t-i}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}_measureContentWidth(e){let t=this._completionModel;if(!t)return 0;if(this._fitContentWidth?.model===t)return this._fitContentWidth.width;this._measureContext===void 0&&(this._measureContext=C(`canvas`).getContext(`2d`));let n;if(this._measureContext){let e=this.editor.getOptions(),r=e.get(59),i=e.get(135)||r.fontSize;this._measureContext.font=`${r.fontWeight} ${i}px ${r.getMassagedFontFamily()}`,n=0;for(let e of t.items){let{completion:t}=e,r=e.textLabel;typeof t.label==`string`?r+=t.detail??``:r+=(t.label.detail??``)+(t.label.description??``),n=Math.max(n,this._measureContext.measureText(r).width)}}else n=t.stats.pLabelLen*e.typicalHalfwidthCharacterWidth;let r=2*e.itemHeight+2*e.horizontalPadding+20,i=n+r;return this._fitContentWidth={model:t,width:i},i}getLayoutInfo(){let e=this.editor.getOption(59),t=Nn(this.editor.getOption(136)||e.lineHeight,8,1e3),n=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.getLayoutInfo().borderWidth;return{itemHeight:t,statusBarHeight:n,borderWidth:r,borderHeight:2*r,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new V(430,n+12*t)}}_isDetailsVisible(){return this._storageService.getBoolean(`expandSuggestionDocs`,0,!1)}_setDetailsVisible(e){this._storageService.store(`expandSuggestionDocs`,e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};iw=ZC=YC([XC(1,Qt),XC(2,G),XC(3,Mn),XC(4,k)],iw);var aw=class{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return`editor.widget.suggestWidget`}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){let{height:e,width:t}=this._widget.element.size,{borderWidth:n,horizontalPadding:r}=this._widget.getLayoutInfo();return new V(t+2*n+r,e+2*n)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}},ow=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sw=function(e,t){return function(n,r){t(n,r,e)}},cw,lw=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=F.register({description:`suggest-line-suffix`,stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){let n=e.getOffsetAt(t),r=e.getPositionAt(n+1);e.changeDecorations(e=>{this._marker&&e.removeDecoration(this._marker),this._marker=e.addDecoration(J.fromPositions(t,r),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){let t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}},uw=class{static{cw=this}static{this.ID=`editor.contrib.suggestController`}static get(e){return e.getContribution(cw.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(e,t,n,r,i,a,o){this._memoryService=t,this._commandService=n,this._contextKeyService=r,this._instantiationService=i,this._logService=a,this._telemetryService=o,this._lineSuffix=new Un,this._toDispose=new v,this._selectors=new dw(e=>e.priority),this._onWillInsertSuggestItem=new b,this._wantsForceRenderingAbove=!1,this.editor=e,this.model=i.createInstance(OC,this.editor),this._selectors.register({priority:0,select:(e,t,n)=>this._memoryService.select(e,t,n)});let s=Q.InsertMode.bindTo(r);s.set(e.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>s.set(e.getOption(134).insertMode))),this.widget=this._toDispose.add(new Fe(yi(e.getDomNode()),()=>{let e=this._instantiationService.createInstance(iw,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));let t=new _C(this.editor,e,this.model,e=>this._insertSuggestion(e,2));this._toDispose.add(t);let n=Q.MakesTextEdit.bindTo(this._contextKeyService),r=Q.HasInsertAndReplaceRange.bindTo(this._contextKeyService),i=Q.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(fo(()=>{n.reset(),r.reset(),i.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{let t=this.editor.getPosition(),a=e.editStart.column,o=t.column,s=!0;this.editor.getOption(1)===`smart`&&this.model.state===2&&!e.completion.additionalTextEdits&&!(e.completion.insertTextRules&4)&&o-a===e.completion.insertText.length&&(s=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:a,endLineNumber:t.lineNumber,endColumn:o})!==e.completion.insertText),n.set(s),r.set(!O.equals(e.editInsertEnd,e.editReplaceEnd)),i.set(!!e.provider.resolveCompletionItem||!!e.completion.documentation||e.completion.detail!==e.completion.label)})),this._wantsForceRenderingAbove&&e.forceRenderingAbove(),e})),this._overtypingCapturer=this._toDispose.add(new Fe(yi(e.getDomNode()),()=>this._toDispose.add(new kC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Fe(yi(e.getDomNode()),()=>this._toDispose.add(new gC(this.editor,this._contextKeyService)))),this._toDispose.add(i.createInstance(fC,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new lw(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(e.triggerOptions.shy)return;let t=-1;for(let n of this._selectors.itemsOrderedByPriorityDesc)if(t=n.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items),t!==-1)break;if(t===-1&&(t=0),this.model.state===0)return;let n=!1;if(e.triggerOptions.auto){let t=this.editor.getOption(134);t.selectionMode===`never`||t.selectionMode===`always`?n=t.selectionMode===`never`:t.selectionMode===`whenTriggerCharacter`?n=e.triggerOptions.triggerKind!==1:t.selectionMode===`whenQuickSuggestion`&&(n=e.triggerOptions.triggerKind===1&&!e.triggerOptions.refilter)}this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.triggerOptions.auto,n)})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let c=Q.AcceptSuggestionsOnEnter.bindTo(r),l=()=>{let e=this.editor.getOption(1);c.set(e===`on`||e===`smart`)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>l())),l()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;let n=QS.get(this.editor);if(!n)return;this._onWillInsertSuggestItem.fire({item:e.item});let r=this.editor.getModel(),i=r.getAlternativeVersionId(),{item:a}=e,o=[],s=new ha;t&1||this.editor.pushUndoStop();let c=this.getOverwriteInfo(a,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),a);let l=a.isResolved,u=-1,d=-1;if(Array.isArray(a.completion.additionalTextEdits)){this.model.cancel();let e=Ci.capture(this.editor);this.editor.executeEdits(`suggestController.additionalTextEdits.sync`,a.completion.additionalTextEdits.map(e=>{let t=J.lift(e.range);if(t.startLineNumber===a.position.lineNumber&&t.startColumn>a.position.column){let e=this.editor.getPosition().column-a.position.column,n=e,r=J.spansMultipleLines(t)?0:e;t=new J(t.startLineNumber,t.startColumn+n,t.endLineNumber,t.endColumn+r)}return _.replaceMove(t,e.text)})),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!l){let e=new Ns,n,i=r.onDidChangeContent(e=>{if(e.isFlush)s.cancel(),i.dispose();else for(let t of e.changes){let e=J.getEndPosition(t.range);(!n||O.isBefore(e,n))&&(n=e)}}),c=t;t|=2;let l=!1,u=this.editor.onWillType(()=>{u.dispose(),l=!0,c&2||this.editor.pushUndoStop()});o.push(a.resolve(s.token).then(()=>{if(!a.completion.additionalTextEdits||s.token.isCancellationRequested)return;if(n&&a.completion.additionalTextEdits.some(e=>O.isBefore(n,J.getStartPosition(e.range))))return!1;l&&this.editor.pushUndoStop();let e=Ci.capture(this.editor);return this.editor.executeEdits(`suggestController.additionalTextEdits.async`,a.completion.additionalTextEdits.map(e=>_.replaceMove(J.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),(l||!(c&2))&&this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace(`[suggest] async resolving of edits DONE (ms, applied?)`,e.elapsed(),t),d=t===!0?1:t===!1?0:-2}).finally(()=>{i.dispose(),u.dispose()}))}let{insertText:f}=a.completion;if(a.completion.insertTextRules&4||(f=Tc.escape(f)),this.model.cancel(),n.insert(f,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(a.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:Uo.suggest({providerId:Ki.fromExtensionId(a.extensionId?.value)})}),t&2||this.editor.pushUndoStop(),a.completion.command){if(a.completion.command.id===fw.id)this.model.trigger({auto:!0,retrigger:!0});else{let e=new Ns;o.push(this._commandService.executeCommand(a.completion.command.id,...a.completion.command.arguments?[...a.completion.command.arguments]:[]).catch(e=>{a.completion.extensionId?qr(e):Y(e)}).finally(()=>{u=e.elapsed()}))}}t&4&&this._alternatives.value.set(e,e=>{for(s.cancel();r.canUndo();){i!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(e,3|(t&8?8:0));break}}),this._alertCompletionItem(a),Promise.all(o).finally(()=>{this._reportSuggestionAcceptedTelemetry(a,r,l,u,d,e.index,e.model.items),this.model.clear(),s.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,n,r,i,a,o){if(Math.random()>1e-4)return;let s=new Map;for(let e=0;e<Math.min(30,o.length);e++){let t=o[e].textLabel;s.has(t)?s.get(t).push(e):s.set(t,[e])}let c=s.get(e.textLabel),l=c&&c.length>1?c[0]:-1;this._telemetryService.publicLog2(`suggest.acceptedSuggestion`,{extensionId:e.extensionId?.value??`unknown`,providerId:e.provider._debugDisplayName??`unknown`,kind:e.completion.kind,basenameHash:Ae($n(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:dt(t.uri),resolveInfo:e.provider.resolveCompletionItem?+!!n:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:i,index:a,firstIndex:l})}getOverwriteInfo(e,t){ti(this.editor.hasModel());let n=this.editor.getOption(134).insertMode===`replace`;t&&(n=!n);let r=e.position.column-e.editStart.column,i=(n?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,a=this.editor.getPosition().column-e.position.column,o=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+a,overwriteAfter:i+o}}_alertCompletionItem(e){if(da(e.completion.additionalTextEdits)){let t=K(1534,`Accepting '{0}' made {1} additional edits`,e.textLabel,e.completion.additionalTextEdits.length);To(t)}}triggerSuggest(e,t,n){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:n?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;let t=this.editor.getPosition(),n=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=e=>{if(e.completion.insertTextRules&4||e.completion.additionalTextEdits)return!0;let t=this.editor.getPosition(),n=e.editStart.column,r=t.column;return r-n!==e.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:n,endLineNumber:t.lineNumber,endColumn:r})!==e.completion.insertText};At.once(this.model.onDidTrigger)(e=>{let t=[];At.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Je(t),n()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(Je(t),e.items.length===0){n();return}let i=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),a=e.items[i];r(a)?(this.editor.pushUndoStop(),this._insertSuggestion({index:i,item:a,model:e},7)):n()},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){let n=this.widget.value.getFocusedItem(),r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(n,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.isInitialized?this.widget.value.forceRenderingAbove():this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){this.widget.isInitialized?this.widget.value.stopForceRenderingAbove():this._wantsForceRenderingAbove=!1}registerSelector(e){return this._selectors.register(e)}};uw=cw=ow([sw(1,cC),sw(2,Mi),sw(3,G),sw(4,k),sw(5,Qe),sw(6,Pa)],uw);var dw=class{constructor(e){this.prioritySelector=e,this._items=[]}register(e){if(this._items.indexOf(e)!==-1)throw Error(`Value is already registered`);return this._items.push(e),this._items.sort((e,t)=>this.prioritySelector(t)-this.prioritySelector(e)),{dispose:()=>{let t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}},fw=class e extends B{static{this.id=`editor.action.triggerSuggest`}constructor(){super({id:e.id,label:z(1543,`Trigger Suggest`),precondition:L.and(H.writable,H.hasCompletionItemProvider,Q.Visible.toNegated()),kbOpts:{kbExpr:H.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,n){let r=uw.get(t);if(!r)return;let i;n&&typeof n==`object`&&n.auto===!0&&(i=!0),r.triggerSuggest(void 0,i,void 0)}};D(uw.ID,uw,2),y(fw);var pw=190,mw=Bt.bindToContribution(uw.get);x(new mw({id:`acceptSelectedSuggestion`,precondition:L.and(Q.Visible,Q.HasFocusedSuggestion),handler(e){e.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:L.and(Q.Visible,H.textInputFocus),weight:pw},{primary:3,kbExpr:L.and(Q.Visible,H.textInputFocus,Q.AcceptSuggestionsOnEnter,Q.MakesTextEdit),weight:pw}],menuOpts:[{menuId:yS,title:K(1535,`Insert`),group:`left`,order:1,when:L.and(Q.HasFocusedSuggestion,Q.HasInsertAndReplaceRange.toNegated())},{menuId:yS,title:K(1536,`Insert`),group:`left`,order:1,when:L.and(Q.HasFocusedSuggestion,Q.HasInsertAndReplaceRange,Q.InsertMode.isEqualTo(`insert`))},{menuId:yS,title:K(1537,`Replace`),group:`left`,order:1,when:L.and(Q.HasFocusedSuggestion,Q.HasInsertAndReplaceRange,Q.InsertMode.isEqualTo(`replace`))}]})),x(new mw({id:`acceptAlternativeSelectedSuggestion`,precondition:L.and(Q.Visible,H.textInputFocus,Q.HasFocusedSuggestion),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:yS,group:`left`,order:2,when:L.and(Q.HasFocusedSuggestion,Q.HasInsertAndReplaceRange,Q.InsertMode.isEqualTo(`insert`)),title:K(1538,`Replace`)},{menuId:yS,group:`left`,order:2,when:L.and(Q.HasFocusedSuggestion,Q.HasInsertAndReplaceRange,Q.InsertMode.isEqualTo(`replace`)),title:K(1539,`Insert`)}]})),R.registerCommandAlias(`acceptSelectedSuggestionOnEnter`,`acceptSelectedSuggestion`),x(new mw({id:`hideSuggestWidget`,precondition:Q.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:9,secondary:[1033]}})),x(new mw({id:`selectNextSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:yS,group:`left`,order:0,when:Q.HasFocusedSuggestion.toNegated(),title:K(1540,`Select`)}})),x(new mw({id:`selectNextPageSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:12,secondary:[2060]}})),x(new mw({id:`selectLastSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectLastSuggestion()})),x(new mw({id:`selectPrevSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),x(new mw({id:`selectPrevPageSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:11,secondary:[2059]}})),x(new mw({id:`selectFirstSuggestion`,precondition:L.and(Q.Visible,L.or(Q.MultipleSuggestions,Q.HasFocusedSuggestion.negate())),handler:e=>e.selectFirstSuggestion()})),x(new mw({id:`focusSuggestion`,precondition:L.and(Q.Visible,Q.HasFocusedSuggestion.negate()),handler:e=>e.focusSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),x(new mw({id:`focusAndAcceptSuggestion`,precondition:L.and(Q.Visible,Q.HasFocusedSuggestion.negate()),handler:e=>{e.focusSuggestion(),e.acceptSelectedSuggestion(!0,!1)}})),x(new mw({id:`toggleSuggestionDetails`,precondition:L.and(Q.Visible,Q.HasFocusedSuggestion),handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:yS,group:`right`,order:1,when:L.and(Q.DetailsVisible,Q.CanResolve),title:K(1541,`Show Less`)},{menuId:yS,group:`right`,order:1,when:L.and(Q.DetailsVisible.toNegated(),Q.CanResolve),title:K(1542,`Show More`)}]})),x(new mw({id:`toggleExplainMode`,precondition:Q.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),x(new mw({id:`toggleSuggestionFocus`,precondition:Q.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:2570,mac:{primary:778}}})),x(new mw({id:`insertBestCompletion`,precondition:L.and(H.textInputFocus,L.equals(`config.editor.tabCompletion`,`on`),fC.AtEnd,Q.Visible.toNegated(),gC.OtherSuggestions.toNegated(),QS.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(li(t)?{fallback:`tab`,...t}:{fallback:`tab`})},kbOpts:{weight:pw,primary:2}})),x(new mw({id:`insertNextSuggestion`,precondition:L.and(H.textInputFocus,L.equals(`config.editor.tabCompletion`,`on`),gC.OtherSuggestions,Q.Visible.toNegated(),QS.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:2}})),x(new mw({id:`insertPrevSuggestion`,precondition:L.and(H.textInputFocus,L.equals(`config.editor.tabCompletion`,`on`),gC.OtherSuggestions,Q.Visible.toNegated(),QS.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:pw,kbExpr:H.textInputFocus,primary:1026}})),x(new class extends Bt{constructor(){super({id:`suggestWidgetCopy`,precondition:Q.DetailsFocused,kbOpts:{weight:200,kbExpr:Q.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(e,t){yi(t.getDomNode()).document.execCommand(`copy`)}}),y(class extends B{constructor(){super({id:`editor.action.resetSuggestSize`,label:z(1544,`Reset Suggest Widget Size`),precondition:void 0})}run(e,t){uw.get(t)?.resetWidgetSize()}}),y(class extends B{constructor(){super({id:`editor.action.forceRetokenize`,label:z(1606,`Developer: Force Retokenize`),precondition:void 0})}run(e,t){if(!t.hasModel())return;let n=t.getModel();n.tokenization.resetTokenization();let r=new Ns;n.tokenization.forceTokenization(n.getLineCount()),r.stop(),console.log(`tokenization took ${r.elapsed()}`)}});var hw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gw=function(e,t){return function(n,r){t(n,r,e)}},_w=26,vw=class extends j{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(yw))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{this.hide(),e.onClose?.()}}),this._editor.setBanner(this.banner.element,_w)}};vw=hw([gw(1,k)],vw);var yw=class extends j{constructor(e,t){super(),this.instantiationService=e,this.markdownRendererService=t,this.element=C(`div.editor-banner`),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message==`string`)return e.message}getBannerMessage(e){if(typeof e==`string`){let t=C(`span`);return t.innerText=e,t}return this.markdownRendererService.render(e).element}clear(){Ze(this.element)}show(e){Ze(this.element);let t=this.getAriaLabel(e);t&&this.element.setAttribute(`aria-label`,t);let n=A(this.element,C(`div.icon-container`));n.setAttribute(`aria-hidden`,`true`),e.icon&&n.appendChild(C(`div${M.asCSSSelector(e.icon)}`));let r=A(this.element,C(`div.message-container`));if(r.setAttribute(`aria-hidden`,`true`),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=A(this.element,C(`div.message-actions-container`)),e.actions)for(let t of e.actions)this._register(this.instantiationService.createInstance(Fc,this.messageActionsContainer,{...t,tabIndex:-1},{}));let i=A(this.element,C(`div.action-container`));this.actionBar=this._register(new Va(i)),this.actionBar.push(this._register(new Yo(`banner.close`,K(1607,`Close Banner`),M.asClassName(Bi),!0,()=>{typeof e.onClose==`function`&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};yw=hw([gw(0,k),gw(1,sn)],yw);var bw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xw=function(e,t){return function(n,r){t(n,r,e)}},Sw=U(`extensions-warning-message`,X.warning,K(1608,`Icon shown with a warning message in the extensions editor.`)),Cw=class extends j{static{this.ID=`editor.contrib.unicodeHighlighter`}constructor(e,t,n,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=n,this._highlighter=null,this._bannerClosed=!1,this._updateState=e=>{if(e&&e.hasMore){if(this._bannerClosed)return;let t=Math.max(e.ambiguousCharacterCount,e.nonBasicAsciiCharacterCount,e.invisibleCharacterCount),n;if(e.nonBasicAsciiCharacterCount>=t)n={message:K(1609,`This document contains many non-basic ASCII unicode characters`),command:new Rw};else if(e.ambiguousCharacterCount>=t)n={message:K(1610,`This document contains many ambiguous unicode characters`),command:new Iw};else if(e.invisibleCharacterCount>=t)n={message:K(1611,`This document contains many invisible unicode characters`),command:new Lw};else throw Error(`Unreachable`);this._bannerController.show({id:`unicodeHighlightBanner`,message:n.message,icon:Sw,actions:[{label:n.command.shortLabel,href:`command:${n.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(vw,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(142),this._register(n.onDidChangeTrust(e=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(142)&&(this._options=e.getOption(142),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&=(this._highlighter.dispose(),null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&=(this._highlighter.dispose(),null),!this._editor.hasModel())return;let e=ww(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(e=>e===!1))return;let t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(e=>e.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(e=>e===`_os`?wn.NumberFormat().value.resolvedOptions().locale:e===`_vscode`?Fa:e)};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new Tw(this._editor,t,this._updateState,this._editorWorkerService):new Ew(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};Cw=bw([xw(1,Ga),xw(2,Te),xw(3,k)],Cw);function ww(e,t){return{nonBasicASCII:t.nonBasicASCII===`inUntrustedWorkspace`?!e:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments===`inUntrustedWorkspace`?!e:t.includeComments,includeStrings:t.includeStrings===`inUntrustedWorkspace`?!e:t.includeStrings,allowedCharacters:t.allowedCharacters,allowedLocales:t.allowedLocales}}var Tw=class extends j{constructor(e,t,n,r){super(),this._editor=e,this._options=t,this._updateState=n,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ht(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);let n=[];if(!t.hasMore)for(let e of t.ranges)n.push({range:e,options:Nw.instance.getDecorationFromOptions(this._options)});this._decorations.set(n)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel();return Yr(t,e)?{reason:Mw(t.getValueInRange(e.range),this._options),inComment:Qo(t,e),inString:Cs(t,e)}:null}};Tw=bw([xw(3,Ga)],Tw);var Ew=class extends j{constructor(e,t,n){super(),this._editor=e,this._options=t,this._updateState=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new Ht(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}let e=this._editor.getVisibleRanges(),t=[],n={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(let t of e){let e=Hi.computeUnicodeHighlights(this._model,this._options,t);for(let t of e.ranges)n.ranges.push(t);n.ambiguousCharacterCount+=n.ambiguousCharacterCount,n.invisibleCharacterCount+=n.invisibleCharacterCount,n.nonBasicAsciiCharacterCount+=n.nonBasicAsciiCharacterCount,n.hasMore=n.hasMore||e.hasMore}if(!n.hasMore)for(let e of n.ranges)t.push({range:e,options:Nw.instance.getDecorationFromOptions(this._options)});this._updateState(n),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;let t=this._editor.getModel(),n=t.getValueInRange(e.range);return Yr(t,e)?{reason:Mw(n,this._options),inComment:Qo(t,e),inString:Cs(t,e)}:null}},Dw=K(1612,`Configure Unicode Highlight Options`),Ow=class{constructor(e,t){this._editor=e,this._markdownRendererService=t,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];let n=this._editor.getModel(),r=this._editor.getContribution(Cw.ID);if(!r)return[];let i=[],a=new Set,o=300;for(let e of t){let t=r.getDecorationInfo(e);if(!t)continue;let s=n.getValueInRange(e.range).codePointAt(0),c=Aw(s),l;switch(t.reason.kind){case 0:l=fn(t.reason.confusableWith)?K(1613,`The character {0} could be confused with the ASCII character {1}, which is more common in source code.`,c,Aw(t.reason.confusableWith.codePointAt(0))):K(1614,`The character {0} could be confused with the character {1}, which is more common in source code.`,c,Aw(t.reason.confusableWith.codePointAt(0)));break;case 1:l=K(1615,`The character {0} is invisible.`,c);break;case 2:l=K(1616,`The character {0} is not a basic ASCII character.`,c)}if(a.has(l))continue;a.add(l);let u={codePoint:s,reason:t.reason,inComment:t.inComment,inString:t.inString},d=K(1617,`Adjust settings`),f=nt(zw.ID,u),p=new Xn(``,!0).appendMarkdown(l).appendText(` `).appendLink(f,d,Dw);i.push(new jg(this,e.range,[p],!1,o++))}return i}renderHoverParts(e,t){return Ig(e,t,this._editor,this._markdownRendererService)}getAccessibleContent(e){return e.contents.map(e=>e.value).join(`
|
|
32
|
+
`)}};Ow=bw([xw(1,sn)],Ow);function kw(e){return`U+${e.toString(16).padStart(4,`0`)}`}function Aw(e){let t=`\`${kw(e)}\``;return Vn.isInvisibleCharacter(e)||(t+=` "${`${jw(e)}`}"`),t}function jw(e){return e===96?"`` ` ``":"`"+String.fromCodePoint(e)+"`"}function Mw(e,t){return Hi.computeUnicodeHighlightReason(e,t)}var Nw=class e{constructor(){this.map=new Map}static{this.instance=new e}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){let n=`${e}${t}`,r=this.map.get(n);return r||(r=F.createDynamic({description:`unicode-highlight`,stickiness:1,className:`unicode-highlight`,showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(n,r)),r}},Pw=class extends B{constructor(){super({id:Iw.ID,label:z(1626,`Disable highlighting of characters in comments`),precondition:void 0}),this.shortLabel=K(1618,`Disable Highlight In Comments`)}async run(e,t){let n=e.get(fa);n&&this.runAction(n)}async runAction(e){await e.updateValue(Wt.includeComments,!1,2)}},Fw=class extends B{constructor(){super({id:Iw.ID,label:z(1627,`Disable highlighting of characters in strings`),precondition:void 0}),this.shortLabel=K(1619,`Disable Highlight In Strings`)}async run(e,t){let n=e.get(fa);n&&this.runAction(n)}async runAction(e){await e.updateValue(Wt.includeStrings,!1,2)}},Iw=class e extends ho{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters`}constructor(){super({id:e.ID,title:z(1628,`Disable highlighting of ambiguous characters`),precondition:void 0,f1:!1}),this.shortLabel=K(1620,`Disable Ambiguous Highlight`)}async run(e,t){let n=e.get(fa);n&&this.runAction(n)}async runAction(e){await e.updateValue(Wt.ambiguousCharacters,!1,2)}},Lw=class e extends ho{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters`}constructor(){super({id:e.ID,title:z(1629,`Disable highlighting of invisible characters`),precondition:void 0,f1:!1}),this.shortLabel=K(1621,`Disable Invisible Highlight`)}async run(e,t){let n=e.get(fa);n&&this.runAction(n)}async runAction(e){await e.updateValue(Wt.invisibleCharacters,!1,2)}},Rw=class e extends ho{static{this.ID=`editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters`}constructor(){super({id:e.ID,title:z(1630,`Disable highlighting of non basic ASCII characters`),precondition:void 0,f1:!1}),this.shortLabel=K(1622,`Disable Non ASCII Highlight`)}async run(e,t){let n=e.get(fa);n&&this.runAction(n)}async runAction(e){await e.updateValue(Wt.nonBasicASCII,!1,2)}},zw=class e extends ho{static{this.ID=`editor.action.unicodeHighlight.showExcludeOptions`}constructor(){super({id:e.ID,title:z(1631,`Show Exclude Options`),precondition:void 0,f1:!1})}async run(e,t){let{codePoint:n,reason:r,inString:i,inComment:a}=t,o=String.fromCodePoint(n),s=e.get(ee),c=e.get(fa);function l(e){return Vn.isInvisibleCharacter(e)?K(1623,`Exclude {0} (invisible character) from being highlighted`,kw(e)):K(1624,`Exclude {0} from being highlighted`,`${kw(e)} "${o}"`)}let u=[];if(r.kind===0)for(let e of r.notAmbiguousInLocales)u.push({label:K(1625,`Allow unicode characters that are more common in the language "{0}".`,e),run:async()=>{Vw(c,[e])}});if(u.push({label:l(n),run:()=>Bw(c,[n])}),a){let e=new Pw;u.push({label:e.label,run:async()=>e.runAction(c)})}else if(i){let e=new Fw;u.push({label:e.label,run:async()=>e.runAction(c)})}function d(e){return typeof e.desc.title==`string`?e.desc.title:e.desc.title.value}if(r.kind===0){let e=new Iw;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===1){let e=new Lw;u.push({label:d(e),run:async()=>e.runAction(c)})}else if(r.kind===2){let e=new Rw;u.push({label:d(e),run:async()=>e.runAction(c)})}else Hw(r);let f=await s.pick(u,{title:Dw});f&&await f.run()}};async function Bw(e,t){let n=e.getValue(Wt.allowedCharacters),r;r=typeof n==`object`&&n?n:{};for(let e of t)r[String.fromCodePoint(e)]=!0;await e.updateValue(Wt.allowedCharacters,r,2)}async function Vw(e,t){let n=e.inspect(Wt.allowedLocales).user?.value,r;r=typeof n==`object`&&n?Object.assign({},n):{};for(let e of t)r[e]=!0;await e.updateValue(Wt.allowedLocales,r,2)}function Hw(e){throw Error(`Unexpected value: ${e}`)}Vo(Iw),Vo(Lw),Vo(Rw),Vo(zw),D(Cw.ID,Cw,1),eg.register(Ow);var Uw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ww=function(e,t){return function(n,r){t(n,r,e)}},Gw=`ignoreUnusualLineTerminators`;function Kw(e,t,n){e.setModelProperty(t.uri,Gw,n)}function qw(e,t){return e.getModelProperty(t.uri,Gw)}var Jw=class extends j{static{this.ID=`editor.contrib.unusualLineTerminatorsDetector`}constructor(e,t,n){super(),this._editor=e,this._dialogService=t,this._codeEditorService=n,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(143)&&(this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(e=>{e.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config===`off`||!this._editor.hasModel())return;let e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||qw(this._codeEditorService,e)===!0||this._editor.getOption(104))return;if(this._config===`auto`){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let t;try{this._isPresentingDialog=!0,t=await this._dialogService.confirm({title:K(1632,`Unusual Line Terminators`),message:K(1633,`Detected unusual line terminators`),detail:K(1634,`The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).
|
|
33
|
+
|
|
34
|
+
It is recommended to remove them from the file. This can be configured via \`editor.unusualLineTerminators\`.`,$n(e.uri)),primaryButton:K(1635,`&&Remove Unusual Line Terminators`),cancelButton:K(1636,`Ignore`)})}finally{this._isPresentingDialog=!1}t.confirmed?e.removeUnusualLineTerminators(this._editor.getSelections()):Kw(this._codeEditorService,e,!0)}};Jw=Uw([Ww(1,la),Ww(2,is)],Jw),D(Jw.ID,Jw,1);var Yw=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Xw=function(e,t){return function(n,r){t(n,r,e)}},Zw=class{constructor(){this.selector={language:`*`}}provideDocumentHighlights(e,t,n){if(e.isDisposed())return;let r=[],i=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return i?e.findMatches(i.word,!0,!1,!0,on,!1).map(e=>({range:e.range,kind:wa.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,n,r){if(e.isDisposed())return;let i=new Mo,a=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!a)return Promise.resolve(i);for(let t of[e,...n]){if(t.isDisposed())continue;let e=t.findMatches(a.word,!0,!1,!0,on,!1).map(e=>({range:e.range,kind:wa.Text}));e&&i.set(t.uri,e)}return i}},Qw=class extends j{constructor(e){super(),this._register(e.documentHighlightProvider.register(`*`,new Zw)),this._register(e.multiDocumentHighlightProvider.register(`*`,new Zw))}};Qw=Yw([Xw(0,q)],Qw);var $w=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},eT=function(e,t){return function(n,r){t(n,r,e)}},$,tT,nT=new W(`hasWordHighlights`,!1);function rT(e,t,n,r){let i=e.ordered(t);return _n(i.map(e=>()=>Promise.resolve(e.provideDocumentHighlights(t,n,r)).then(void 0,qr)),e=>e!=null).then(e=>{if(e){let n=new Mo;return n.set(t.uri,e),n}return new Mo})}function iT(e,t,n,r,i){let a=e.ordered(t);return _n(a.map(e=>()=>{let a=i.filter(e=>Jr(e)).filter(t=>In(e.selector,t.uri,t.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(e.provideMultiDocumentHighlights(t,n,a,r)).then(void 0,qr)}),e=>e!=null)}var aT=class{constructor(e,t,n){this._model=e,this._selection=t,this._wordSeparators=n,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||=ot(e=>this._compute(this._model,this._selection,this._wordSeparators,e)),this._result}_getCurrentWordRange(e,t){let n=e.getWordAtPosition(t.getPosition());return n?new J(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):null}cancel(){this.result.cancel()}},oT=class extends aT{constructor(e,t,n,r){super(e,t,n),this._providers=r}_compute(e,t,n,r){return rT(this._providers,e,t.getPosition(),r).then(e=>e||new Mo)}},sT=class extends aT{constructor(e,t,n,r,i){super(e,t,n),this._providers=r,this._otherModels=i}_compute(e,t,n,r){return iT(this._providers,e,t.getPosition(),r,this._otherModels).then(e=>e||new Mo)}};function cT(e,t,n,r){return new oT(t,n,r,e)}function lT(e,t,n,r,i){return new sT(t,n,r,e,i)}g(`_executeDocumentHighlights`,async(e,t,n)=>(await rT(e.get(q).documentHighlightProvider,t,n,w.None))?.get(t.uri));var uT=class{static{$=this}static{this.storedDecorationIDs=new Mo}static{this.query=null}constructor(e,t,n,r,i,a,o,s){this.toUnhook=new v,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Mo,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new Ft(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=n,this.codeEditorService=a,this.textModelService=i,this.configurationService=o,this.logService=s,this._hasWordHighlights=nT.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue(`editor.occurrencesHighlightDelay`),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(e=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!==`off`&&this.runDelayer.trigger(()=>{this._onPositionChanged(e)}).catch(Y)})),this.toUnhook.add(e.onDidFocusEditorText(e=>{this.occurrencesHighlightEnablement!==`off`&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(Y))})),this.toUnhook.add(e.onDidChangeModelContent(e=>{Xt(this.model.uri,`output`)||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(e=>{!e.newModelUrl&&e.oldModelUrl?this._stopSingular():$.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(e=>{let t=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==t)switch(this.occurrencesHighlightEnablement=t,t){case`off`:this._stopAll();break;case`singleFile`:this._stopAll($.query?.modelInfo?.modelURI);break;case`multiFile`:$.query&&this._run(!0);break;default:console.warn(`Unknown occurrencesHighlight setting value:`,t)}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`editor.occurrencesHighlightDelay`)){let e=o.getValue(`editor.occurrencesHighlightDelay`);this.occurrencesHighlightDelay!==e&&(this.occurrencesHighlightDelay=e)}})),this.toUnhook.add(e.onDidBlurEditorWidget(()=>{let e=this.codeEditorService.getFocusedCodeEditor();e?e.getModel()?.uri.scheme===xe.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==xe.vscodeNotebookCell&&this._stopAll():this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,$.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(e){this.occurrencesHighlightEnablement!==`off`&&(this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,e)}).catch(Y))}stop(){this.occurrencesHighlightEnablement!==`off`&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(J.compareRangesUsingStarts)}moveNext(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);To(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){let e=this._getSortedHighlights(),t=(e.findIndex(e=>e.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[t];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);let r=this._getWord();if(r){let i=this.editor.getModel().getLineContent(n.startLineNumber);To(`${i}, ${t+1} of ${e.length} for '${r.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;let e=$.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),$.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){let t=this.codeEditorService.listCodeEditors(),n=[];for(let r of t){if(!r.hasModel()||hr(r.getModel().uri,e))continue;let t=$.storedDecorationIDs.get(r.getModel().uri);if(!t)continue;r.removeDecorations(t),n.push(r.getModel().uri);let i=dT.get(r);i?.wordHighlighter&&i.wordHighlighter.decorations.length>0&&(i.wordHighlighter.decorations.clear(),i.wordHighlighter.workerRequest=null,i.wordHighlighter._hasWordHighlights.set(!1))}for(let e of n)$.storedDecorationIDs.delete(e)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==xe.vscodeNotebookCell&&$.query?.modelInfo?.modelURI.scheme!==xe.vscodeNotebookCell?($.query=null,this._run()):$.query?.modelInfo&&($.query.modelInfo=null)),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||=(this.workerRequestTokenId++,!0)}_onPositionChanged(e){this.occurrencesHighlightEnablement===`off`||e.source!==`api`&&e.reason!==3?this._stopAll():this._run()}_getWord(){let e=this.editor.getSelection(),t=e.startLineNumber,n=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:n})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===xe.vscodeNotebookCell){let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){let n=r.getModel();n&&n!==e&&n.uri.scheme===xe.vscodeNotebookCell&&t.push(n)}return t}let t=[],n=this.codeEditorService.listCodeEditors();for(let r of n){if(!_a(r))continue;let n=r.getModel();n&&e===n.modified&&t.push(n.modified)}if(t.length)return t;if(this.occurrencesHighlightEnablement===`singleFile`)return[];for(let r of n){let n=r.getModel();n&&n!==e&&t.push(n)}return t}async _run(e,t){if(this.editor.hasTextFocus()){let e=this.editor.getSelection();if(!e||e.startLineNumber!==e.endLineNumber){$.query=null,this._stopAll();return}let t=e.startColumn,n=e.endColumn,r=this._getWord();if(!r||r.startColumn>t||r.endColumn<n){$.query=null,this._stopAll();return}$.query={modelInfo:{modelURI:this.model.uri,selection:e}}}else if(!$.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),hr(this.editor.getModel().uri,$.query.modelInfo?.modelURI)){if(!e){let e=this.decorations.getRanges();for(let t of e)if(t.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model.uri:void 0);let n=++this.workerRequestTokenId;this.workerRequestCompleted=!1;let r=this.getOtherModelsToHighlight(this.editor.getModel());if(!$.query||!$.query.modelInfo)return;let i=await this.textModelService.createModelReference($.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(i.object.textEditorModel,$.query.modelInfo.selection,r),this.workerRequest?.result.then(e=>{n===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=e||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},Y)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{i.dispose()}}else if(this.model.uri.scheme===xe.vscodeNotebookCell){let e=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!$.query||!$.query.modelInfo)return;let n=await this.textModelService.createModelReference($.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(n.object.textEditorModel,$.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(n=>{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=n||[],this._beginRenderDecorations(t??this.occurrencesHighlightDelay))},Y)}catch(e){this.logService.error(`Unexpected error during occurrence request. Log: `,e)}finally{n.dispose()}}}computeWithModel(e,t,n){return n.length?lT(this.multiDocumentProviders,e,t,this.editor.getOption(148),n):cT(this.providers,e,t,this.editor.getOption(148))}_beginRenderDecorations(e){let t=new Date().getTime(),n=this.lastCursorPositionChangeTime+e;t>=n?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},n-t)}renderDecorations(){this.renderDecorationsTimer=void 0;let e=this.codeEditorService.listCodeEditors();for(let t of e){let e=dT.get(t);if(!e)continue;let n=[],r=t.getModel()?.uri;if(r&&this.workerRequestValue.has(r)){let i=$.storedDecorationIDs.get(r),a=this.workerRequestValue.get(r);if(a)for(let e of a)e.range&&n.push({range:e.range,options:cx(e.kind)});let o=[];t.changeDecorations(e=>{o=e.deltaDecorations(i??[],n)}),$.storedDecorationIDs=$.storedDecorationIDs.set(r,o),n.length>0&&(e.wordHighlighter?.decorations.set(n),e.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}};uT=$=$w([eT(4,Sn),eT(5,is),eT(6,fa),eT(7,Qe)],uT);var dT=class extends j{static{tT=this}static{this.ID=`editor.contrib.wordHighlighter`}static get(e){return e.getContribution(tT.ID)}constructor(e,t,n,r,i,a,o){super(),this._wordHighlighter=null;let s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&e.getModel().uri.scheme!==xe.accessibleView&&(this._wordHighlighter=new uT(e,n.documentHighlightProvider,n.multiDocumentHighlightProvider,t,i,r,a,o))};this._register(e.onDidChangeModel(e=>{this._wordHighlighter&&=(!e.newModelUrl&&e.oldModelUrl?.scheme!==xe.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore(250)}dispose(){this._wordHighlighter&&=(this._wordHighlighter.dispose(),null),super.dispose()}};dT=tT=$w([eT(1,G),eT(2,q),eT(3,is),eT(4,Sn),eT(5,fa),eT(6,Qe)],dT);var fT=class extends B{constructor(e,t){super(t),this._isNext=e}run(e,t){let n=dT.get(t);n&&(this._isNext?n.moveNext():n.moveBack())}},pT=class extends fT{constructor(){super(!0,{id:`editor.action.wordHighlight.next`,label:z(1646,`Go to Next Symbol Highlight`),precondition:nT,kbOpts:{kbExpr:H.editorTextFocus,primary:65,weight:100}})}},mT=class extends fT{constructor(){super(!1,{id:`editor.action.wordHighlight.prev`,label:z(1647,`Go to Previous Symbol Highlight`),precondition:nT,kbOpts:{kbExpr:H.editorTextFocus,primary:1089,weight:100}})}},hT=class extends B{constructor(){super({id:`editor.action.wordHighlight.trigger`,label:z(1648,`Trigger Symbol Highlight`),precondition:void 0,kbOpts:{kbExpr:H.editorTextFocus,primary:0,weight:100}})}run(e,t){let n=dT.get(t);n&&n.restoreViewState(!0)}};D(dT.ID,dT,0),y(pT),y(mT),y(hT),xn(Qw);var gT=class extends Bt{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){if(!t.hasModel())return;let r=hs(t.getOption(148),t.getOption(147)),i=t.getModel(),a=t.getSelections(),o=a.length>1,s=a.map(e=>{let t=new O(e.positionLineNumber,e.positionColumn),n=this._move(r,i,t,this._wordNavigationType,o);return this._moveTo(e,n,this._inSelectionMode)});if(i.pushStackElement(),t._getViewModel().setCursorStates(`moveWordCommand`,3,s.map(e=>Bn.fromModelSelection(e))),s.length===1){let e=new O(s[0].positionLineNumber,s[0].positionColumn);t.revealPosition(e,0)}}_moveTo(e,t,n){return n?new P(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new P(t.lineNumber,t.column,t.lineNumber,t.column)}},_T=class extends gT{_move(e,t,n,r,i){return gn.moveWordLeft(e,t,n,r,i)}},vT=class extends gT{_move(e,t,n,r,i){return gn.moveWordRight(e,t,n,r)}},yT=class extends _T{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartLeft`,precondition:void 0})}},bT=class extends _T{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndLeft`,precondition:void 0})}},xT=class extends _T{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:`cursorWordLeft`,precondition:void 0,kbOpts:{kbExpr:L.and(H.textInputFocus,L.and(go,Qr)?.negate()),primary:2063,mac:{primary:527},weight:100}})}},ST=class extends _T{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartLeftSelect`,precondition:void 0})}},CT=class extends _T{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndLeftSelect`,precondition:void 0})}},wT=class extends _T{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:`cursorWordLeftSelect`,precondition:void 0,kbOpts:{kbExpr:L.and(H.textInputFocus,L.and(go,Qr)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}},TT=class extends _T{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityLeft`,precondition:void 0})}_move(e,t,n,r,i){return super._move(hs(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},ET=class extends _T{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityLeftSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(hs(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},DT=class extends vT{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordStartRight`,precondition:void 0})}},OT=class extends vT{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordEndRight`,precondition:void 0,kbOpts:{kbExpr:L.and(H.textInputFocus,L.and(go,Qr)?.negate()),primary:2065,mac:{primary:529},weight:100}})}},kT=class extends vT{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordRight`,precondition:void 0})}},AT=class extends vT{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordStartRightSelect`,precondition:void 0})}},jT=class extends vT{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordEndRightSelect`,precondition:void 0,kbOpts:{kbExpr:L.and(H.textInputFocus,L.and(go,Qr)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}},MT=class extends vT{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordRightSelect`,precondition:void 0})}},NT=class extends vT{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:`cursorWordAccessibilityRight`,precondition:void 0})}_move(e,t,n,r,i){return super._move(hs(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},PT=class extends vT{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:`cursorWordAccessibilityRightSelect`,precondition:void 0})}_move(e,t,n,r,i){return super._move(hs(h.wordSeparators.defaultValue,e.intlSegmenterLocales),t,n,r,i)}},FT=class extends Bt{constructor(e){super({canTriggerInlineEdits:!0,...e}),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,n){let r=e?.get(os);if(!t.hasModel()||!r)return;let i=hs(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections(),s=t.getOption(10),c=t.getOption(15),l=r.getLanguageConfiguration(a.getLanguageId()).getAutoClosingPairs(),u=t._getViewModel(),d=o.map(e=>{let n=this._delete({wordSeparators:i,model:a,selection:e,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(13),autoClosingBrackets:s,autoClosingQuotes:c,autoClosingPairs:l,autoClosedCharacters:u.getCursorAutoClosedCharacters()},this._wordNavigationType);return new re(n,``)});t.pushUndoStop(),t.executeCommands(this.id,d),t.pushUndoStop()}},IT=class extends FT{_delete(e,t){return gn.deleteWordLeft(e,t)||new J(1,1,1,1)}},LT=class extends FT{_delete(e,t){let n=gn.deleteWordRight(e,t);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new J(r,i,r,i)}},RT=class extends IT{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartLeft`,precondition:H.writable})}},zT=class extends IT{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndLeft`,precondition:H.writable})}},BT=class extends IT{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordLeft`,precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},VT=class extends LT{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:`deleteWordStartRight`,precondition:H.writable})}},HT=class extends LT{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:`deleteWordEndRight`,precondition:H.writable})}},UT=class extends LT{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordRight`,precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},WT=class extends B{constructor(){super({id:`deleteInsideWord`,precondition:H.writable,label:z(1650,`Delete Word`),metadata:{description:z(1651,`Delete the word at the cursor`),args:[{name:`args`,schema:{type:`object`,properties:{onlyWord:{type:`boolean`,default:!1,description:K(1649,`Delete only the word and leave surrounding whitespace`)}}}}]}})}run(e,t,n){if(!t.hasModel())return;let r=!!(n&&typeof n==`object`&&n.onlyWord),i=hs(t.getOption(148),t.getOption(147)),a=t.getModel(),o=t.getSelections().map(e=>{let t=gn.deleteInsideWord(i,a,e,r);return new re(t,``)});t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}};x(new yT),x(new bT),x(new xT),x(new ST),x(new CT),x(new wT),x(new DT),x(new OT),x(new kT),x(new AT),x(new jT),x(new MT),x(new TT),x(new ET),x(new NT),x(new PT),x(new RT),x(new zT),x(new BT),x(new VT),x(new HT),x(new UT),y(WT);var GT=class extends FT{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:`deleteWordPartLeft`,precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){return As.deleteWordPartLeft(e)||new J(1,1,1,1)}},KT=class extends FT{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:`deleteWordPartRight`,precondition:H.writable,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){let n=As.deleteWordPartRight(e);if(n)return n;let r=e.model.getLineCount(),i=e.model.getLineMaxColumn(r);return new J(r,i,r,i)}},qT=class extends gT{_move(e,t,n,r,i){return As.moveWordPartLeft(e,t,n,i)}},JT=class extends qT{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:`cursorWordPartLeft`,precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};R.registerCommandAlias(`cursorWordPartStartLeft`,`cursorWordPartLeft`);var YT=class extends qT{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:`cursorWordPartLeftSelect`,precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};R.registerCommandAlias(`cursorWordPartStartLeftSelect`,`cursorWordPartLeftSelect`);var XT=class extends gT{_move(e,t,n,r,i){return As.moveWordPartRight(e,t,n)}},ZT=class extends XT{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:`cursorWordPartRight`,precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},QT=class extends XT{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:`cursorWordPartRightSelect`,precondition:void 0,kbOpts:{kbExpr:H.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};x(new GT),x(new KT),x(new JT),x(new YT),x(new ZT),x(new QT);var $T=`__monacoFindWidgetTabIndexPatchApplied`,eE=`__monacoFindWidgetOriginalTabIndex`;function tE(e,t){let n=e?._domNode;if(!n)return;let r=n.querySelectorAll(`input, textarea, [tabindex], [role="button"], [role="checkbox"]`);for(let e of r)if(e instanceof HTMLElement){if(t){if(!(eE in e.dataset))continue;let t=e.dataset[eE];t===``?e.removeAttribute(`tabindex`):e.tabIndex=Number(t),delete e.dataset[eE]}else eE in e.dataset||(e.dataset[eE]=e.getAttribute(`tabindex`)??``),e.tabIndex=-1}}if(!md[$T]){let e=md.prototype._reveal,t=md.prototype._hide;md.prototype._reveal=function(...t){e.apply(this,t),tE(this,!0)},md.prototype._hide=function(...e){t.apply(this,e),tE(this,!1)},md[$T]=!0}export{jo as MarkerSeverity,Na as Uri,mo as editor,Ji as languages};
|